/////////////////////////////////////////////////////////// // Bool.cs // Implementation of Class LoanItemExistanceChecker // CSLA type: Read-only object // Created on: 24-Sept-2007 // Object design: John // Coded: 24-Sept-2007 /////////////////////////////////////////////////////////// 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 497 /// ///Confirms the presence of an LoanItem ///in the AyaNova database /// [Serializable, EditorBrowsable(EditorBrowsableState.Never)] internal class LoanItemExistanceChecker : ReadOnlyBase { #region Attributes private bool mExists; #endregion #region Constructor /// /// Private constructor to prevent direct instantiation /// private LoanItemExistanceChecker() { } #endregion #region Static methods internal static bool LoanItemExists(Guid ID, string SerialNumber) { return ((LoanItemExistanceChecker)DataPortal.Fetch(new Criteria(ID, SerialNumber))).mExists; } #endregion #region DAL DATA ACCESS /// /// protected override void DataPortal_Fetch(object Criteria) { Criteria crit = (Criteria)Criteria; if (!string.IsNullOrEmpty(crit.SerialNumber)) { DBCommandWrapper dbCommandWrapper = DBUtil.DB.GetSqlStringCommandWrapper( "SELECT aID FROM aLoanItem WHERE " + "(aSerial = @SERIAL)" ); dbCommandWrapper.AddInParameter("@SERIAL", DbType.String, crit.SerialNumber); if (DBUtil.ToGuid(DBUtil.DB.ExecuteScalar(dbCommandWrapper)) == Guid.Empty) this.mExists = false; else this.mExists = true; } else { if (DBUtil.ToGuid(DBUtil.GetScalarFromSQLString( "SELECT aID FROM aLoanItem 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 SerialNumber; public Criteria(Guid _ID, string _SerialNumber) { ID = _ID; SerialNumber = _SerialNumber; } } #endregion }//end class }//end namespace GZTW.AyaNova.BLL