125 lines
5.6 KiB
C#
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
|
|
}
|
|
} |