/////////////////////////////////////////////////////////// // Bool.cs // Implementation of Class HeadOfficeExistanceChecker // CSLA type: Read-only object // Created on: 11-Feb-2016 // Object design: John // Coded: 11-Feb-2016 /////////////////////////////////////////////////////////// using System; using System.Data; using CSLA.Data; using GZTW.Data; using CSLA; using System.Threading; using CSLA.Security; using System.ComponentModel; namespace GZTW.AyaNova.BLL { //case 2033 /// ///Confirms the presence of an HeadOffice ///in the AyaNova database /// [Serializable, EditorBrowsable(EditorBrowsableState.Never)] internal class HeadOfficeExistanceChecker : ReadOnlyBase { #region Attributes private bool mExists; //case 1404 added for usefulness internal Guid mHeadOfficeID; #endregion #region Constructor /// /// Private constructor to prevent direct instantiation /// private HeadOfficeExistanceChecker() { } #endregion #region Static methods internal static HeadOfficeExistanceChecker HeadOfficeExists(string Name) { return (HeadOfficeExistanceChecker)DataPortal.Fetch(new Criteria(Guid.Empty, Name)); } internal static bool HeadOfficeExists(Guid ID, string Name) { return ((HeadOfficeExistanceChecker)DataPortal.Fetch(new Criteria(ID, Name))).mExists; } #endregion #region DAL DATA ACCESS /// /// protected override void DataPortal_Fetch(object Criteria) { Criteria crit = (Criteria)Criteria; if (!string.IsNullOrEmpty(crit.Name)) { //case 1890 string CaseInsensitiveQueryString = string.Empty; if(DBUtil.DB.DBType == DataBaseType.FireBird) { CaseInsensitiveQueryString = "SELECT AID FROM AHEADOFFICE WHERE (Upper(ANAME) = Upper(@ANAME))"; } else { //SQL server CaseInsensitiveQueryString = "SELECT AID FROM AHEADOFFICE WHERE (ANAME = @ANAME)"; } DBCommandWrapper dbCommandWrapper = DBUtil.DB.GetSqlStringCommandWrapper(CaseInsensitiveQueryString); dbCommandWrapper.AddInParameter("@ANAME", DbType.String, crit.Name); //case 1404 mHeadOfficeID=DBUtil.ToGuid(DBUtil.DB.ExecuteScalar(dbCommandWrapper)); if (mHeadOfficeID == Guid.Empty) this.mExists = false; else this.mExists = true; } else { if (DBUtil.ToGuid(DBUtil.GetScalarFromSQLString( "SELECT AID FROM AHEADOFFICE WHERE " + "(AID = @ID)", crit.ID )) == Guid.Empty) this.mExists = false; else this.mExists = true; } } #endregion #region criteria /// /// Criteria for identifying existing object /// [Serializable] private class Criteria { public Guid ID; public string Name; public Criteria(Guid _ID, string _Name) { ID = _ID; Name = _Name; } } #endregion }//end class }//end namespace GZTW.AyaNova.BLL