/////////////////////////////////////////////////////////// // 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 /// /// Read only list of objects /// /// [Serializable] public class DashBoardClientServiceRequestList : ReadOnlyCollectionBase { #region Data structure /// /// Properties /// [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; } } /// /// /// /// public bool Equals(DashBoardClientServiceRequestListInfo obj) { return this.mID.Equals(obj.mID); } }//end DashBoardClientServiceRequestListInfo #endregion #region Constructor protected DashBoardClientServiceRequestList() { } #endregion #region Business properties and methods /// /// Get item by index /// /// public DashBoardClientServiceRequestListInfo this[int Item] { get { return (DashBoardClientServiceRequestListInfo)List[Item]; } } /// /// Returns display text that matches passed in itemid value /// /// 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 /// /// Check if item in collection /// /// public bool Contains(DashBoardClientServiceRequestListInfo obj) { foreach (DashBoardClientServiceRequestListInfo child in List) { if (child.Equals(obj)) return true; } return false; } #endregion #region Static methods /// /// Get all ClientServiceRequest for dashboard /// /// public static DashBoardClientServiceRequestList GetList() { return (DashBoardClientServiceRequestList)DataPortal.Fetch(new Criteria()); } #endregion #region DAL DATA ACCESS /// /// 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 /// /// Criteria for identifying existing object /// [Serializable] private class Criteria { public Criteria() { } } #endregion }//end DashBoardClientServiceRequestList #pragma warning restore 1591 }//end namespace GZTW.AyaNova.BLL