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

189 lines
9.2 KiB
C#

using System;
using System.Text;
using GZTW.AyaNova.BLL;
namespace ri.Models
{
/// <summary>
/// This class contains the criteria used for customer portal show all workorders
/// feature so it can be passed around between pages etc
/// </summary>
public class ShowAllCustomerWOCriteriaModel
{
public bool headOffice { get; set; }
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 Guid unitID { get; set; }
public Guid clientID { get; set; }
public ShowAllCustomerWOCriteriaModel()
{
maxRecords = "25";
filter = false;
headOffice = false;
closed = PickListFactory.JQUICompliantEmptySelectionCharacter;
serviceDateRange = "*";
serviceCompleted = PickListFactory.JQUICompliantEmptySelectionCharacter;
unitID = Guid.Empty;
clientID = Guid.Empty;
}
public WorkorderServiceListRI 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
if (headOffice)
sb.AppendLine(" <COLUMNITEM CM=\"aClient.aName\" UI=\"LT_O_Client\" SORT=\"ASC\" /> ");
sb.AppendLine(
" <COLUMNITEM CM=\"aWorkorderService.aServiceDate\" UI=\"LT_WorkorderService_Label_ServiceDate\" SORT=\"DESC\" /> \r\n" +
" <COLUMNITEM CM=\"aWorkorderService.aServiceNumber\" UI=\"LT_O_Workorder\" /> "
);
////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\" /> "
// );
//HEADOFFICE
if (headOffice)
{
//<WHEREITEMGROUP GROUPLOGICALOPERATOR="And" UI="LT_O_HeadOffice">
// <WHEREITEM COMPAREOPERATOR="Equals" CM="aClient.aHeadOfficeID" UICOMPAREVALUE="Molly's Bakery" TYPE="System.Guid" COMPAREVALUE="{2BEB9FF6-4EC0-4F4F-8F69-6292A8D69275}" />
//</WHEREITEMGROUP>
sb.Append(
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_O_HeadOffice\"> \r\n" +
" <WHEREITEM COMPAREOPERATOR=\"Equals\" CM=\"aClient.aHeadOfficeID\" TYPE=\"System.Guid\" COMPAREVALUE=\"" +
AyaBizUtils.GuidToString(objectId) + "\" /> \r\n" +
" </WHEREITEMGROUP> \r\n");
//specific client?
if (clientID != Guid.Empty)
{
sb.Append(
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_O_Client\"> \r\n" +
" <WHEREITEM COMPAREOPERATOR=\"Equals\" CM=\"aClient.aID\" TYPE=\"System.Guid\" COMPAREVALUE=\"" +
AyaBizUtils.GuidToString(clientID) + "\" /> \r\n" +
" </WHEREITEMGROUP> \r\n");
}
}
else//CLIENT
{
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> ");
WorkorderServiceListRI l = WorkorderServiceListRI.GetList(sb.ToString(), unitID, 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
if (headOffice)
sb.AppendLine(" <COLUMNITEM CM=\"aClient.aName\" UI=\"LT_O_Client\" SORT=\"ASC\" /> ");
sb.AppendLine(
" <COLUMNITEM CM=\"aWorkorderService.aServiceDate\" UI=\"LT_WorkorderService_Label_ServiceDate\" SORT=\"DESC\" /> \r\n" +
" <COLUMNITEM CM=\"aWorkorderService.aServiceNumber\" UI=\"LT_O_Workorder\" /> "
);
//HEADOFFICE
if (headOffice)
{
//<WHEREITEMGROUP GROUPLOGICALOPERATOR="And" UI="LT_O_HeadOffice">
// <WHEREITEM COMPAREOPERATOR="Equals" CM="aClient.aHeadOfficeID" UICOMPAREVALUE="Molly's Bakery" TYPE="System.Guid" COMPAREVALUE="{2BEB9FF6-4EC0-4F4F-8F69-6292A8D69275}" />
//</WHEREITEMGROUP>
sb.Append(
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_O_HeadOffice\"> \r\n" +
" <WHEREITEM COMPAREOPERATOR=\"Equals\" CM=\"aClient.aHeadOfficeID\" TYPE=\"System.Guid\" COMPAREVALUE=\"" +
AyaBizUtils.GuidToString(objectId) + "\" /> \r\n" +
" </WHEREITEMGROUP> \r\n");
}
else//CLIENT
{
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");
}
////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> ");
WorkorderServiceListRI l = WorkorderServiceListRI.GetList(sb.ToString(), unitID, int.Parse(maxRecords));
return l;
}
}
//eoc
}
}