using System; using System.Collections.Generic; using System.Linq; using System.Text; using Ease.CoreV35; using Ease.CoreV35.Model; using Ease.CoreV35.Caching; using System.Data.Linq.Mapping; namespace Payroll.BO { #region ReportItem [Serializable] public class ReportItem : BasicBaseObject { #region Cache Store private static Cache _cache = new Cache(typeof(ReportItem)); #endregion #region Constructor public ReportItem() { _reportID = null; _name = string.Empty; _reportType = string.Empty; _defaultHeader = string.Empty; _userHeader1 = string.Empty; _userHeader2 = string.Empty; _chronology = 0; _searchFrom = 0; _itemType = 0; _isCompanyInfo = false; _isDateMonth = false; _isSearchCriteria = false; _isGroupEachPage = false; _isPageNo = false; _isDateTime = false; _isGroupbyCriteria = false; _bankNeeded = false; _isSignatoriesEachPageFooter = false; _progressBar = 0; _iNSQL = string.Empty; _searchItems = string.Empty; } #endregion #region Properties #region ReportAuthorization private ObjectsTemplate _reportAuthorization; public ObjectsTemplate ReportAuthors { get { if (_reportAuthorization == null) { _reportAuthorization = new ObjectsTemplate(); } return _reportAuthorization; } set { _reportAuthorization = value; } } #endregion #region reportID : ID private ID _reportID; public ID ReportID { get { return _reportID; } set { base.OnPropertyChange("reportID", _reportID, value); _reportID = value; } } #endregion #region name : string private string _name; public string Name { get { return _name; } set { base.OnPropertyChange("name", _name, value); _name = value; } } #endregion #region defaultHeader : string private string _defaultHeader; public string DefaultHeader { get { return _defaultHeader; } set { base.OnPropertyChange("defaultHeader", _defaultHeader, value); _defaultHeader = value; } } #endregion #region userHeader1 : string private string _userHeader1; public string UserHeader1 { get { return _userHeader1; } set { base.OnPropertyChange("userHeader1", _userHeader1, value); _userHeader1 = value; } } #endregion #region userHeader2 : string private string _userHeader2; public string UserHeader2 { get { return _userHeader2; } set { base.OnPropertyChange("userHeader2", _userHeader2, value); _userHeader2 = value; } } #endregion #region chronology : EnumChronology private EnumChronology _chronology; public EnumChronology Chronology { get { return _chronology; } set { base.OnPropertyChange("chronology",(short) _chronology, (short)value); _chronology = value; } } #endregion #region searchFrom : EnumSearchFromTable private EnumSearchFrom _searchFrom; public EnumSearchFrom SearchFrom { get { return _searchFrom; } set { base.OnPropertyChange("searchFrom",(short) _searchFrom, (short)value); _searchFrom = value; } } #endregion #region itemType : EnumReportItemType private EnumReportItemType _itemType; public EnumReportItemType ItemType { get { return _itemType; } set { base.OnPropertyChange("itemType",(short) _itemType, (short)value); _itemType = value; } } #endregion #region bankNeeded : bool private bool _bankNeeded; public bool BankNeeded { get { return _bankNeeded; } set { base.OnPropertyChange("bankNeeded", _bankNeeded, value); _bankNeeded = value; } } #endregion #region isCompanyInfo : bool private bool _isCompanyInfo; public bool IsCompanyInfo { get { return _isCompanyInfo; } set { base.OnPropertyChange("isCompanyInfo", _isCompanyInfo, value); _isCompanyInfo = value; } } #endregion #region isPageNo : bool private bool _isPageNo; public bool IsPageNo { get { return _isPageNo; } set { base.OnPropertyChange("isPageNo", _isPageNo, value); _isPageNo = value; } } #endregion #region isDateMonth : bool private bool _isDateMonth; public bool IsDateMonth { get { return _isDateMonth; } set { base.OnPropertyChange("isDateMonth", _isDateMonth, value); _isDateMonth = value; } } #endregion #region isSearchCriteria : bool private bool _isSearchCriteria; public bool IsSearchCriteria { get { return _isSearchCriteria; } set { base.OnPropertyChange("isSearchCriteria", _isSearchCriteria, value); _isSearchCriteria = value; } } #endregion #region isGroupbyCriteria : bool private bool _isGroupbyCriteria; public bool IsGroupbyCriteria { get { return _isGroupbyCriteria; } set { base.OnPropertyChange("isGroupbyCriteria", _isGroupbyCriteria, value); _isGroupbyCriteria = value; } } #endregion #region isSignatoriesEachPageFooter : bool private bool _isSignatoriesEachPageFooter; public bool IsSignatoriesEachPageFooter { get { return _isSignatoriesEachPageFooter; } set { base.OnPropertyChange("isSignatoriesEachPageFooter", _isSignatoriesEachPageFooter, value); _isSignatoriesEachPageFooter = value; } } #endregion #region isDateTime : bool private bool _isDateTime; public bool IsDateTime { get { return _isDateTime; } set { base.OnPropertyChange("isDateTime", _isDateTime, value); _isDateTime = value; } } #endregion #region isGroupEachPage : bool private bool _isGroupEachPage; public bool IsGroupEachPage { get { return _isGroupEachPage; } set { base.OnPropertyChange("isGroupEachPage", _isGroupEachPage, value); _isGroupEachPage = value; } } #endregion #region iNSQL : string private string _iNSQL; public string INSQL { get { return _iNSQL; } set { base.OnPropertyChange("iNSQL", _iNSQL, value); _iNSQL = value; } } #endregion #region searchItems : string private string _searchItems; public string SearchItems { get { return _searchItems; } set { base.OnPropertyChange("searchItems", _searchItems, value); _searchItems = value; } } #endregion #region groupby : string private string _groupby; public string Groupby { get { return _groupby; } set { base.OnPropertyChange("groupby", _groupby, value); _groupby = value; } } #endregion #region progressBar : int private int _progressBar; public int ProgressBar { get { return _progressBar; } set { base.OnPropertyChange("progressBar", _progressBar, value); _progressBar = value; } } #endregion #region reportType : string private string _reportType; public string ReportType { get { return _reportType; } set { base.OnPropertyChange("reportType", _reportType, value); _reportType = value; } } #endregion #region Object name : string private string _objectName; public string ObjectName { get { return _objectName; } set { base.OnPropertyChange("ObjectName", _objectName, value); _objectName = value; } } #endregion #region Function name : string private string _functionName; public string FunctionName { get { return _functionName; } set { base.OnPropertyChange("ObjectName", _functionName, value); _functionName = value; } } #endregion #region Service Factory IReportItemService : IReportItemService internal static IReportItemService Service { get { return Services.Factory.CreateService(typeof(IReportItemService)); } } #endregion #endregion #region Functions public static ReportItem Get(ID nID) { ReportItem oReportItem = null; #region Cache Header oReportItem = (ReportItem)_cache["Get", nID]; if (oReportItem != null) return oReportItem; #endregion oReportItem = ReportItem.Service.Get(nID); #region Cache Footer _cache.Add(oReportItem, "Get", nID); #endregion return oReportItem; } public static ReportItem GetByReportType(int reportID) { ReportItem oReportItem = null; #region Cache Header oReportItem = (ReportItem)_cache["GetByReportType", reportID]; if(oReportItem != null) return oReportItem; #endregion oReportItem = ReportItem.Service.GetByReportType(reportID); #region Cache Footer _cache.Add(oReportItem, "GetByReportType", reportID); #endregion return oReportItem; } public static ObjectsTemplate Get(EnumStatus eStatus) { #region Cache Header ObjectsTemplate reportItems = _cache["Get"] as ObjectsTemplate; if (reportItems != null) return reportItems; #endregion try { reportItems = Service.Get(eStatus); } catch (ServiceException e) { throw new Exception(e.Message, e); } #region Cache Footer _cache.Add(reportItems, "Get"); #endregion return reportItems; } public ID Save() { base.SetAuditTrailProperties(); return ReportItem.Service.Save(this); } public void Delete() { ReportItem.Service.Delete(ID); } #endregion public static bool IsExist(ID ReportID) { return ReportItem.Service.IsExist(ReportID); } } #endregion #region IReportItem Service public interface IReportItemService { ReportItem Get(ID id); ObjectsTemplate Get(EnumStatus eStatus); ID Save(ReportItem item); void Delete(ID id); bool IsExist(ID ReportID); ReportItem GetByReportType(int reportID); } #endregion }