/////////////////////////////////////////////////////////// // UserTimeZoneOffsetFetcher.cs // Implementation of Class UserTimeZoneOffsetFetcher // CSLA type: Read-only object // Created on: 20091111 // Object design: John // Coded: 20091111 /////////////////////////////////////////////////////////// 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 58 /// ///Quickly fetch users TimeZoneOffset /// [Serializable, EditorBrowsable(EditorBrowsableState.Never)] internal class UserTimeZoneOffsetFetcher : ReadOnlyBase { #region Attributes private decimal mTimeZoneOffset; #endregion #region Constructor /// /// Private constructor to prevent direct instantiation /// private UserTimeZoneOffsetFetcher() { } #endregion #region Static methods internal static decimal UserTimeZoneOffset(Guid UserID) { return ((UserTimeZoneOffsetFetcher)DataPortal.Fetch(new Criteria(UserID))).mTimeZoneOffset; } #endregion #region DAL DATA ACCESS /// /// protected override void DataPortal_Fetch(object Criteria) { Criteria crit = (Criteria)Criteria; this.mTimeZoneOffset = DBUtil.ScalarToDecimal(DBUtil.GetScalarFromSQLString( "SELECT aTimeZoneOffset FROM aUser WHERE " + "(aID = @ID)", crit.UserID )); } #endregion #region criteria /// /// Criteria for identifying existing object /// [Serializable] private class Criteria { public Guid UserID; public Criteria(Guid _UserID) { UserID = _UserID; } } #endregion }//end class }//end namespace GZTW.AyaNova.BLL