239 lines
7.6 KiB
C#
239 lines
7.6 KiB
C#
|
|
///////////////////////////////////////////////////////////
|
|
// DashBoardClientServiceRequestList.cs
|
|
// Implementation of Class DashBoardClientServiceRequestList
|
|
// CSLA type: Read only collection
|
|
// Created on: 9-Feb-2009
|
|
// Coded: John 9-Feb-2009
|
|
///////////////////////////////////////////////////////////
|
|
|
|
using System;
|
|
using System.Data;
|
|
using GZTW.Data;
|
|
using CSLA.Data;
|
|
using CSLA;
|
|
using System.Collections.Generic;
|
|
|
|
namespace GZTW.AyaNova.BLL
|
|
{
|
|
#pragma warning disable 1591
|
|
/// <summary>
|
|
/// Read only list of <see cref="DashBoardClientServiceRequestList.DashBoardClientServiceRequestListInfo"/> objects
|
|
///
|
|
/// </summary>
|
|
[Serializable]
|
|
public class DashBoardClientServiceRequestList : ReadOnlyCollectionBase
|
|
{
|
|
#region Data structure
|
|
/// <summary>
|
|
/// Properties
|
|
/// </summary>
|
|
[Serializable]
|
|
public struct DashBoardClientServiceRequestListInfo
|
|
{
|
|
internal DateTime mCreated;
|
|
|
|
// internal string mCreator;
|
|
internal string mTitle;
|
|
internal string mClient;
|
|
//internal string mHeadOffice;
|
|
//internal string mUnit;
|
|
//internal int mWorkorder;
|
|
//internal string mClientRef;
|
|
//internal string mStatus;
|
|
//internal string mPriority;
|
|
internal Guid mID;
|
|
//internal Guid mWorkorderID;
|
|
//internal string mRegion;
|
|
internal string mRequestedBy;
|
|
|
|
|
|
public DateTime LT_Common_Label_Created
|
|
{ get { return mCreated; } }
|
|
|
|
public string LT_O_ClientServiceRequest
|
|
{ get { return mTitle; } }
|
|
|
|
public string LT_O_Client { get { return mClient; } }
|
|
|
|
public Guid ID { get { return mID; } }
|
|
|
|
public string LT_ClientServiceRequest_Label_RequestedBy
|
|
{ get { return this.mRequestedBy; } }
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="obj"></param>
|
|
public bool Equals(DashBoardClientServiceRequestListInfo obj)
|
|
{
|
|
return this.mID.Equals(obj.mID);
|
|
}
|
|
|
|
}//end DashBoardClientServiceRequestListInfo
|
|
#endregion
|
|
|
|
#region Constructor
|
|
|
|
protected DashBoardClientServiceRequestList()
|
|
{
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Business properties and methods
|
|
|
|
/// <summary>
|
|
/// Get item by index
|
|
/// </summary>
|
|
/// <param name="Item"></param>
|
|
public DashBoardClientServiceRequestListInfo this[int Item]
|
|
{
|
|
|
|
get
|
|
{
|
|
return (DashBoardClientServiceRequestListInfo)List[Item];
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// Returns display text that matches passed in itemid value
|
|
/// </summary>
|
|
/// <param name="ItemID"></param>
|
|
public string this[Guid ItemID]
|
|
{
|
|
|
|
get
|
|
{
|
|
foreach (DashBoardClientServiceRequestListInfo child in List)
|
|
{
|
|
if (child.mID == ItemID) return child.ToString();
|
|
}
|
|
return "Missing: " + ItemID.ToString();
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region contains
|
|
/// <summary>
|
|
/// Check if item in collection
|
|
/// </summary>
|
|
/// <param name="obj"></param>
|
|
public bool Contains(DashBoardClientServiceRequestListInfo obj)
|
|
{
|
|
foreach (DashBoardClientServiceRequestListInfo child in List)
|
|
{
|
|
if (child.Equals(obj)) return true;
|
|
}
|
|
return false;
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region Static methods
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// Get all ClientServiceRequest for dashboard
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public static DashBoardClientServiceRequestList GetList()
|
|
{
|
|
return (DashBoardClientServiceRequestList)DataPortal.Fetch(new Criteria());
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
#region DAL DATA ACCESS
|
|
///
|
|
/// <param name="Criteria"></param>
|
|
protected override void DataPortal_Fetch(object Criteria)
|
|
{
|
|
|
|
Criteria crit = (Criteria)Criteria;
|
|
|
|
SafeDataReader dr = null;
|
|
try
|
|
{
|
|
string q = "";
|
|
|
|
|
|
|
|
|
|
//Generic full list fetch (regionalized)
|
|
//************************************************************
|
|
q = "SELECT " +
|
|
" ACLIENTSERVICEREQUEST.*, " +
|
|
" AUNIT.ASERIAL, " +
|
|
" AUNITMODEL.ANAME AS AUNITMODELNAME, AUNITMODEL.AMODELNUMBER, " +//Case9
|
|
" AVENDOR.ANAME AS AUNITVENDORNAME, " +
|
|
" AUSER.AFIRSTNAME, " +
|
|
" AUSER.ALASTNAME, " +
|
|
" AUSER.AINITIALS, " +
|
|
" AUSER.AEMPLOYEENUMBER, " +
|
|
" ACLIENT.ANAME AS ACLIENTNAME, " +
|
|
" ACLIENT.AREGIONID, AREGION.ANAME AS AREGIONNAME, " + //case 58
|
|
" AHEADOFFICE.ANAME AS AHEADOFFICENAME, " +
|
|
" AWORKORDERSERVICE.ASERVICENUMBER, " +
|
|
" AWORKORDERITEM.AWORKORDERID " +
|
|
" FROM " +
|
|
" ACLIENTSERVICEREQUEST " +
|
|
" INNER JOIN AUSER ON (ACLIENTSERVICEREQUEST.ACREATOR = AUSER.AID) " +
|
|
" INNER JOIN ACLIENT ON (ACLIENTSERVICEREQUEST.ACLIENTID = ACLIENT.AID) " +
|
|
" LEFT OUTER JOIN AREGION ON ACLIENT.AREGIONID = AREGION.AID " + //Case 58
|
|
" LEFT OUTER JOIN AHEADOFFICE ON (ACLIENT.AHEADOFFICEID = AHEADOFFICE.AID) " +
|
|
" LEFT OUTER JOIN AUNIT ON (ACLIENTSERVICEREQUEST.AUNITID = AUNIT.AID) " +
|
|
" LEFT OUTER JOIN AWORKORDERITEM ON (ACLIENTSERVICEREQUEST.AWORKORDERITEMID = AWORKORDERITEM.AID) " +
|
|
" LEFT OUTER JOIN AWORKORDERSERVICE ON (AWORKORDERITEM.AWORKORDERID = AWORKORDERSERVICE.AWORKORDERID) " +
|
|
" LEFT OUTER JOIN AUNITMODEL ON (AUNIT.AUNITMODELID = AUNITMODEL.AID) " +
|
|
" LEFT OUTER JOIN AVENDOR ON (AUNITMODEL.AVENDORID = AVENDOR.AID) " +
|
|
" WHERE ACLIENTSERVICEREQUEST.ASTATUS=0 ";
|
|
|
|
|
|
q = DBUtil.AddRegionFilter(q, "ACLIENT", "");//case 58
|
|
q = q + " ORDER BY ACLIENTSERVICEREQUEST.ACREATED ASC";
|
|
dr = DBUtil.GetReaderFromSQLString(q);
|
|
|
|
//************************************************************
|
|
|
|
|
|
while (dr.Read())
|
|
{
|
|
//*******************************************
|
|
DashBoardClientServiceRequestListInfo info = new DashBoardClientServiceRequestListInfo();
|
|
info.mCreated = DBUtil.ToLocal(dr.GetSmartDate("ACREATED")).Date;
|
|
info.mID = dr.GetGuid("AID");
|
|
info.mTitle = dr.GetString("ATITLE");
|
|
info.mClient = dr.GetString("ACLIENTNAME");
|
|
info.mRequestedBy = dr.GetString("AREQUESTEDBY");
|
|
InnerList.Add(info);
|
|
//*******************************************
|
|
}
|
|
}
|
|
finally
|
|
{
|
|
if (dr != null) dr.Close();
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region criteria
|
|
/// <summary>
|
|
/// Criteria for identifying existing object
|
|
/// </summary>
|
|
[Serializable]
|
|
private class Criteria
|
|
{
|
|
public Criteria()
|
|
{
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
}//end DashBoardClientServiceRequestList
|
|
#pragma warning restore 1591
|
|
}//end namespace GZTW.AyaNova.BLL
|