Files
ayanova7/source/bizobjects/AyaLib/GZTW.AyaNova.BLL/HeadOfficeExistanceChecker.cs
2018-06-29 19:47:36 +00:00

141 lines
3.7 KiB
C#

///////////////////////////////////////////////////////////
// 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
/// <summary>
///Confirms the presence of an HeadOffice
///in the AyaNova database
/// </summary>
[Serializable, EditorBrowsable(EditorBrowsableState.Never)]
internal class HeadOfficeExistanceChecker : ReadOnlyBase
{
#region Attributes
private bool mExists;
//case 1404 added for usefulness
internal Guid mHeadOfficeID;
#endregion
#region Constructor
/// <summary>
/// Private constructor to prevent direct instantiation
/// </summary>
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
///
/// <param Bool="Criteria"></param>
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
/// <summary>
/// Criteria for identifying existing object
/// </summary>
[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