620 lines
44 KiB
C#
620 lines
44 KiB
C#
///////////////////////////////////////////////////////////
|
|
// DashBoardInfo.cs
|
|
// Implementation of Class DashBoardInfo
|
|
// CSLA type: Read-only object
|
|
// Created on: 09-Jan-2012
|
|
// Object design: John / Joyce
|
|
// Coded: John 09-Jan-2012
|
|
///////////////////////////////////////////////////////////
|
|
|
|
using System;
|
|
using System.Data;
|
|
using CSLA.Data;
|
|
using GZTW.Data;
|
|
using CSLA;
|
|
using System.Threading;
|
|
using CSLA.Security;
|
|
using System.Collections.Generic;
|
|
|
|
namespace GZTW.AyaNova.BLL
|
|
{
|
|
#pragma warning disable 1591
|
|
/// <summary>
|
|
/// Fetches all information for Dashboard form / page
|
|
/// </summary>
|
|
[Serializable]
|
|
public class DashBoardInfo : ReadOnlyBase
|
|
{
|
|
private const int DASHBOARDMAXLISTITEMS = 3;//List items plus one more for the More... item
|
|
/// <summary>
|
|
/// Private constructor to prevent direct instantiation
|
|
/// </summary>
|
|
private DashBoardInfo()
|
|
{
|
|
ListCriteria = new Dictionary<string, string>(10);
|
|
myOverdueList = new List<DashBoardInfoItem>(DASHBOARDMAXLISTITEMS + 1);
|
|
myNewMemosList = new List<DashBoardInfoItem>(DASHBOARDMAXLISTITEMS + 1);
|
|
myRemindersList = new List<DashBoardInfoItem>(DASHBOARDMAXLISTITEMS + 1);
|
|
myServiceRateSummaryList = new List<DashBoardInfoItem>(DASHBOARDMAXLISTITEMS + 1);
|
|
myScheduledList = new List<DashBoardInfoItem>(DASHBOARDMAXLISTITEMS + 1);
|
|
|
|
compOverdueList = new List<DashBoardInfoItem>(DASHBOARDMAXLISTITEMS + 1);
|
|
compNotAssignedList = new List<DashBoardInfoItem>(DASHBOARDMAXLISTITEMS + 1);
|
|
compServiceRequestsList = new List<DashBoardInfoItem>(DASHBOARDMAXLISTITEMS + 1);
|
|
compServiceRateSummaryList = new List<DashBoardInfoItem>(DASHBOARDMAXLISTITEMS + 1);
|
|
compScheduledList = new List<DashBoardInfoItem>(DASHBOARDMAXLISTITEMS + 1);
|
|
}
|
|
|
|
#region props
|
|
|
|
public string CurrentUserNameFormatted { get; private set; }
|
|
public string CurrentCompanyOrRegionName { get; private set; }
|
|
public Dictionary<string,string> ListCriteria { get; private set; }
|
|
|
|
#region "My" properties
|
|
public bool HasMyOverdueList { get { return myOverdueList.Count > 0; } }
|
|
public bool HasMyNewMemoList { get { return myNewMemosList.Count > 0; } }
|
|
public bool HasMyReminderList { get { return myRemindersList.Count > 0; } }
|
|
public bool HasMyServiceRateSummaryList { get { return myServiceRateSummaryList.Count > 0; } }
|
|
public bool HasMyScheduledList { get { return myScheduledList.Count > 0; } }
|
|
|
|
/// <summary>
|
|
/// Should the "my" panel be shown
|
|
/// </summary>
|
|
public bool MyPanelVisible
|
|
{
|
|
get
|
|
{
|
|
return (HasMyOverdueList || HasMyNewMemoList || HasMyReminderList || HasMyScheduledList || HasMyServiceRateSummaryList);
|
|
}
|
|
}
|
|
|
|
public List<DashBoardInfoItem> myOverdueList { get; private set; }
|
|
public List<DashBoardInfoItem> myNewMemosList { get; private set; }
|
|
public List<DashBoardInfoItem> myRemindersList { get; private set; }
|
|
public List<DashBoardInfoItem> myServiceRateSummaryList { get; private set; }
|
|
public List<DashBoardInfoItem> myScheduledList { get; private set; }
|
|
#endregion "my" props
|
|
|
|
#region "Comp" properties
|
|
public bool HasCompOverdueList { get { return compOverdueList.Count > 0; } }
|
|
public bool HasCompNotAssignedList { get { return compNotAssignedList.Count > 0; } }
|
|
public bool HasCompServiceRequestList { get { return compServiceRequestsList.Count > 0; } }
|
|
public bool HasCompServiceRateSummaryList { get { return compServiceRateSummaryList.Count > 0; } }
|
|
public bool HasCompScheduledList { get { return compScheduledList.Count > 0; } }
|
|
|
|
/// <summary>
|
|
/// Should the "Company / Region" panel be shown
|
|
/// </summary>
|
|
public bool CompPanelVisible
|
|
{
|
|
get
|
|
{
|
|
return (HasCompOverdueList || HasCompNotAssignedList || HasCompServiceRequestList || HasCompScheduledList || HasCompServiceRateSummaryList);
|
|
}
|
|
}
|
|
|
|
public List<DashBoardInfoItem> compOverdueList { get; private set; }
|
|
public List<DashBoardInfoItem> compNotAssignedList { get; private set; }
|
|
public List<DashBoardInfoItem> compServiceRequestsList { get; private set; }
|
|
public List<DashBoardInfoItem> compServiceRateSummaryList { get; private set; }
|
|
public List<DashBoardInfoItem> compScheduledList { get; private set; }
|
|
#endregion "comp" props
|
|
|
|
#endregion props
|
|
|
|
public static DashBoardInfo Get(string More)
|
|
{
|
|
bool FetchScheduleableUserInfo = true;
|
|
if (User.IsAdmin) FetchScheduleableUserInfo = false;
|
|
if (User.CurrentUserType != UserTypes.Schedulable)
|
|
FetchScheduleableUserInfo = false;
|
|
|
|
DashBoardInfo di = new DashBoardInfo();
|
|
DashBoardInfoItem MoreItem = new DashBoardInfoItem(RootObjectTypes.Nothing, Guid.Empty, More);
|
|
|
|
|
|
di.CurrentUserNameFormatted = UserPickList.GetListOfOneSpecificUser(User.CurrentThreadUserID)[0].Name;
|
|
di.CurrentCompanyOrRegionName = AyaBizUtils.REGTO;
|
|
if (!User.CurrentUserIsInDefaultRegion)
|
|
di.CurrentCompanyOrRegionName = NameFetcher.GetItem(new TypeAndID(RootObjectTypes.Region, User.CurrentUserRegionID)).RecordName;
|
|
|
|
|
|
#region "My" lists
|
|
|
|
if (FetchScheduleableUserInfo)
|
|
{
|
|
if (AyaBizUtils.Right("Object.WorkorderService") > (int)SecurityLevelTypes.NoAccess)
|
|
{
|
|
#region My overdue
|
|
{
|
|
string crit = "<?xml version=\"1.0\" encoding=\"utf-16\" standalone=\"yes\"?> \r\n" +
|
|
"<GRIDCRITERIA> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderItemScheduledUser.aStartDate\" UI=\"LT_WorkorderItemScheduledUser_Label_StartDate\" PIN=\"0\" WIDTH=\"210\" SORT=\"ASC\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aUser.aLastName\" UI=\"LT_WorkorderItemScheduledUser_Label_UserID\" PIN=\"0\" WIDTH=\"242\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderService.aServiceNumber\" UI=\"LT_O_Workorder\" PIN=\"0\" WIDTH=\"100\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aPriority.aName\" UI=\"LT_WorkorderItem_Label_PriorityID\" PIN=\"0\" WIDTH=\"148\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aDispatchZone.aName\" UI=\"LT_O_DispatchZone\" PIN=\"0\" WIDTH=\"120\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorder.aServiceCompleted\" UI=\"LT_Workorder_Label_ServiceCompleted\" PIN=\"0\" WIDTH=\"143\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aUnit.aSerial\" UI=\"LT_Unit_Label_Serial\" PIN=\"0\" WIDTH=\"120\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorder.aOnsite\" UI=\"LT_Workorder_Label_Onsite\" PIN=\"0\" WIDTH=\"80\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderItemStatus.aName\" UI=\"LT_WorkorderItem_Label_WorkorderStatusID\" PIN=\"0\" WIDTH=\"158\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderService.aServiceDate\" UI=\"LT_WorkorderService_Label_ServiceDate\" PIN=\"0\" WIDTH=\"112\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aClient.aName\" UI=\"LT_O_Client\" PIN=\"0\" WIDTH=\"76\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderItemScheduledUser.aStopDate\" UI=\"LT_WorkorderItemScheduledUser_Label_StopDate\" PIN=\"0\" WIDTH=\"136\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderItem.aSummary\" UI=\"LT_WorkorderItem_Label_Summary\" PIN=\"0\" WIDTH=\"121\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorder.aClosed\" UI=\"LT_Workorder_Label_Closed\" PIN=\"0\" WIDTH=\"82\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aUnitModel.aName\" UI=\"LT_O_UnitModel\" PIN=\"0\" WIDTH=\"101\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aRate.aName\" UI=\"LT_WorkorderItemScheduledUser_Label_ServiceRateID\" PIN=\"0\" WIDTH=\"124\" /> \r\n" +
|
|
" <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=\"False\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n" +
|
|
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_WorkorderItemScheduledUser_Label_UserID\"> \r\n" +
|
|
" <WHEREITEM COMPAREOPERATOR=\"Equals\" CM=\"aWorkorderItemScheduledUser.aUserID\" UICOMPAREVALUE=\"" + di.CurrentUserNameFormatted + "\" TYPE=\"System.Guid\" COMPAREVALUE=\"{" + User.CurrentThreadUserID.ToString().ToUpper() + "}\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n" +
|
|
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_WorkorderItemScheduledUser_Label_StartDate\"> \r\n" +
|
|
" <WHEREITEM COMPAREOPERATOR=\"NotEquals\" CM=\"aWorkorderItemScheduledUser.aStartDate\" UI=\"LT_WorkorderItemScheduledUser_Label_StartDate\" TYPE=\"System.Object\" UICOMPAREVALUE=\"\" COMPAREVALUE=\"\" /> \r\n" +
|
|
|
|
" <WHEREITEM COMPAREOPERATOR=\"LessThanOrEqualTo\" CM=\"aWorkorderItemScheduledUser.aStartDate\" UI=\"LT_WorkorderItemScheduledUser_Label_StartDate\" TYPE=\"System.Object\" UICOMPAREVALUE=\"\" COMPAREVALUE=\"" + DBUtil.CurrentWorkingDateTime.ToString() + "\" /> \r\n" +
|
|
|
|
" </WHEREITEMGROUP> \r\n" +
|
|
"</GRIDCRITERIA> ";
|
|
|
|
|
|
|
|
|
|
string critSub = " <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=\"False\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n" +
|
|
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_WorkorderItemScheduledUser_Label_UserID\"> \r\n" +
|
|
" <WHEREITEM COMPAREOPERATOR=\"Equals\" CM=\"aWorkorderItemScheduledUser.aUserID\" UICOMPAREVALUE=\"" + di.CurrentUserNameFormatted + "\" TYPE=\"System.Guid\" COMPAREVALUE=\"{" + User.CurrentThreadUserID.ToString().ToUpper() + "}\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n" +
|
|
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_WorkorderItemScheduledUser_Label_StartDate\"> \r\n" +
|
|
" <WHEREITEM COMPAREOPERATOR=\"NotEquals\" CM=\"aWorkorderItemScheduledUser.aStartDate\" UI=\"LT_WorkorderItemScheduledUser_Label_StartDate\" TYPE=\"System.Object\" UICOMPAREVALUE=\"\" COMPAREVALUE=\"\" /> \r\n" +
|
|
" <WHEREITEM COMPAREOPERATOR=\"LessThanOrEqualTo\" CM=\"aWorkorderItemScheduledUser.aStartDate\" UI=\"LT_WorkorderItemScheduledUser_Label_StartDate\" TYPE=\"System.Object\" UICOMPAREVALUE=\"\" COMPAREVALUE=\"" + DBUtil.CurrentWorkingDateTime.ToString() + "\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n";
|
|
di.ListCriteria.Add("MyOverdue", critSub);//used to filter grid list in UI when user clicks More... list item
|
|
WorkorderServiceScheduledUserList l = WorkorderServiceScheduledUserList.Get(crit, DASHBOARDMAXLISTITEMS, null);
|
|
if (l.Count > 0)
|
|
{
|
|
int max = Max(l.Count);
|
|
for (int x = 0; x < max; x++)
|
|
{
|
|
di.myOverdueList.Add(new DashBoardInfoItem(l[x]));
|
|
}
|
|
if (l.Count == DASHBOARDMAXLISTITEMS)
|
|
di.myOverdueList.Add(MoreItem);
|
|
}
|
|
}
|
|
#endregion my overdue
|
|
|
|
#region My Scheduled items list
|
|
{
|
|
string crit = "<?xml version=\"1.0\" encoding=\"utf-16\" standalone=\"yes\"?> \r\n" +
|
|
"<GRIDCRITERIA> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderItemScheduledUser.aStartDate\" UI=\"LT_WorkorderItemScheduledUser_Label_StartDate\" PIN=\"0\" WIDTH=\"210\" SORT=\"ASC\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aUser.aLastName\" UI=\"LT_WorkorderItemScheduledUser_Label_UserID\" PIN=\"0\" WIDTH=\"242\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderService.aServiceNumber\" UI=\"LT_O_Workorder\" PIN=\"0\" WIDTH=\"100\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aPriority.aName\" UI=\"LT_WorkorderItem_Label_PriorityID\" PIN=\"0\" WIDTH=\"148\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aDispatchZone.aName\" UI=\"LT_O_DispatchZone\" PIN=\"0\" WIDTH=\"120\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorder.aServiceCompleted\" UI=\"LT_Workorder_Label_ServiceCompleted\" PIN=\"0\" WIDTH=\"143\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aUnit.aSerial\" UI=\"LT_Unit_Label_Serial\" PIN=\"0\" WIDTH=\"120\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorder.aOnsite\" UI=\"LT_Workorder_Label_Onsite\" PIN=\"0\" WIDTH=\"80\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderItemStatus.aName\" UI=\"LT_WorkorderItem_Label_WorkorderStatusID\" PIN=\"0\" WIDTH=\"158\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderService.aServiceDate\" UI=\"LT_WorkorderService_Label_ServiceDate\" PIN=\"0\" WIDTH=\"112\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aClient.aName\" UI=\"LT_O_Client\" PIN=\"0\" WIDTH=\"76\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderItemScheduledUser.aStopDate\" UI=\"LT_WorkorderItemScheduledUser_Label_StopDate\" PIN=\"0\" WIDTH=\"136\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderItem.aSummary\" UI=\"LT_WorkorderItem_Label_Summary\" PIN=\"0\" WIDTH=\"121\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorder.aClosed\" UI=\"LT_Workorder_Label_Closed\" PIN=\"0\" WIDTH=\"82\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aUnitModel.aName\" UI=\"LT_O_UnitModel\" PIN=\"0\" WIDTH=\"101\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aRate.aName\" UI=\"LT_WorkorderItemScheduledUser_Label_ServiceRateID\" PIN=\"0\" WIDTH=\"124\" /> \r\n" +
|
|
" <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=\"False\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n" +
|
|
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_WorkorderItemScheduledUser_Label_UserID\"> \r\n" +
|
|
" <WHEREITEM COMPAREOPERATOR=\"Equals\" CM=\"aWorkorderItemScheduledUser.aUserID\" UICOMPAREVALUE=\"" + di.CurrentUserNameFormatted + "\" TYPE=\"System.Guid\" COMPAREVALUE=\"{" + User.CurrentThreadUserID.ToString().ToUpper() + "}\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n" +
|
|
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_WorkorderItemScheduledUser_Label_StartDate\"> \r\n" +
|
|
" <WHEREITEM COMPAREOPERATOR=\"GreaterThan\" CM=\"aWorkorderItemScheduledUser.aStartDate\" UI=\"LT_WorkorderItemScheduledUser_Label_StartDate\" TYPE=\"System.Object\" UICOMPAREVALUE=\"\" COMPAREVALUE=\"" + DBUtil.CurrentWorkingDateTime.ToString() + "\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n" +
|
|
"</GRIDCRITERIA> ";
|
|
|
|
string critSub = " <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=\"False\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n" +
|
|
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_WorkorderItemScheduledUser_Label_UserID\"> \r\n" +
|
|
" <WHEREITEM COMPAREOPERATOR=\"Equals\" CM=\"aWorkorderItemScheduledUser.aUserID\" UICOMPAREVALUE=\"" + di.CurrentUserNameFormatted + "\" TYPE=\"System.Guid\" COMPAREVALUE=\"{" + User.CurrentThreadUserID.ToString().ToUpper() + "}\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n" +
|
|
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_WorkorderItemScheduledUser_Label_StartDate\"> \r\n" +
|
|
" <WHEREITEM COMPAREOPERATOR=\"GreaterThan\" CM=\"aWorkorderItemScheduledUser.aStartDate\" UI=\"LT_WorkorderItemScheduledUser_Label_StartDate\" TYPE=\"System.Object\" UICOMPAREVALUE=\"\" COMPAREVALUE=\"" + DBUtil.CurrentWorkingDateTime.ToString() + "\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n";
|
|
di.ListCriteria.Add("MyScheduled", critSub);//used to filter grid list in UI when user clicks More... list item
|
|
|
|
WorkorderServiceScheduledUserList l = WorkorderServiceScheduledUserList.Get(crit, DASHBOARDMAXLISTITEMS, null);
|
|
if (l.Count > 0)
|
|
{
|
|
int max = Max(l.Count);
|
|
for (int x = 0; x < max; x++)
|
|
{
|
|
di.myScheduledList.Add(new DashBoardInfoItem(l[x]));
|
|
}
|
|
if (l.Count == DASHBOARDMAXLISTITEMS)
|
|
di.myScheduledList.Add(MoreItem);
|
|
}
|
|
}
|
|
#endregion my scheduled
|
|
}
|
|
|
|
#region My Service rate summary
|
|
{
|
|
DashboardServiceRateBalanceFetcher l = DashboardServiceRateBalanceFetcher.GetItem(User.CurrentThreadUserID, true);
|
|
di.myServiceRateSummaryList.Add(new DashBoardInfoItem(LocalizedTextTable.GetLocalizedTextDirect("UI.Label.DateRange.Today") + " = " + l.Today.ToString()));
|
|
di.myServiceRateSummaryList.Add(new DashBoardInfoItem(LocalizedTextTable.GetLocalizedTextDirect("UI.Label.DateRange.Yesterday") + " = " + l.Yesterday.ToString()));
|
|
di.myServiceRateSummaryList.Add(new DashBoardInfoItem(LocalizedTextTable.GetLocalizedTextDirect("UI.Label.DateRange.ThisWeek") + " = " + l.ThisWeek.ToString()));
|
|
di.myServiceRateSummaryList.Add(new DashBoardInfoItem(LocalizedTextTable.GetLocalizedTextDirect("UI.Label.DateRange.ThisMonth") + " = " + l.ThisMonth.ToString()));
|
|
di.myServiceRateSummaryList.Add(new DashBoardInfoItem(LocalizedTextTable.GetLocalizedTextDirect("UI.Label.DateRange.ThisYear") + " = " + l.ThisYear.ToString()));
|
|
|
|
}
|
|
#endregion my service rate summary
|
|
|
|
if (AyaBizUtils.Right("Object.Memo") > (int)SecurityLevelTypes.NoAccess)
|
|
{
|
|
#region My newest memos
|
|
{
|
|
string crit = "<?xml version=\"1.0\" encoding=\"utf-16\" standalone=\"yes\"?> \r\n" +
|
|
"<GRIDCRITERIA> \r\n" +
|
|
" <COLUMNITEM CM=\"aMemo.aCreated\" UI=\"LT_Memo_Label_Sent\" PIN=\"0\" WIDTH=\"158\" SORT=\"DESC\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aMemo.aReplied\" UI=\"LT_Memo_Label_Replied\" PIN=\"0\" WIDTH=\"86\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aUser.aLastName\" UI=\"LT_Memo_Label_FromID\" PIN=\"0\" WIDTH=\"274\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aMemo.aSubject\" UI=\"LT_Memo_Label_Subject\" PIN=\"0\" WIDTH=\"85\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"grid\" UI=\"LT_Memo_Label_Sent_Relative\" PIN=\"0\" WIDTH=\"158\" /> \r\n" +
|
|
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_Memo_Label_Viewed\"> \r\n" +
|
|
" <WHEREITEM COMPAREOPERATOR=\"Equals\" CM=\"aMemo.aViewed\" UI=\"\" TYPE=\"System.Boolean\" UICOMPAREVALUE=\"\" COMPAREVALUE=\"False\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n" +
|
|
"</GRIDCRITERIA> ";
|
|
|
|
string critSub = " <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_Memo_Label_Viewed\"> \r\n" +
|
|
" <WHEREITEM COMPAREOPERATOR=\"Equals\" CM=\"aMemo.aViewed\" UI=\"\" TYPE=\"System.Boolean\" UICOMPAREVALUE=\"\" COMPAREVALUE=\"False\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n";
|
|
di.ListCriteria.Add("MyNewMemos", critSub);//used to filter grid list in UI when user clicks More... list item
|
|
|
|
MemoList l = MemoList.Get(crit, DASHBOARDMAXLISTITEMS, null);
|
|
if (l.Count > 0)
|
|
{
|
|
int max = Max(l.Count);
|
|
for (int x = 0; x < max; x++)
|
|
{
|
|
di.myNewMemosList.Add(new DashBoardInfoItem(l[x]));
|
|
}
|
|
if (l.Count == DASHBOARDMAXLISTITEMS)
|
|
di.myNewMemosList.Add(MoreItem);
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
|
|
if (AyaBizUtils.Right("Object.ScheduleMarker") > (int)SecurityLevelTypes.NoAccess)
|
|
{
|
|
#region My reminders
|
|
{
|
|
DashboardReminderList l = DashboardReminderList.GetList(DASHBOARDMAXLISTITEMS);
|
|
if (l.Count > 0)
|
|
{
|
|
int max = Max(l.Count);
|
|
for (int x = 0; x < max; x++)
|
|
{
|
|
di.myRemindersList.Add(new DashBoardInfoItem(l[x]));
|
|
}
|
|
//Nowhere really to send them as it's not based on a grid so
|
|
//unless we send them to the schedule screen then this shouldn't be here
|
|
//if(l.Count==DASHBOARDMAXLISTITEMS)
|
|
// di.myRemindersList.Add(MoreItem);
|
|
}
|
|
}
|
|
#endregion my reminders
|
|
}
|
|
|
|
}//end of if FetchScheduleableUserInfo
|
|
#endregion my lists
|
|
|
|
|
|
#region "Company" lists
|
|
{
|
|
if (!AyaBizUtils.Lite)
|
|
{
|
|
if (AyaBizUtils.Right("Object.WorkorderService") > (int)SecurityLevelTypes.NoAccess)
|
|
{
|
|
#region Company - Not Assigned
|
|
{
|
|
string crit = "<?xml version=\"1.0\" encoding=\"utf-16\" standalone=\"yes\"?> \r\n" +
|
|
"<GRIDCRITERIA> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderItemScheduledUser.aStartDate\" UI=\"LT_WorkorderItemScheduledUser_Label_StartDate\" PIN=\"0\" WIDTH=\"210\" SORT=\"DESC\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aUser.aLastName\" UI=\"LT_WorkorderItemScheduledUser_Label_UserID\" PIN=\"0\" WIDTH=\"242\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderService.aServiceNumber\" UI=\"LT_O_Workorder\" PIN=\"0\" WIDTH=\"100\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aPriority.aName\" UI=\"LT_WorkorderItem_Label_PriorityID\" PIN=\"0\" WIDTH=\"148\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aDispatchZone.aName\" UI=\"LT_O_DispatchZone\" PIN=\"0\" WIDTH=\"120\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorder.aServiceCompleted\" UI=\"LT_Workorder_Label_ServiceCompleted\" PIN=\"0\" WIDTH=\"143\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aUnit.aSerial\" UI=\"LT_Unit_Label_Serial\" PIN=\"0\" WIDTH=\"120\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorder.aOnsite\" UI=\"LT_Workorder_Label_Onsite\" PIN=\"0\" WIDTH=\"80\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderItemStatus.aName\" UI=\"LT_WorkorderItem_Label_WorkorderStatusID\" PIN=\"0\" WIDTH=\"158\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderService.aServiceDate\" UI=\"LT_WorkorderService_Label_ServiceDate\" PIN=\"0\" WIDTH=\"112\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aClient.aName\" UI=\"LT_O_Client\" PIN=\"0\" WIDTH=\"76\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderItemScheduledUser.aStopDate\" UI=\"LT_WorkorderItemScheduledUser_Label_StopDate\" PIN=\"0\" WIDTH=\"136\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderItem.aSummary\" UI=\"LT_WorkorderItem_Label_Summary\" PIN=\"0\" WIDTH=\"121\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorder.aClosed\" UI=\"LT_Workorder_Label_Closed\" PIN=\"0\" WIDTH=\"82\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aUnitModel.aName\" UI=\"LT_O_UnitModel\" PIN=\"0\" WIDTH=\"101\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aRate.aName\" UI=\"LT_WorkorderItemScheduledUser_Label_ServiceRateID\" PIN=\"0\" WIDTH=\"124\" /> \r\n" +
|
|
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"Or\" UI=\"LT_Workorder_Label_ServiceCompleted\"> \r\n" +
|
|
" <WHEREITEM COMPAREOPERATOR=\"Equals\" CM=\"aWorkorder.aServiceCompleted\" UI=\"LT_Workorder_Label_ServiceCompleted\" TYPE=\"System.Boolean\" UICOMPAREVALUE=\"\" COMPAREVALUE=\"False\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n" +
|
|
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"Or\" UI=\"LT_WorkorderItemScheduledUser_Label_UserID\"> \r\n" +
|
|
" <WHEREITEM COMPAREOPERATOR=\"Equals\" CM=\"aUser.aLastName\" UICOMPAREVALUE=\"\" TYPE=\"System.String\" COMPAREVALUE=\"\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n" +
|
|
"</GRIDCRITERIA> ";
|
|
|
|
string critSub =
|
|
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"Or\" UI=\"LT_Workorder_Label_ServiceCompleted\"> \r\n" +
|
|
" <WHEREITEM COMPAREOPERATOR=\"Equals\" CM=\"aWorkorder.aServiceCompleted\" UI=\"LT_Workorder_Label_ServiceCompleted\" TYPE=\"System.Boolean\" UICOMPAREVALUE=\"\" COMPAREVALUE=\"False\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n" +
|
|
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"Or\" UI=\"LT_WorkorderItemScheduledUser_Label_UserID\"> \r\n" +
|
|
" <WHEREITEM COMPAREOPERATOR=\"Equals\" CM=\"aUser.aLastName\" UICOMPAREVALUE=\"\" TYPE=\"System.String\" COMPAREVALUE=\"\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n";
|
|
|
|
di.ListCriteria.Add("CompanyNotAssigned", critSub);//used to filter grid list in UI when user clicks More... list item
|
|
|
|
WorkorderServiceScheduledUserList l = WorkorderServiceScheduledUserList.Get(crit, DASHBOARDMAXLISTITEMS, null);
|
|
if (l.Count > 0)
|
|
{
|
|
int max = Max(l.Count);
|
|
for (int x = 0; x < max; x++)
|
|
{
|
|
di.compNotAssignedList.Add(new DashBoardInfoItem(l[x]));
|
|
}
|
|
if (l.Count == DASHBOARDMAXLISTITEMS)
|
|
di.compNotAssignedList.Add(MoreItem);
|
|
}
|
|
}
|
|
#endregion Company not assigned
|
|
|
|
#region Company overdue
|
|
{
|
|
string crit = "<?xml version=\"1.0\" encoding=\"utf-16\" standalone=\"yes\"?> \r\n" +
|
|
"<GRIDCRITERIA> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderItemScheduledUser.aStartDate\" UI=\"LT_WorkorderItemScheduledUser_Label_StartDate\" PIN=\"0\" WIDTH=\"210\" SORT=\"ASC\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aUser.aLastName\" UI=\"LT_WorkorderItemScheduledUser_Label_UserID\" PIN=\"0\" WIDTH=\"242\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderService.aServiceNumber\" UI=\"LT_O_Workorder\" PIN=\"0\" WIDTH=\"100\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aPriority.aName\" UI=\"LT_WorkorderItem_Label_PriorityID\" PIN=\"0\" WIDTH=\"148\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aDispatchZone.aName\" UI=\"LT_O_DispatchZone\" PIN=\"0\" WIDTH=\"120\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorder.aServiceCompleted\" UI=\"LT_Workorder_Label_ServiceCompleted\" PIN=\"0\" WIDTH=\"143\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aUnit.aSerial\" UI=\"LT_Unit_Label_Serial\" PIN=\"0\" WIDTH=\"120\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorder.aOnsite\" UI=\"LT_Workorder_Label_Onsite\" PIN=\"0\" WIDTH=\"80\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderItemStatus.aName\" UI=\"LT_WorkorderItem_Label_WorkorderStatusID\" PIN=\"0\" WIDTH=\"158\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderService.aServiceDate\" UI=\"LT_WorkorderService_Label_ServiceDate\" PIN=\"0\" WIDTH=\"112\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aClient.aName\" UI=\"LT_O_Client\" PIN=\"0\" WIDTH=\"76\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderItemScheduledUser.aStopDate\" UI=\"LT_WorkorderItemScheduledUser_Label_StopDate\" PIN=\"0\" WIDTH=\"136\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderItem.aSummary\" UI=\"LT_WorkorderItem_Label_Summary\" PIN=\"0\" WIDTH=\"121\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorder.aClosed\" UI=\"LT_Workorder_Label_Closed\" PIN=\"0\" WIDTH=\"82\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aUnitModel.aName\" UI=\"LT_O_UnitModel\" PIN=\"0\" WIDTH=\"101\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aRate.aName\" UI=\"LT_WorkorderItemScheduledUser_Label_ServiceRateID\" PIN=\"0\" WIDTH=\"124\" /> \r\n" +
|
|
" <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=\"False\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n" +
|
|
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_WorkorderItemScheduledUser_Label_StartDate\"> \r\n" +
|
|
" <WHEREITEM COMPAREOPERATOR=\"NotEquals\" CM=\"aWorkorderItemScheduledUser.aStartDate\" UI=\"LT_WorkorderItemScheduledUser_Label_StartDate\" TYPE=\"System.Object\" UICOMPAREVALUE=\"\" COMPAREVALUE=\"\" /> \r\n" +
|
|
" <WHEREITEM COMPAREOPERATOR=\"LessThanOrEqualTo\" CM=\"aWorkorderItemScheduledUser.aStartDate\" UI=\"LT_WorkorderItemScheduledUser_Label_StartDate\" TYPE=\"System.Object\" UICOMPAREVALUE=\"\" COMPAREVALUE=\"" + DBUtil.CurrentWorkingDateTime.ToString() + "\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n" +
|
|
"</GRIDCRITERIA> ";
|
|
|
|
string critSub = " <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=\"False\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n" +
|
|
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_WorkorderItemScheduledUser_Label_StartDate\"> \r\n" +
|
|
" <WHEREITEM COMPAREOPERATOR=\"NotEquals\" CM=\"aWorkorderItemScheduledUser.aStartDate\" UI=\"LT_WorkorderItemScheduledUser_Label_StartDate\" TYPE=\"System.Object\" UICOMPAREVALUE=\"\" COMPAREVALUE=\"\" /> \r\n" +
|
|
" <WHEREITEM COMPAREOPERATOR=\"LessThanOrEqualTo\" CM=\"aWorkorderItemScheduledUser.aStartDate\" UI=\"LT_WorkorderItemScheduledUser_Label_StartDate\" TYPE=\"System.Object\" UICOMPAREVALUE=\"\" COMPAREVALUE=\"" + DBUtil.CurrentWorkingDateTime.ToString() + "\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n";
|
|
di.ListCriteria.Add("CompanyOverdue", critSub);//used to filter grid list in UI when user clicks More... list item
|
|
|
|
|
|
WorkorderServiceScheduledUserList l = WorkorderServiceScheduledUserList.Get(crit, DASHBOARDMAXLISTITEMS, null);
|
|
if (l.Count > 0)
|
|
{
|
|
int max = Max(l.Count);
|
|
for (int x = 0; x < max; x++)
|
|
{
|
|
di.compOverdueList.Add(new DashBoardInfoItem(l[x]));
|
|
}
|
|
if (l.Count == DASHBOARDMAXLISTITEMS)
|
|
di.compOverdueList.Add(MoreItem);
|
|
}
|
|
}
|
|
#endregion my overdue
|
|
|
|
#region Company Scheduled / next items list
|
|
{
|
|
string crit = "<?xml version=\"1.0\" encoding=\"utf-16\" standalone=\"yes\"?> \r\n" +
|
|
"<GRIDCRITERIA> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderItemScheduledUser.aStartDate\" UI=\"LT_WorkorderItemScheduledUser_Label_StartDate\" PIN=\"0\" WIDTH=\"210\" SORT=\"ASC\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aUser.aLastName\" UI=\"LT_WorkorderItemScheduledUser_Label_UserID\" PIN=\"0\" WIDTH=\"242\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderService.aServiceNumber\" UI=\"LT_O_Workorder\" PIN=\"0\" WIDTH=\"100\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aPriority.aName\" UI=\"LT_WorkorderItem_Label_PriorityID\" PIN=\"0\" WIDTH=\"148\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aDispatchZone.aName\" UI=\"LT_O_DispatchZone\" PIN=\"0\" WIDTH=\"120\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorder.aServiceCompleted\" UI=\"LT_Workorder_Label_ServiceCompleted\" PIN=\"0\" WIDTH=\"143\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aUnit.aSerial\" UI=\"LT_Unit_Label_Serial\" PIN=\"0\" WIDTH=\"120\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorder.aOnsite\" UI=\"LT_Workorder_Label_Onsite\" PIN=\"0\" WIDTH=\"80\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderItemStatus.aName\" UI=\"LT_WorkorderItem_Label_WorkorderStatusID\" PIN=\"0\" WIDTH=\"158\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderService.aServiceDate\" UI=\"LT_WorkorderService_Label_ServiceDate\" PIN=\"0\" WIDTH=\"112\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aClient.aName\" UI=\"LT_O_Client\" PIN=\"0\" WIDTH=\"76\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderItemScheduledUser.aStopDate\" UI=\"LT_WorkorderItemScheduledUser_Label_StopDate\" PIN=\"0\" WIDTH=\"136\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderItem.aSummary\" UI=\"LT_WorkorderItem_Label_Summary\" PIN=\"0\" WIDTH=\"121\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorder.aClosed\" UI=\"LT_Workorder_Label_Closed\" PIN=\"0\" WIDTH=\"82\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aUnitModel.aName\" UI=\"LT_O_UnitModel\" PIN=\"0\" WIDTH=\"101\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aRate.aName\" UI=\"LT_WorkorderItemScheduledUser_Label_ServiceRateID\" PIN=\"0\" WIDTH=\"124\" /> \r\n" +
|
|
" <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=\"False\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n" +
|
|
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_WorkorderItemScheduledUser_Label_StartDate\"> \r\n" +
|
|
" <WHEREITEM COMPAREOPERATOR=\"GreaterThan\" CM=\"aWorkorderItemScheduledUser.aStartDate\" UI=\"LT_WorkorderItemScheduledUser_Label_StartDate\" TYPE=\"System.Object\" UICOMPAREVALUE=\"\" COMPAREVALUE=\"" + DBUtil.CurrentWorkingDateTime.ToString() + "\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n" +
|
|
"</GRIDCRITERIA> ";
|
|
|
|
string critSub = " <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=\"False\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n" +
|
|
" <WHEREITEMGROUP GROUPLOGICALOPERATOR=\"And\" UI=\"LT_WorkorderItemScheduledUser_Label_StartDate\"> \r\n" +
|
|
" <WHEREITEM COMPAREOPERATOR=\"GreaterThan\" CM=\"aWorkorderItemScheduledUser.aStartDate\" UI=\"LT_WorkorderItemScheduledUser_Label_StartDate\" TYPE=\"System.Object\" UICOMPAREVALUE=\"\" COMPAREVALUE=\"" + DBUtil.CurrentWorkingDateTime.ToString() + "\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n";
|
|
di.ListCriteria.Add("CompanyNext", critSub);//used to filter grid list in UI when user clicks More... list item
|
|
|
|
WorkorderServiceScheduledUserList l = WorkorderServiceScheduledUserList.Get(crit, DASHBOARDMAXLISTITEMS, null);
|
|
if (l.Count > 0)
|
|
{
|
|
int max = Max(l.Count);
|
|
for (int x = 0; x < max; x++)
|
|
{
|
|
di.compScheduledList.Add(new DashBoardInfoItem(l[x]));
|
|
}
|
|
if (l.Count == DASHBOARDMAXLISTITEMS)
|
|
di.compScheduledList.Add(MoreItem);
|
|
}
|
|
}
|
|
#endregion my scheduled
|
|
}
|
|
|
|
#region Company / region Service rate summary
|
|
{
|
|
DashboardServiceRateBalanceFetcher l = DashboardServiceRateBalanceFetcher.GetItem(User.CurrentThreadUserID, false);
|
|
di.compServiceRateSummaryList.Add(new DashBoardInfoItem(LocalizedTextTable.GetLocalizedTextDirect("UI.Label.DateRange.Today") + " = " + l.Today.ToString()));
|
|
di.compServiceRateSummaryList.Add(new DashBoardInfoItem(LocalizedTextTable.GetLocalizedTextDirect("UI.Label.DateRange.Yesterday") + " = " + l.Yesterday.ToString()));
|
|
di.compServiceRateSummaryList.Add(new DashBoardInfoItem(LocalizedTextTable.GetLocalizedTextDirect("UI.Label.DateRange.ThisWeek") + " = " + l.ThisWeek.ToString()));
|
|
di.compServiceRateSummaryList.Add(new DashBoardInfoItem(LocalizedTextTable.GetLocalizedTextDirect("UI.Label.DateRange.ThisMonth") + " = " + l.ThisMonth.ToString()));
|
|
di.compServiceRateSummaryList.Add(new DashBoardInfoItem(LocalizedTextTable.GetLocalizedTextDirect("UI.Label.DateRange.ThisYear") + " = " + l.ThisYear.ToString()));
|
|
|
|
}
|
|
#endregion my service rate summary
|
|
|
|
if (AyaBizUtils.Right("Object.ClientServiceRequest") > (int)SecurityLevelTypes.NoAccess)
|
|
{
|
|
#region Company open client service requests
|
|
{
|
|
string crit = "<?xml version=\"1.0\" encoding=\"utf-16\" standalone=\"yes\"?> \r\n" +
|
|
"<GRIDCRITERIA> \r\n" +
|
|
" <COLUMNITEM CM=\"aClientServiceRequest.aCreated\" UI=\"LT_Common_Label_Created\" PIN=\"0\" WIDTH=\"226\" SORT=\"ASC\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aClientServiceRequest.aStatus\" UI=\"LT_ClientServiceRequest_Label_Status\" PIN=\"0\" WIDTH=\"153\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aClientServiceRequest.aPriority\" UI=\"LT_ClientServiceRequest_Label_Priority\" PIN=\"0\" WIDTH=\"141\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aClientServiceRequest.aTitle\" UI=\"LT_O_ClientServiceRequest\" PIN=\"0\" WIDTH=\"156\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aClient.aName\" UI=\"LT_O_Client\" PIN=\"0\" WIDTH=\"98\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aWorkorderService.aServiceNumber\" UI=\"LT_O_Workorder\" PIN=\"0\" WIDTH=\"100\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aClientServiceRequest.ACLIENTREF\" UI=\"LT_ClientServiceRequest_Label_CustomerReferenceNumber\" PIN=\"0\" WIDTH=\"143\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aUser.aInitials\" UI=\"LT_Common_Label_Creator\" PIN=\"0\" WIDTH=\"143\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aUnit.aSerial\" UI=\"LT_Unit_Label_Serial\" PIN=\"0\" WIDTH=\"120\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aHeadOffice.aName\" UI=\"LT_O_HeadOffice\" PIN=\"0\" WIDTH=\"107\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aRegion.aName\" UI=\"LT_O_Region\" PIN=\"0\" WIDTH=\"83\" /> \r\n" +
|
|
" <COLUMNITEM CM=\"aClientServiceRequest.AREQUESTEDBY\" UI=\"LT_ClientServiceRequest_Label_RequestedBy\" PIN=\"0\" WIDTH=\"122\" /> \r\n" +
|
|
" <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=\"0\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n" +
|
|
"</GRIDCRITERIA> ";
|
|
|
|
string critSub = " <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=\"0\" /> \r\n" +
|
|
" </WHEREITEMGROUP> \r\n";
|
|
di.ListCriteria.Add("CompanyNewServiceRequests", critSub);//used to filter grid list in UI when user clicks More... list item
|
|
|
|
ClientClientServiceRequestList l = ClientClientServiceRequestList.Get(crit, DASHBOARDMAXLISTITEMS, null);
|
|
if (l.Count > 0)
|
|
{
|
|
int max = Max(l.Count);
|
|
for (int x = 0; x < max; x++)
|
|
{
|
|
di.compServiceRequestsList.Add(new DashBoardInfoItem(l[x]));
|
|
}
|
|
if (l.Count == DASHBOARDMAXLISTITEMS)
|
|
di.compServiceRequestsList.Add(MoreItem);
|
|
}
|
|
}
|
|
#endregion my overdue
|
|
}
|
|
|
|
|
|
//?? contracts about to expire ??
|
|
|
|
//?? Maybe this: active banked service at zero or negative ??
|
|
|
|
//?? Average response time ??
|
|
}
|
|
}
|
|
#endregion company lists
|
|
|
|
return di;
|
|
}
|
|
|
|
private static int Max(int listCount)
|
|
{
|
|
if (listCount < DASHBOARDMAXLISTITEMS)
|
|
return listCount;
|
|
else
|
|
return DASHBOARDMAXLISTITEMS;
|
|
}
|
|
|
|
|
|
|
|
|
|
}//eoc
|
|
|
|
/// <summary>
|
|
/// Used internally to populate dashboard lists
|
|
/// </summary>
|
|
public class DashBoardInfoItem
|
|
{
|
|
public TypeAndID id { get; set; }
|
|
public string item { get; set; }
|
|
|
|
|
|
public DashBoardInfoItem(string itemDescription)
|
|
{
|
|
id = new TypeAndID(RootObjectTypes.Nothing, Guid.Empty);
|
|
item = itemDescription;
|
|
}
|
|
|
|
public DashBoardInfoItem(RootObjectTypes objectType, Guid objectId, string itemDescription)
|
|
{
|
|
id = new TypeAndID(objectType, objectId);
|
|
item = itemDescription;
|
|
}
|
|
|
|
public DashBoardInfoItem(object listInfoObject)
|
|
{
|
|
if (listInfoObject is WorkorderServiceScheduledUserList.WorkorderServiceScheduledUserListInfo)
|
|
{
|
|
WorkorderServiceScheduledUserList.WorkorderServiceScheduledUserListInfo i = (WorkorderServiceScheduledUserList.WorkorderServiceScheduledUserListInfo)listInfoObject;
|
|
id = new TypeAndID(RootObjectTypes.WorkorderItemScheduledUser, i.LT_WorkorderItemScheduledUser_Label_ID);
|
|
item = i.LT_WorkorderItemScheduledUser_Label_StartDate.ToString() + " " + i.LT_O_Workorder.Display + " " + i.LT_O_Client.Display + " " + i.LT_WorkorderItem_Label_Summary.Replace('\r', ' ').Replace("\n", "");
|
|
|
|
}
|
|
else if (listInfoObject is MemoList.MemoListInfo)
|
|
{
|
|
MemoList.MemoListInfo i = (MemoList.MemoListInfo)listInfoObject;
|
|
id = new TypeAndID(RootObjectTypes.Memo, i.ID);
|
|
item = i.LT_Memo_Label_Sent.ToString() + " " + i.LT_Memo_Label_FromID.Display + " " + i.LT_Memo_Label_Subject;
|
|
|
|
}
|
|
else if (listInfoObject is DashboardReminderList.DashboardReminderListInfo)
|
|
{
|
|
DashboardReminderList.DashboardReminderListInfo i = (DashboardReminderList.DashboardReminderListInfo)listInfoObject;
|
|
id = new TypeAndID(RootObjectTypes.ScheduleMarker, i.SourceObjectID);
|
|
item = i.StartDateTime.ToString() + " " + i.Subject;
|
|
|
|
}
|
|
else if (listInfoObject is ClientClientServiceRequestList.ClientClientServiceRequestListInfo)
|
|
{
|
|
ClientClientServiceRequestList.ClientClientServiceRequestListInfo i = (ClientClientServiceRequestList.ClientClientServiceRequestListInfo)listInfoObject;
|
|
id = new TypeAndID(RootObjectTypes.ClientServiceRequest, i.ID);
|
|
item = i.LT_Common_Label_Created.ToString() + " " + i.LT_O_Client + " " + i.LT_O_ClientServiceRequest + " " + i.LT_ClientServiceRequest_Label_RequestedBy;
|
|
|
|
}
|
|
}
|
|
|
|
}
|
|
#pragma warning restore 1591
|
|
}//ens
|