using System; using System.Collections.Generic; using System.Linq; using System.Text; using Ease.CoreV35.Caching; using Ease.CoreV35.Model; namespace Payroll.BO { #region CardOperation [Serializable] public class CardOperation : AuditTrailBase { #region Cache Store private static Cache _cache = new Cache(typeof(CardOperation)); #endregion #region Constructor public CardOperation() { _cardID = null; _cardNumber = string.Empty; _status = 0; _employeeID = null; _comments = string.Empty; _assignDate = DateTime.MinValue; _employee = null; } #endregion #region Properties #region cardID : ID private ID _cardID; public ID CardID { get { return _cardID; } set { base.OnPropertyChange("cardID", _cardID, value); _cardID = value; } } #endregion #region cardNumber : string private string _cardNumber; public string CardNumber { get { return _cardNumber; } set { base.OnPropertyChange("cardNumber", _cardNumber, value); _cardNumber = value; } } #endregion #region Status : EnumCardStatus private EnumCardStatus _status; public EnumCardStatus Status { get { return _status; } set { // base.OnPropertyChange("Status", _status, value); _status = value; } } #endregion #region employeeID : ID private ID _employeeID; public ID EmployeeID { get { return _employeeID; } set { base.OnPropertyChange("employeeID", _employeeID, value); _employeeID = value; } } #endregion #region comments : string private string _comments; public string Comments { get { return _comments; } set { base.OnPropertyChange("comments", _comments, value); _comments = value; } } #endregion #region assignDate : DateTime private DateTime _assignDate; public DateTime AssignDate { get { return _assignDate; } set { base.OnPropertyChange("assignDate", _assignDate, value); _assignDate = value; } } #endregion #region employee : Employee private Employee _employee; public Employee Employee { get { if (_employeeID.Integer > 0 && _employee == null) { _employee = new Employee(); _employee = Employee.Get(_employeeID); } return this._employee; } set { _employee = value; } } #endregion #region AccessCard : AccessCard private AccessCard _accessCard; public AccessCard AccessCard { get { if (_cardID.Integer > 0 && _accessCard == null) { _accessCard = new AccessCard(); _accessCard = AccessCard.Get(_cardID); } return this._accessCard; } set { _accessCard = value; } } #endregion //for Excel Data Upload private Shift _shift; public Shift Shift { get { if (_shift == null) { _shift = new Shift(); } return _shift; } set { _shift = value; } } // #region Service Factory ICardOperationService : ICardOperationService internal static ICardOperationService Service { get { return Services.Factory.CreateService(typeof(ICardOperationService)); } } #endregion #endregion #region Functions public static CardOperation Get(ID nID) { CardOperation oCardOperation = null; #region Cache Header oCardOperation = (CardOperation)_cache["Get", nID]; if (oCardOperation != null) return oCardOperation; #endregion oCardOperation = CardOperation.Service.Get(nID); #region Cache Footer _cache.Add(oCardOperation, "Get", nID); #endregion return oCardOperation; } public static CardOperation GetByCardID(ID nID) { CardOperation oCardOperation = null; #region Cache Header oCardOperation = (CardOperation)_cache["GetByCardID", nID]; if (oCardOperation != null) return oCardOperation; #endregion oCardOperation = CardOperation.Service.GetByCardID(nID); #region Cache Footer _cache.Add(oCardOperation, "GetByCardID", nID); #endregion return oCardOperation; } public static CardOperation GetByEmpIDAndCardID(ID EmpID, ID CardID) { CardOperation oCardOperation = null; #region Cache Header oCardOperation = (CardOperation)_cache["GetByEmpIDAndCardID", EmpID, CardID]; if (oCardOperation != null) return oCardOperation; #endregion oCardOperation = CardOperation.Service.GetByEmpIDAndCardID(EmpID, CardID); #region Cache Footer _cache.Add(oCardOperation, "GetByEmpIDAndCardID", EmpID, CardID); #endregion return oCardOperation; } public static CardOperation Get(string CardNumber) { CardOperation oCardOperation = null; #region Cache Header oCardOperation = (CardOperation)_cache["Get", CardNumber]; if (oCardOperation != null) return oCardOperation; #endregion oCardOperation = CardOperation.Service.Get(CardNumber); #region Cache Footer _cache.Add(oCardOperation, "Get", CardNumber); #endregion return oCardOperation; } public static ObjectsTemplate Get() { #region Cache Header ObjectsTemplate cardOperations = _cache["Get"] as ObjectsTemplate; if (cardOperations != null) return cardOperations; #endregion try { cardOperations = Service.Get(); } catch (ServiceException e) { throw new Exception(e.Message, e); } #region Cache Footer _cache.Add(cardOperations, "Get"); #endregion return cardOperations; } public ID Save() { this.SetAuditTrailProperties(); return CardOperation.Service.Save(this); } public static void Save(ObjectsTemplate _cardOperations) { foreach (CardOperation cardOp in _cardOperations) { cardOp.SetAuditTrailProperties(); } CardOperation.Service.Save(_cardOperations); } public void Delete() { CardOperation.Service.Delete(ID); } #endregion } #endregion #region ICardOperation Service public interface ICardOperationService { CardOperation Get(ID id); CardOperation GetByCardID(ID nID); CardOperation GetByEmpIDAndCardID(ID EmpID, ID CardID); CardOperation Get(string CardNumber); ObjectsTemplate Get(); ID Save(CardOperation item); void Save(ObjectsTemplate _cardOperations); void Delete(ID id); } #endregion }