///////////////////////////////////////////////////////////
// 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