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

125 lines
5.6 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 ShowAllClientWOCriteriaModel
{
public Guid objectId { get; set; }
public string objectName { get; set; }
public string maxRecords { get; set; }
public bool filter { get; set; }
public string serviceCompleted { get; set; }
public string closed { get; set; }
public Guid workorderStatus { get; set; }
public string serviceDateRange { get; set; }
public ShowAllClientWOCriteriaModel()
{
maxRecords = "25";
filter = false;
closed = PickListFactory.JQUICompliantEmptySelectionCharacter;
serviceDateRange = "*";
serviceCompleted = PickListFactory.JQUICompliantEmptySelectionCharacter;
}
public WorkorderServiceList list()
{
StringBuilder sb = new StringBuilder();
if (filter)
{
//APPLY FILTER
//OPEN XML
sb.Append(
"<?xml version=\"1.0\" encoding=\"utf-16\" standalone=\"yes\"?> \r\n" +
"<GRIDCRITERIA> \r\n");
//ORDER BY
sb.AppendLine(
" <COLUMNITEM CM=\"aWorkorderService.aServiceDate\" UI=\"LT_WorkorderService_Label_ServiceDate\" SORT=\"DESC\" /> \r\n" +
" <COLUMNITEM CM=\"aWorkorderService.aServiceNumber\" UI=\"LT_O_Workorder\" /> "
);
//Client Id
sb.Append(
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_O_Client\"> \r\n" +
" <WHEREITEM COMPAREOPERATOR=\"Equals\" CM=\"aClient.aID\" TYPE=\"System.Guid\" COMPAREVALUE=\"" +
AyaBizUtils.GuidToString(objectId) + "\" /> \r\n" +
" </WHEREITEMGROUP> \r\n");
//Workorder status
if (workorderStatus != Guid.Empty)
sb.Append(
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_O_WorkorderStatus\"> \r\n" +
" <WHEREITEM COMPAREOPERATOR=\"Equals\" CM=\"aWorkorderService.aWorkorderStatusID\" TYPE=\"System.Guid\" COMPAREVALUE=\"" +
AyaBizUtils.GuidToString(workorderStatus) + "\" /> \r\n" +
" </WHEREITEMGROUP> \r\n");
//Service date
if (serviceDateRange != "*")//* means no selection
sb.Append(
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_WorkorderService_Label_ServiceDate\"> \r\n" +
" <WHEREITEM COMPAREOPERATOR=\"Custom\" CM=\"aWorkorderService.aServiceDate\" UI=\"LT_WorkorderService_Label_ServiceDate\" TYPE=\"System.Object\" UICOMPAREVALUE=\"\" COMPAREVALUE=\"" + serviceDateRange + "\" /> \r\n" +
" </WHEREITEMGROUP> \r\n");
//Service completed
if (serviceCompleted != PickListFactory.JQUICompliantEmptySelectionCharacter)
sb.Append(
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_Workorder_Label_ServiceCompleted\"> \r\n" +
" <WHEREITEM COMPAREOPERATOR=\"Equals\" CM=\"aWorkorder.aServiceCompleted\" UI=\"LT_Workorder_Label_ServiceCompleted\" TYPE=\"System.Boolean\" UICOMPAREVALUE=\"\" COMPAREVALUE=\"" + serviceCompleted + "\" /> \r\n" +
" </WHEREITEMGROUP> \r\n");
//Closed
if (closed != PickListFactory.JQUICompliantEmptySelectionCharacter)
sb.Append(
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_Workorder_Label_Closed\"> \r\n" +
" <WHEREITEM COMPAREOPERATOR=\"Equals\" CM=\"aWorkorder.aClosed\" UI=\"LT_Workorder_Label_Closed\" TYPE=\"System.Boolean\" UICOMPAREVALUE=\"\" COMPAREVALUE=\"" + closed + "\" /> \r\n" +
" </WHEREITEMGROUP> \r\n");
//CLOSE XML
sb.AppendLine("</GRIDCRITERIA> ");
WorkorderServiceList l = WorkorderServiceList.GetList(sb.ToString(), int.Parse(maxRecords));
return l;
}
else
{
//ONLY FILTER BY CLIENT ID
//OPEN XML
sb.Append(
"<?xml version=\"1.0\" encoding=\"utf-16\" standalone=\"yes\"?> \r\n" +
"<GRIDCRITERIA> \r\n");
//ORDER BY
sb.AppendLine(
" <COLUMNITEM CM=\"aWorkorderService.aServiceDate\" UI=\"LT_WorkorderService_Label_ServiceDate\" SORT=\"DESC\" /> \r\n" +
" <COLUMNITEM CM=\"aWorkorderService.aServiceNumber\" UI=\"LT_O_Workorder\" /> "
);
//Client Id
sb.Append(
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_O_Client\"> \r\n" +
" <WHEREITEM COMPAREOPERATOR=\"Equals\" CM=\"aClient.aID\" TYPE=\"System.Guid\" COMPAREVALUE=\"" +
AyaBizUtils.GuidToString(objectId) + "\" /> \r\n" +
" </WHEREITEMGROUP> \r\n");
//CLOSE XML
sb.AppendLine("</GRIDCRITERIA> ");
WorkorderServiceList l = WorkorderServiceList.GetList(sb.ToString(), int.Parse(maxRecords));
return l;
}
}
//eoc
}
}