EchoTex_Payroll/HRM.BO/Fund/Loan/LoanCategory.cs

639 lines
18 KiB
C#
Raw Normal View History

2024-10-14 10:01:49 +06:00
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using Ease.Core;
using Ease.CoreV35;
using Ease.Core.Utility;
namespace HRM.BO
{
#region Class LoanCategory
[Serializable]
public class LoanCategory : BasicBaseObject// ,AuditTrailBase, IDisplayProperty
{
#region Constructor
public LoanCategory()
{
DefaultInterestRate = 0;
LoanCategoryCode = string.Empty;
Description = string.Empty;
UserObjectName = string.Empty;
IsActive = EnumLoanCategoryStatus.Active;
MaxAlowableFlatAmount = null;
MaxInstallment = 0;
MinInstallment = 0;
PercentageofFund = 0;
Version = 0;
ProjectID = 0;
}
#endregion
#region properties
#region Property DefaultInterestRate : double
public double DefaultInterestRate { get; set; }
//private double _defaultInterestRate;
//public double DefaultInterestRate
//{
// get { return _defaultInterestRate; }
// set
// {
// base.OnPropertyChange<double>("DefaultInterestRate", _defaultInterestRate, value);
// _defaultInterestRate = value;
// }
//}
#endregion Property DefaultInterestRate : double
#region Property LoanCategoryCode : string
public string LoanCategoryCode { get; set; }
//private string _loanCategoryCode;
//public string LoanCategoryCode
//{
// get { return _loanCategoryCode; }
// set
// {
// base.OnPropertyChange<string>("LoanCategoryCode", _loanCategoryCode, value);
// _loanCategoryCode = value;
// }
//}
#endregion Property LoanCategoryCode : string
#region Property UserObjectName : string
public string UserObjectName { get; set; }
//private string _userObjectName;
//public string UserObjectName
//{
// get { return _userObjectName; }
// set
// {
// base.OnPropertyChange<string>("UserObjectName", _userObjectName, value);
// _userObjectName = value;
// }
//}
#endregion Property UserObjectName : string
#region Property Description : string
public string Description { get; set; }
//private string _description;
//public string Description
//{
// get { return _description; }
// set
// {
// base.OnPropertyChange<string>("Description", _description, value);
// _description = value;
// }
//}
#endregion Property Description : string
#region Property IsActive : EnumLoanCategoryStatus
public EnumLoanCategoryStatus IsActive { get; set; }
//private EnumLoanCategoryStatus _isActive;
//public EnumLoanCategoryStatus IsActive
//{
// get { return _isActive; }
// set
// {
// base.OnPropertyChange<short>("IsActive", (short)_isActive, (short)value);
// _isActive = value;
// }
//}
#endregion Property IsActive : EnumLoanCategoryStatus
#region Property MaxAlowableFlatAmount : double
public double? MaxAlowableFlatAmount { get; set; }
//private double? _maxAlowableFlatAmount;
//public double? MaxAlowableFlatAmount
//{
// get { return _maxAlowableFlatAmount; }
// set
// {
// if (value != 0)
// {
// base.OnPropertyChange<double>("MaxAlowableFlatAmount", _maxAlowableFlatAmount, value);
// }
// _maxAlowableFlatAmount = value;
// }
//}
#endregion Property MaxAlowableFlatAmount : double
#region Property MaxInstallment : int
public int MaxInstallment { get; set; }
//private int _maxInstallment;
//public int MaxInstallment
//{
// get { return _maxInstallment; }
// set
// {
// base.OnPropertyChange<int>("MaxInstallment", _maxInstallment, value);
// _maxInstallment = value;
// }
//}
#endregion Property MaxInstallment : int
#region Property MinInstallment : int
public int MinInstallment { get; set; }
//private int _minInstallment;
//public int MinInstallment
//{
// get { return _minInstallment; }
// set
// {
// base.OnPropertyChange<int>("MinInstallment", _minInstallment, value);
// _minInstallment = value;
// }
//}
#endregion Property MinInstallment : int
#region Property PercentageofFund : double
public double? PercentageofFund { get; set; }
//private double? _percentageofFund;
//public double? PercentageofFund
//{
// get { return _percentageofFund; }
// set
// {
// if (value != 0)
// {
// base.OnPropertyChange<double>("PercentageofFund", _percentageofFund, value);
// }
// _percentageofFund = value;
// }
//}
#endregion Property PercentageofFund : double
#region Property Version : int
public int Version { get; set; }
//private int _version;
//public int Version
//{
// get { return _version; }
// set
// {
// base.OnPropertyChange<int>("Version", _version, value);
// _version = value;
// }
//}
#endregion Property Version : int
#region Property ProjectID : ID
public int ProjectID { get; set; }
//private ID _projectID;
//public ID ProjectID
//{
// get { return _projectID; }
// set
// {
// base.OnPropertyChange<ID>("ProjectID", _projectID, value);
// _projectID = value;
// }
//}
#endregion Property ProjectID : ID
#region Property CodeDesc : string
public string CodeDesc { get; set; }
//private string _codeDesc;
//public string CodeDesc
//{
// get
// {
// _codeDesc = this.LoanCategoryCode + "[" + this.Description + "]";
// return _codeDesc;
// }
//}
#endregion Property Code_Desc : string
#region Property LoanFundRelations : LoanCategoryFundRelations
//private LoanCategoryFundRelations _loanFundRelations;
//public LoanCategoryFundRelations LoanFundRelations
//{
// get
// {
// if (_loanFundRelations == null)
// _loanFundRelations = new LoanCategoryFundRelations();
// return _loanFundRelations;
// }
//}
#endregion Property LoanFundRelations : LoanCategoryFundRelations
#endregion
#region Class LoanCategoryFundRelation
//[Serializable]
//public class LoanCategoryFundRelation : AuditTrailBase
//{
// #region Cache
// private static Cache _cache = new Cache(typeof(LoanCategoryFundRelation));
// #endregion Cache
// #region Properties
// #region Property FundTypeID : ID
// private ID _fundTypeID;
// public ID FundTypeID
// {
// get { return _fundTypeID; }
// set
// {
// base.OnPropertyChange<ID>("FundTypeID", _fundTypeID, value);
// _fundTypeID = value;
// }
// }
// #endregion Property FundType : ID
// #region Property LoanCategoryID : ID
// private ID _loanCategoryID;
// public ID LoanCategoryID
// {
// get { return _loanCategoryID; }
// set
// {
// base.OnPropertyChange<ID>("LoanCategoryID", _loanCategoryID, value);
// _loanCategoryID = value;
// }
// }
// #endregion Property LoanCategoryID : ID
// #region Property ProjectID : ID
// private ID _projectID;
// public ID ProjectID
// {
// get { return _projectID; }
// set
// {
// base.OnPropertyChange<ID>("ProjectID", _projectID, value);
// _projectID = value;
// }
// }
// #endregion Property ProjectID : ID
// #endregion
//}
#endregion Class LoanCategoryFundRelation
#region Class LoanCategoryFundRelations
//[Serializable]
//public class LoanCategoryFundRelations : ObjectsTemplate<LoanCategoryFundRelation>
//{
// #region Constructor
// public LoanCategoryFundRelations()
// {
// }
// public LoanCategoryFundRelation GetItemByFundTypeID(ID fundTypeID)
// {
// return this.Find(delegate (LoanCategoryFundRelation item) { return item.FundTypeID == fundTypeID; });
// }
// #endregion
//}
#endregion
#region IDisplayProperty Members
//public string Column1
//{
// get { return this.LoanCategoryCode; }
//}
//public string Column2
//{
// get { return this.Description; }
//}
//public string Column3
//{
// get { return string.Empty; }
//}
//public int Column4
//{
// get { return this.ID; }
//}
//public List<IDisplayProperty> GetMe()
//{
// List<IDisplayProperty> disps = null;
// ObjectsTemplate<LoanCategory> lnCats = Service.Get();
// if (lnCats != null)
// {
// disps = new List<IDisplayProperty>();
// foreach (LoanCategory lnCat in lnCats)
// {
// disps.Add(lnCat);
// }
// }
// return disps;
//}
//public List<IDisplayProperty> GetMe(ID id)
//{
// List<IDisplayProperty> disps = null;
// LoanCategory lnCat = Service.Get(id, true);
// if (lnCat != null)
// {
// disps = new List<IDisplayProperty>();
// disps.Add(lnCat);
// }
// return disps;
//}
#endregion
//#region Function
//public void Save()
//{
// try
// {
// base.SetAuditTrailProperties(GlobalFunctions.GetServerDate().Date, User.CurrentUser.ID);
// Service.Save(this);
// //Clear Cache
// CacheInfo.ClearCache(typeof(LoanCategory).FullName);
// }
// catch (Exception e)
// {
// throw new Exception(e.Message, e);
// }
//}
//public LoanCategory Get(ID id, bool isGetChild)
//{
// #region Cache Header
// LoanCategory loanCategory = _cache["Get", id, isGetChild] as LoanCategory;
// if (loanCategory != null)
// return loanCategory;
// #endregion
// try
// {
// loanCategory = Service.Get(id, isGetChild);
// }
// catch (ServiceException e)
// {
// throw new Exception(e.Message, e);
// }
// #region Cache Footer
// _cache.Add(loanCategory, "Get", id, isGetChild);
// #endregion
// return loanCategory;
//}
//public LoanCategory Get(string loanCategoryCode, bool isGetChild)
//{
// #region Cache Header
// LoanCategory loanCategory = _cache["Get", loanCategoryCode, isGetChild] as LoanCategory;
// if (loanCategory != null)
// return loanCategory;
// #endregion
// try
// {
// loanCategory = Service.Get(loanCategoryCode, isGetChild);
// }
// catch (ServiceException e)
// {
// throw new Exception(e.Message, e);
// }
// #region Cache Footer
// _cache.Add(loanCategory, "Get", loanCategoryCode, isGetChild);
// #endregion
// return loanCategory;
//}
//public static ObjectsTemplate<LoanCategory> Get()
//{
// #region Cache Header
// ObjectsTemplate<LoanCategory> loanCategories = _cache["Get"] as ObjectsTemplate<LoanCategory>;
// if (loanCategories != null)
// return loanCategories;
// #endregion
// try
// {
// loanCategories = Service.Get();
// }
// catch (ServiceException e)
// {
// throw new Exception(e.Message, e);
// }
// #region Cache Footer
// _cache.Add(loanCategories, "Get");
// #endregion
// return loanCategories;
//}
//public static ObjectsTemplate<LoanCategory> Get(EnumLoanCategoryStatus status)
//{
// ObjectsTemplate<LoanCategory> loanCategories = new ObjectsTemplate<LoanCategory>();
// try
// {
// loanCategories = Service.Get(status);
// }
// catch (ServiceException e)
// {
// throw new Exception(e.Message, e);
// }
// return loanCategories;
//}
//public static DataTable GetTable()
//{
// try
// {
// return Service.GetTable();
// }
// catch (ServiceException e)
// {
// throw new Exception(e.Message, e);
// }
//}
//public bool IsIssued(ID loancatID)
//{
// try
// {
// return Service.IsIssued(loancatID);
// }
// catch (ServiceException e)
// {
// throw new ServiceException(e.Message, e);
// }
//}
//#region IsExist
//public bool IsExist(string sCode, int version)
//{
// try
// {
// return Service.IsExist(sCode, version);
// }
// catch (ServiceException e)
// {
// throw new ServiceException(e.Message, e);
// }
//}
//#endregion
//#region Validation Function
//public bool Validate(ref string sMessage, string code, ref int msgNo, bool check)
//{
// if (!this.IsNew && (this.LoanCategoryCode == code))
// {
// }
// else if (this.IsExist(this.LoanCategoryCode, 0))
// {
// sMessage = "Category code can not be duplicate";
// msgNo = 1;
// return false;
// }
// if (this.LoanCategoryCode == string.Empty || this.LoanCategoryCode == null)
// {
// sMessage = "Code Cannot be empty";
// msgNo = 2;
// return false;
// }
// if (this.Description == string.Empty || this.Description == null)
// {
// sMessage = "Description cannot be empty";
// msgNo = 3;
// return false;
// }
// if (this.MinInstallment <= 0)
// {
// sMessage = "Min installment no must be greater than 0";
// msgNo = 4;
// return false;
// }
// if (this.MaxInstallment <= 0)
// {
// sMessage = "Max installment no must be greater than 0";
// msgNo = 5;
// return false;
// }
// if (!(this.MaxInstallment > this.MinInstallment))
// {
// sMessage = "Max installment no must be greater than min installment no.";
// msgNo = 6;
// return false;
// }
// if (this.DefaultInterestRate <= 0)
// {
// sMessage = "Default Interest Rate Cannot be 0";
// msgNo = 7;
// return false;
// }
// if (check == true)
// {
// if (this.MaxAlowableFlatAmount == 0)
// {
// sMessage = "Please insert max alowable flat amount.";
// msgNo = 8;
// return false;
// }
// }
// else
// {
// if (this.PercentageofFund == 0)
// {
// sMessage = "Please insert percentage of fund.";
// msgNo = 9;
// return false;
// }
// }
// if (this.LoanFundRelations.Count == 0)
// {
// sMessage = "Please select fund.";
// msgNo = 10;
// return false;
// }
// return true;
//}
//#endregion
//public void ChangeStatus(EnumLoanCategoryStatus status)
//{
// try
// {
// base.SetAuditTrailProperties(GlobalFunctions.GetServerDate().Date, User.CurrentUser.ID);
// Service.ChangeStatus(this, status);
// //Clear Cache
// CacheInfo.ClearCache(typeof(LoanCategory).FullName);
// }
// catch (ServiceException e)
// {
// throw new Exception(e.Message, e);
// }
//}
//#endregion
}
#endregion
public interface ILoanCategoryService
{
void Save(LoanCategory loanCategory);
void ChangeStatus(LoanCategory loanCategory, EnumLoanCategoryStatus status);
List<LoanCategory> Get(EnumLoanCategoryStatus status);
LoanCategory Get(int loanCategoryID, bool isGetChild);
LoanCategory Get(string loanCategoryCode, bool isGetChild);
DataTable GetTable();
List<LoanCategory> Get();
bool IsExist(string loanCode, int version);
bool IsIssued(int loancatID);
}
}