Files
ayanova7/source/ri/ri/Models/ShowAllUnitCSRCriteriaModel.cs
2018-06-29 19:47:36 +00:00

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