156 lines
7.0 KiB
C#
156 lines
7.0 KiB
C#
using System;
|
|
using System.Text;
|
|
using GZTW.AyaNova.BLL;
|
|
|
|
namespace ri.Models
|
|
{
|
|
/// <summary>
|
|
/// This class contains the criteria used for Show All feature
|
|
/// so it can be passed around between pages etc
|
|
/// </summary>
|
|
public class ShowAllUnitCSRCriteriaModel
|
|
{
|
|
public Guid objectId { get; set; }
|
|
public string objectName { get; set; }
|
|
public string maxRecords { get; set; }
|
|
public bool filter { get; set; }
|
|
|
|
//CSR specific criteria
|
|
//created
|
|
//csr state
|
|
//priority
|
|
//unit
|
|
|
|
public string createdDateRange { get; set; }
|
|
public string csrStatus { get; set; }//is an enum
|
|
public string csrPriority { get; set; }//is an enum
|
|
public Guid csrUnitId { get; set; }
|
|
|
|
public ShowAllUnitCSRCriteriaModel()
|
|
{
|
|
maxRecords = "25";
|
|
filter = false;
|
|
csrStatus = "-1";//already has a zero enum so need -1 to show not selected at all
|
|
csrPriority = "-1";//ditto
|
|
createdDateRange = "*";
|
|
//csrUnitId = Guid.Empty;
|
|
|
|
}
|
|
|
|
public ClientServiceRequestList list()
|
|
{
|
|
StringBuilder sb = new StringBuilder();
|
|
if (filter)
|
|
{
|
|
//APPLY FILTER
|
|
|
|
|
|
|
|
//" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_Common_Label_Created\"> \r\n" +
|
|
//" <WHEREITEM COMPAREOPERATOR=\"Custom\" CM=\"aClientServiceRequest.aCreated\" UI=\"LT_Common_Label_Created\" TYPE=\"System.Object\" UICOMPAREVALUE=\"\" COMPAREVALUE=\"[THIS MONTH]\" /> \r\n" +
|
|
//" </WHEREITEMGROUP> \r\n" +
|
|
|
|
|
|
//" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_Unit_Label_Serial\"> \r\n" +
|
|
//" <WHEREITEM COMPAREOPERATOR=\"Equals\" CM=\"ACLIENTSERVICEREQUEST.AUNITID\" UICOMPAREVALUE=\"HP / Compaq: Business Desktop Dc5100 - 5642d34f4\" TYPE=\"System.Guid\" COMPAREVALUE=\"{866AB7EF-F73A-4DB4-81E6-D2199960474A}\" /> \r\n" +
|
|
//" </WHEREITEMGROUP> " +
|
|
|
|
//" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_ClientServiceRequest_Label_Status\"> \r\n" +
|
|
//" <WHEREITEM COMPAREOPERATOR=\"Equals\" CM=\"aClientServiceRequest.aStatus\" UI=\"LT_ClientServiceRequest_Label_Status\" TYPE=\"System.Int32\" UICOMPAREVALUE=\"\" COMPAREVALUE=\"1\" /> \r\n" +
|
|
//" </WHEREITEMGROUP> \r\n" +
|
|
|
|
//" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_ClientServiceRequest_Label_Priority\"> \r\n" +
|
|
//" <WHEREITEM COMPAREOPERATOR=\"Equals\" CM=\"aClientServiceRequest.aPriority\" UI=\"LT_ClientServiceRequest_Label_Priority\" TYPE=\"System.Int32\" UICOMPAREVALUE=\"\" COMPAREVALUE=\"1\" /> \r\n" +
|
|
//" </WHEREITEMGROUP> \r\n" +
|
|
//"</GRIDCRITERIA> "
|
|
|
|
|
|
//OPEN XML
|
|
sb.Append(
|
|
"<?xml version=\"1.0\" encoding=\"utf-16\" standalone=\"yes\"?> \r\n" +
|
|
"<GRIDCRITERIA> \r\n");
|
|
|
|
//ORDER BY
|
|
sb.AppendLine(
|
|
" <COLUMNITEM CM=\"aClientServiceRequest.aCreated\" UI=\"LT_Common_Label_Created\" SORT=\"DESC\" /> \r\n"
|
|
);
|
|
|
|
//Client Id
|
|
//CSR list is different, specify client id in GET method of list instead of xml criteria filter
|
|
|
|
//Created date
|
|
if (createdDateRange != "*")//* means no selection
|
|
sb.Append(
|
|
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_Common_Label_Created\"> \r\n" +
|
|
" <WHEREITEM COMPAREOPERATOR=\"Custom\" CM=\"aClientServiceRequest.aCreated\" UI=\"LT_Common_Label_Created\" TYPE=\"System.Object\" UICOMPAREVALUE=\"\" COMPAREVALUE=\"" +
|
|
createdDateRange + "\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n");
|
|
|
|
//CSR status
|
|
if (csrStatus != "-1")
|
|
sb.Append(
|
|
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_ClientServiceRequest_Label_Status\"> \r\n" +
|
|
" <WHEREITEM COMPAREOPERATOR=\"Equals\" CM=\"aClientServiceRequest.aStatus\" TYPE=\"System.Int32\" COMPAREVALUE=\"" +
|
|
csrStatus + "\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n");
|
|
|
|
if (csrPriority != "-1")
|
|
sb.Append(
|
|
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_ClientServiceRequest_Label_Priority\"> \r\n" +
|
|
" <WHEREITEM COMPAREOPERATOR=\"Equals\" CM=\"aClientServiceRequest.aPriority\" TYPE=\"System.Int32\" COMPAREVALUE=\"" +
|
|
csrPriority + "\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n");
|
|
|
|
|
|
//Unit Id
|
|
if (csrUnitId != Guid.Empty)
|
|
sb.Append(
|
|
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_Unit_Label_Serial\"> \r\n" +
|
|
" <WHEREITEM COMPAREOPERATOR=\"Equals\" CM=\"ACLIENTSERVICEREQUEST.AUNITID\" TYPE=\"System.Guid\" COMPAREVALUE=\"" +
|
|
AyaBizUtils.GuidToString(csrUnitId) + "\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n");
|
|
|
|
|
|
//CLOSE XML
|
|
sb.AppendLine("</GRIDCRITERIA> ");
|
|
|
|
ClientServiceRequestList l = ClientServiceRequestList.GetList(sb.ToString(), int.Parse(maxRecords));
|
|
return l;
|
|
}
|
|
else
|
|
{
|
|
//OPEN XML
|
|
sb.Append(
|
|
"<?xml version=\"1.0\" encoding=\"utf-16\" standalone=\"yes\"?> \r\n" +
|
|
"<GRIDCRITERIA> \r\n");
|
|
|
|
//ORDER BY
|
|
sb.AppendLine(
|
|
" <COLUMNITEM CM=\"aClientServiceRequest.aStatus\" UI=\"LT_ClientServiceRequest_Label_Status\" SORT=\"ASC\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aClientServiceRequest.aPriority\" UI=\"LT_ClientServiceRequest_Label_Priority\" /> \r\n"
|
|
);
|
|
|
|
sb.Append(
|
|
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_Unit_Label_Serial\"> \r\n" +
|
|
" <WHEREITEM COMPAREOPERATOR=\"Equals\" CM=\"ACLIENTSERVICEREQUEST.AUNITID\" TYPE=\"System.Guid\" COMPAREVALUE=\"" +
|
|
AyaBizUtils.GuidToString(csrUnitId) + "\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n");
|
|
|
|
//CLOSE XML
|
|
sb.AppendLine("</GRIDCRITERIA> ");
|
|
ClientServiceRequestList l = ClientServiceRequestList.GetList(sb.ToString(), int.Parse(maxRecords));
|
|
return l;
|
|
}
|
|
}
|
|
|
|
//eoc
|
|
}
|
|
}
|
|
|
|
|
|
#region grid criteria xml sample
|
|
//<WHEREITEMGROUP GROUPLOGICALOPERATOR="And" UI="LT_Unit_Label_Serial">
|
|
// <WHEREITEM COMPAREOPERATOR="Equals" CM="ACLIENTSERVICEREQUEST.AUNITID" UICOMPAREVALUE="3COM: OfficeConnect Ethernet Hub 16C - 3C4564322" TYPE="System.Guid" COMPAREVALUE="{F1EC6491-3302-4E28-85CE-F464E6BCE717}" />
|
|
//</WHEREITEMGROUP>
|
|
#endregion
|