using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using Ease.CoreV35.Caching; using Ease.CoreV35.Model; namespace Payroll.BO { [Serializable] public class HRRequest : BasicBaseObject, IworkflowInterface { #region Cache Store private static Cache _cache = new Cache(typeof(HRRequest)); #endregion #region Constructor public HRRequest() { _nEmployeeID = ID.FromInteger(0); _sDescription = string.Empty; _nAmount = 0; _nTaxable = 0; _nNonTaxable = 0; _nTaxAmount = 0; _sRemarks = string.Empty; _bSubmittedOriginalPaper = false; _eWfStatus = enumwfStatus.Passed; _oHRRequestDetails = null; _nLetterTypeID = ID.FromInteger(0); _sIssuerAddress = string.Empty; _dFromDate = DateTime.MinValue; _dToDate = DateTime.MinValue; _nLoanID = ID.FromInteger(0); _sLoanName = string.Empty; _bIsOfficial = false; _bIsWithFamily = false; _oHRRequestPassports = null; _requestCompleted = false; _Justification = ""; _sPurpose = string.Empty; _sTypeOfProperty = string.Empty; _sLand = string.Empty; _ValueofProperty = 0.0; _ExoectedDateofCompletion = DateTime.Today; _NameofVendor = ""; _AddressofVendor = ""; _Teleohone = ""; _Dependency=string.Empty; _DependencyAges = string.Empty; _ExceptionReason = string.Empty; _Vendor = string.Empty; _CostEstimate = 0.0; _InsuranceDate = DateTime.Today; _ExpectedDateofRegistration = DateTime.Today; _IsPaymentRequested = false; _BankID = null; _AccountNo = string.Empty; _PaidDate = DateTime.Today; _PaidRemarks = string.Empty; _PaymentMode = EnumPaymentMode.BankTransfer; _MailingAddress = string.Empty; _LocationofProperty = string.Empty; } #endregion #region IsPaymentRequested : bool private bool _IsPaymentRequested; public bool IsPaymentRequested { get { return _IsPaymentRequested; } set { _IsPaymentRequested = value; } } #endregion #region BankID : int private ID _BankID; public ID BankID { get { return _BankID; } set { _BankID = value; } } #endregion #region AccountNo : string private string _AccountNo; public string AccountNo { get { return _AccountNo; } set { _AccountNo = value; } } #endregion #region Remarks : string private string _PaidRemarks; public string PaidRemarks { get { return _PaidRemarks; } set { _PaidRemarks = value; } } #endregion #region PaidDate : DateTime private DateTime _PaidDate; public DateTime PaidDate { get { return _PaidDate; } set { _PaidDate = value; } } #endregion #region PaidDate : DateTime private EnumPaymentMode _PaymentMode; public EnumPaymentMode PaymentMode { get { return _PaymentMode; } set { _PaymentMode = value; } } #endregion #region Properties #region ExpectedDateofRegistration : Datetime private DateTime? _ExpectedDateofRegistration; public DateTime? ExpectedDateofRegistration { get { return _ExpectedDateofRegistration; } set { base.OnPropertyChange("ExpectedDateofRegistration", _ExpectedDateofRegistration, value); _ExpectedDateofRegistration = value; } } #endregion #region Dependency : string private string _Dependency; public string Dependency { get { return _Dependency; } set { base.OnPropertyChange("Dependency", _Dependency, value); _Dependency = value; } } #endregion #region InsuranceVendor : string private string _Vendor; public string InsuranceVendor { get { return _Vendor; } set { base.OnPropertyChange("InsuranceVendor", _Vendor, value); _Vendor = value; } } #endregion #region DependencyAges : string private string _DependencyAges; public string DependencyAges { get { return _DependencyAges; } set { base.OnPropertyChange("DependencyAges", _DependencyAges, value); _DependencyAges = value; } } #endregion #region ExceptionReason : string private string _ExceptionReason; public string ExceptionReason { get { return _ExceptionReason; } set { base.OnPropertyChange("ExceptionReason", _ExceptionReason, value); _ExceptionReason = value; } } #endregion #region InsuranceDate : Datetime private DateTime? _InsuranceDate; public DateTime? InsuranceDate { get { return _InsuranceDate; } set { base.OnPropertyChange("InsuranceDate", _InsuranceDate, value); _InsuranceDate = value; } } #endregion #region CostEstimate : double private double _CostEstimate; public double CostEstimate { get { return _CostEstimate; } set { _CostEstimate = value; } } #endregion #region ValueofProperty : double private double _ValueofProperty; public double ValueofProperty { get { return _ValueofProperty; } set { _ValueofProperty = value; } } #endregion #region ExoectedDateofCompletion : Datetime private DateTime _ExoectedDateofCompletion; public DateTime ExoectedDateofCompletion { get { return _ExoectedDateofCompletion; } set { base.OnPropertyChange("ExoectedDateofCompletion", _ExoectedDateofCompletion, value); _ExoectedDateofCompletion = value; } } #endregion #region NameofVendor : string private string _NameofVendor; public string NameofVendor { get { return _NameofVendor; } set { base.OnPropertyChange("NameofVendor", _NameofVendor, value); _NameofVendor = value; } } #endregion #region AddressofVendor : string private string _AddressofVendor; public string AddressofVendor { get { return _AddressofVendor; } set { base.OnPropertyChange("AddressofVendor", _AddressofVendor, value); _AddressofVendor = value; } } #endregion #region Teleohone : string private string _Teleohone; public string Teleohone { get { return _Teleohone; } set { base.OnPropertyChange("Teleohone", _Teleohone, value); _Teleohone = value; } } #endregion #region LocationofProperty : string private string _LocationofProperty; public string LocationofProperty { get { return _LocationofProperty; } set { base.OnPropertyChange("LocationofProperty", _LocationofProperty, value); _LocationofProperty = value; } } #endregion #region MailingAddress : string private string _MailingAddress; public string MailingAddress { get { return _MailingAddress; } set { base.OnPropertyChange("MailingAddress", _MailingAddress, value); _MailingAddress = value; } } #endregion #region Justification : string private string _Justification; public string Justification { get { return _Justification; } set { base.OnPropertyChange("Justification", _Justification, value); _Justification = value; } } #endregion #region ClaimNumber : string private string _sClaimNumber; public string ClaimNumber { get { return _sClaimNumber; } set { _sClaimNumber = value; } } #endregion #region EmployeeID : ID private ID _nEmployeeID; public ID EmployeeID { get { return _nEmployeeID; } set { _nEmployeeID = value; } } #endregion #region Employee : Employee private Employee _employee; public Employee Employee { get { if (_employee == null && _nEmployeeID != ID.FromInteger(0)) { //_employee = new Employee(); _employee = Employee.Get(_nEmployeeID); } return _employee; } set { _employee = value; } } #endregion #region Description : string private string _sDescription; public string Description { get { return _sDescription; } set { _sDescription = value; } } #endregion #region Amount : double private double _nAmount; public double Amount { get { return _nAmount; } set { _nAmount = value; } } #endregion #region Taxable : double private double _nTaxable; public double Taxable { get { return _nTaxable; } set { _nTaxable = value; } } #endregion #region NonTaxable : double private double _nNonTaxable; public double NonTaxable { get { return _nNonTaxable; } set { _nNonTaxable = value; } } #endregion #region TaxAmount : double private double _nTaxAmount; public double TaxAmount { get { return _nTaxAmount; } set { _nTaxAmount = value; } } #endregion #region Purpose : string private string _sPurpose; public string Purpose { get { return _sPurpose; } set { _sPurpose = value; } } #endregion #region TypeOfProperty : string private string _sTypeOfProperty; public string TypeOfProperty { get { return _sTypeOfProperty; } set { _sTypeOfProperty = value; } } #endregion #region Land : string private string _sLand; public string Land { get { return _sLand; } set { _sLand = value; } } #endregion #region RequestType: EnumRequestType private EnumRequestType _eRequestType; public EnumRequestType RequestType { get { return _eRequestType; } set { _eRequestType = value; } } #endregion #region Remarks : string private string _sRemarks; public string Remarks { get { return _sRemarks; } set { _sRemarks = value; } } #endregion #region EmbassyName : string private string _embassyName; public string EmbassyName { get { return _embassyName; } set { _embassyName = value; } } #endregion #region EmbassyAddress : string private string _embassyAddress; public string EmbassyAddress { get { return _embassyAddress; } set { _embassyAddress = value; } } #endregion #region CountryID : ID public ID CountryID { get; set; } #endregion #region RequestDate : DateTime private DateTime _dRequestDate; public DateTime RequestDate { get { return _dRequestDate; } set { _dRequestDate = value; } } #endregion #region SubmittedOriginalPaper : bool private bool _bSubmittedOriginalPaper; public bool SubmittedOriginalPaper { get { return _bSubmittedOriginalPaper; } set { _bSubmittedOriginalPaper = value; } } #endregion #region WfStatus : enumwfStatus private enumwfStatus _eWfStatus; public enumwfStatus WfStatus { get { return _eWfStatus; } set { _eWfStatus = value; } } #endregion #region HRRequestDetails : ObjectsTemplate private ObjectsTemplate _oHRRequestDetails; public ObjectsTemplate HRRequestDetails { get { if (this.ID != null && _oHRRequestDetails == null) { _oHRRequestDetails = HRRequest.Service.GetHRequestDetails(this.ID); } return _oHRRequestDetails; } set { _oHRRequestDetails = value; } } #endregion #region HRRequestPassports : ObjectsTemplate private ObjectsTemplate _oHRRequestPassports; public ObjectsTemplate HRRequestPassports { get { if (this.ID != null && !this.ID.IsUnassigned && _oHRRequestPassports == null) { _oHRRequestPassports = HRRequest.Service.GetHRRequestPassports(this.ID); } return _oHRRequestPassports; } set { _oHRRequestPassports = value; } } #endregion #region HRRequestLoan : ObjectsTemplate private ObjectsTemplate _oHRRequestLoans; public ObjectsTemplate HRRequestLoans { get { if (this.ID != null && _oHRRequestLoans == null) { _oHRRequestLoans = HRRequest.Service.GetHRRequestLoans(this.ID); } return _oHRRequestLoans; } set { _oHRRequestLoans = value; } } #endregion #region HRRequestLoanDetail : ObjectsTemplate private ObjectsTemplate _oHRRequestLoanDetails; public ObjectsTemplate HRRequestLoanDetails { get { if (this.ID != null && _oHRRequestLoanDetails == null) { _oHRRequestLoanDetails = HRRequest.Service.GetHRRequestLoanDetails(this.ID); } return _oHRRequestLoanDetails; } set { _oHRRequestLoanDetails = value; } } #endregion #region HRRequestLoanDetail : ObjectsTemplate private ObjectsTemplate _oHRRequestPaymentSchedules; public ObjectsTemplate HRRequestPaymentSchedules { get { if (this.ID != null && _oHRRequestPaymentSchedules == null) { _oHRRequestPaymentSchedules = HRRequest.Service.GetHRRequestPaymentSchedules(this.ID); } return _oHRRequestPaymentSchedules; } set { _oHRRequestPaymentSchedules = value; } } #endregion #region LetterTypeID : ID private ID _nLetterTypeID; public ID LetterTypeID { get { return _nLetterTypeID; } set { _nLetterTypeID = value; } } #endregion #region IssuerAddress : string private string _sIssuerAddress; public string IssuerAddress { get { return _sIssuerAddress; } set { _sIssuerAddress = value; } } #endregion #region LoanID : ID private ID _nLoanID; public ID LoanID { get { return _nLoanID; } set { _nLoanID = value; } } #endregion #region LoanName : string private string _sLoanName; public string LoanName { get { return _sLoanName; } set { _sLoanName = value; } } #endregion #region FromDate : DateTime private DateTime _dFromDate; public DateTime FromDate { get { return _dFromDate; } set { _dFromDate = value; } } #endregion #region ToDate : DateTime private DateTime _dToDate; public DateTime ToDate { get { return _dToDate; } set { _dToDate = value; } } #endregion #region IsOfficial : bool private bool _bIsOfficial; public bool IsOfficial { get { return _bIsOfficial; } set { _bIsOfficial = value; } } #endregion #region IsWithFamily : bool private bool _bIsWithFamily; public bool IsWithFamily { get { return _bIsWithFamily; } set { _bIsWithFamily = value; } } #endregion #region RequestCompleted : bool private bool _requestCompleted; public bool RequestComplted { get { return _requestCompleted; } set { _requestCompleted = value; } } #endregion #region Service Factory internal static IHRRequestService Service { get { return Services.Factory.CreateService(typeof(IHRRequestService)); } } #endregion #endregion #region Functions public static HRRequest Get(ID id) { HRRequest oreq = new HRRequest(); oreq = HRRequest.Service.Get(id); return oreq; } private static DataTable CreateLFAMedInsranceTable(ObjectsTemplate oReqests) { List oBanks = Bank.Get(EnumStatus.Active).ToList(); DataTable dt = new DataTable(); dt.Columns.Add("HRRequestID"); dt.Columns.Add("ClaimNo"); dt.Columns.Add("Description"); dt.Columns.Add("Amount"); dt.Columns.Add("ReqType"); dt.Columns.Add("WfStatus"); dt.Columns.Add("ReqDate"); dt.Columns.Add("PaymentStatus"); foreach (HRRequest item in oReqests) { DataRow dr = dt.NewRow(); dr["HRRequestID"] = item.ID.Integer; dr["ClaimNo"] = item.ClaimNumber; dr["Description"] = item.Description; dr["Amount"] = item.Amount; dr["ReqType"] = item.RequestType.ToString(); dr["ReqDate"] = item.RequestDate.ToString("dd MMM yyyy"); if (item.AccountNo != null && item.AccountNo.Trim() != string.Empty) { string chkOrAccNo = item.PaymentMode==EnumPaymentMode.CashPayment ? "Account No:":"Check No:"; string chkDateOrPaymentDate = item.PaymentMode==EnumPaymentMode.CashPayment ? "Payment Date:":"Check Date:"; Bank oBank = oBanks.Where(o=>o.ID == item.BankID).SingleOrDefault(); dr["PaymentStatus"] = String.Format(@"Payment Completed:Payment Mode:{0}, {1}{2}:{3},{4}:{5},Remarks:{6}",item.PaymentMode.ToString(),(oBank!=null?("Bank:"+oBank.Name+","):""),chkOrAccNo,item.AccountNo,chkDateOrPaymentDate,item.PaidDate.ToString("dd MMM yyyy"),item.PaidRemarks); } else { dr["PaymentStatus"] = "Payment Not Done"; } switch (item.WfStatus) { case enumwfStatus.Not_yet_Initiated: case enumwfStatus.Received: case enumwfStatus.Passed: dr["WfStatus"] = "In Process"; break; case enumwfStatus.Approve: case enumwfStatus.End: dr["WfStatus"] = "Approved"; break; case enumwfStatus.Revert: dr["WfStatus"] = "Reverted"; break; default: dr["WfStatus"] = item.WfStatus.ToString().Replace('_', ' '); break; } if (item.RequestComplted) dr["WfStatus"] = "Terminated"; dt.Rows.Add(dr); } return dt; } private static DataTable CreateActiveLFAMedInsranceTable(ObjectsTemplate oReqests) { List oBanks = Bank.Get(EnumStatus.Active).ToList(); DataTable dt = new DataTable(); dt.Columns.Add("HRRequestID"); dt.Columns.Add("ClaimNo"); dt.Columns.Add("Description"); dt.Columns.Add("Amount"); dt.Columns.Add("ReqType"); dt.Columns.Add("WfStatus"); dt.Columns.Add("ReqDate"); dt.Columns.Add("RequestComplted"); dt.Columns.Add("PaymentStatus"); foreach (HRRequest item in oReqests) { if (item.RequestComplted == true) continue; DataRow dr = dt.NewRow(); dr["HRRequestID"] = item.ID.Integer; dr["ClaimNo"] = item.ClaimNumber; dr["Description"] = item.Description; dr["Amount"] = item.Amount; dr["ReqType"] = item.RequestType.ToString(); dr["ReqDate"] = item.RequestDate.ToString("dd MMM yyyy"); if (item.AccountNo != null && item.AccountNo.Trim() != string.Empty) { string chkOrAccNo = item.PaymentMode == EnumPaymentMode.CashPayment ? "Account No" : "Check No"; string chkDateOrPaymentDate = item.PaymentMode == EnumPaymentMode.CashPayment ? "Payment Date" : "Check Date"; Bank oBank = oBanks.Where(o => o.ID == item.BankID).SingleOrDefault(); dr["PaymentStatus"] = String.Format(@"Payment Completed:Payment Mode:{0}, {1}{2}:{3},{4}:{5},Remarks:{6}", item.PaymentMode.ToString(), (oBank != null ? ("Bank:" + oBank.Name + ",") : ""), chkOrAccNo, item.AccountNo, chkDateOrPaymentDate, item.PaidDate.ToString("dd MMM yyyy"), item.PaidRemarks); } else { dr["PaymentStatus"] = "Payment Not Done"; } switch (item.WfStatus) { case enumwfStatus.Not_yet_Initiated: case enumwfStatus.Received: case enumwfStatus.Passed: dr["WfStatus"] = "Sent to Approver"; break; case enumwfStatus.Approve: case enumwfStatus.End: dr["WfStatus"] = "Sent to HR"; break; case enumwfStatus.Revert: dr["WfStatus"] = "Reverted"; break; case enumwfStatus.Decline: dr["WfStatus"] = "Decline"; break; default: dr["WfStatus"] = item.WfStatus.ToString().Replace('_', ' '); break; } if (item.WfStatus == enumwfStatus.End && item.IsPaymentRequested ==true ) { if (item.AccountNo != null && item.AccountNo.Trim() != string.Empty) { string chkOrAccNo = item.PaymentMode == EnumPaymentMode.CashPayment ? "Account No" : "Check No"; string chkDateOrPaymentDate = item.PaymentMode == EnumPaymentMode.CashPayment ? "Payment Date" : "Check Date"; Bank oBank = oBanks.Where(o => o.ID == item.BankID).SingleOrDefault(); dr["WfStatus"] = String.Format(@"Payment Completed:Payment Mode:{0}, {1}{2}:{3},{4}:{5},Remarks:{6}", item.PaymentMode.ToString(), (oBank != null ? ("Bank:" + oBank.Name + ",") : ""), chkOrAccNo, item.AccountNo, chkDateOrPaymentDate, item.PaidDate.ToString("dd MMM yyyy"), item.PaidRemarks); } else { dr["WfStatus"] = "HR sends payment Request"; } } dt.Rows.Add(dr); } return dt; } private static DataTable CreateLetterClaimTable(ObjectsTemplate oReqests) { DataTable dt = new DataTable(); dt.Columns.Add("HRRequestID"); dt.Columns.Add("ClaimNo"); dt.Columns.Add("IssuerAddress"); dt.Columns.Add("RequestDate"); dt.Columns.Add("LetterType"); dt.Columns.Add("IsOfficial"); dt.Columns.Add("IsWithFamily"); dt.Columns.Add("FromDate"); dt.Columns.Add("ToDate"); dt.Columns.Add("WfStatus"); foreach (HRRequest item in oReqests) { DataRow dr = dt.NewRow(); dr["HRRequestID"] = item.ID.Integer; dr["ClaimNo"] = item.ClaimNumber; dr["IssuerAddress"] = item.IssuerAddress == null ? " -" : item.IssuerAddress; dr["RequestDate"] = item.RequestDate.ToString("dd MMM yyyy"); dr["LetterType"] = ((EnumLetterType)item.LetterTypeID.Integer).ToString().Replace("_", " "); dr["FromDate"] = item.FromDate == DateTime.MinValue ? " -" : item.FromDate.ToString(); dr["ToDate"] = item.ToDate == DateTime.MinValue ? " -" : item.ToDate.ToString(); dr["IsOfficial"] = item.IsOfficial; dr["IsWithFamily"] = item.IsWithFamily; switch (item.WfStatus) { case enumwfStatus.Not_yet_Initiated: case enumwfStatus.Received: case enumwfStatus.Passed: case enumwfStatus.Revert: case enumwfStatus.Decline: dr["WfStatus"] = "In Process"; break; case enumwfStatus.Approve: case enumwfStatus.End: dr["WfStatus"] = "Approved"; break; default: dr["WfStatus"] = item.WfStatus.ToString(); break; } if (item.RequestComplted) dr["WfStatus"] = "Terminated"; dt.Rows.Add(dr); } return dt; } private static DataTable CreateActiveLetterClaimTable(ObjectsTemplate oReqests) { DataTable dt = new DataTable(); dt.Columns.Add("HRRequestID"); dt.Columns.Add("ClaimNo"); dt.Columns.Add("IssuerAddress"); dt.Columns.Add("RequestDate"); dt.Columns.Add("LetterType"); dt.Columns.Add("IsOfficial"); dt.Columns.Add("IsWithFamily"); dt.Columns.Add("FromDate"); dt.Columns.Add("ToDate"); dt.Columns.Add("WfStatus"); foreach (HRRequest item in oReqests) { if (item.RequestComplted == true) continue; DataRow dr = dt.NewRow(); dr["HRRequestID"] = item.ID.Integer; dr["ClaimNo"] = item.ClaimNumber; dr["IssuerAddress"] = item.IssuerAddress == null ? " -" : item.IssuerAddress; dr["RequestDate"] = item.RequestDate.ToString("dd MMM yyyy"); //dr["LetterType"] = ((EnumLetterType)item.LetterTypeID.Integer).ToString().Replace("_", " "); dr["LetterType"] = ((EnumLetterType)item.LetterTypeID.Integer).ToString().Replace("_", " "); dr["FromDate"] = item.FromDate == DateTime.MinValue ? " -" : item.FromDate.ToString(); dr["ToDate"] = item.ToDate == DateTime.MinValue ? " -" : item.ToDate.ToString(); dr["IsOfficial"] = item.IsOfficial; dr["IsWithFamily"] = item.IsWithFamily; switch (item.WfStatus) { case enumwfStatus.Not_yet_Initiated: case enumwfStatus.Received: case enumwfStatus.Passed: case enumwfStatus.Revert: case enumwfStatus.Decline: dr["WfStatus"] = "In Process"; break; case enumwfStatus.Approve: case enumwfStatus.End: dr["WfStatus"] = "Approved"; break; default: dr["WfStatus"] = item.WfStatus.ToString(); break; } dt.Rows.Add(dr); } return dt; } private static DataTable CreateActiveLoanTable(ObjectsTemplate oReqests) { DataTable dt = new DataTable(); dt.Columns.Add("HRRequestID"); dt.Columns.Add("Description"); dt.Columns.Add("LoanName"); dt.Columns.Add("Amount"); dt.Columns.Add("WfStatus"); dt.Columns.Add("RequestDate"); dt.Columns.Add("LoanID"); foreach (HRRequest item in oReqests) { Loan oloan = Loan.Get(item.LoanID); if (item.RequestComplted) continue; DataRow dr = dt.NewRow(); dr["HRRequestID"] = item.ID.Integer; dr["LoanName"] = oloan.Name; dr["Description"] = item.Description; dr["Amount"] = item.Amount; dr["RequestDate"] = item.RequestDate.ToString("dd MMM yyyy"); if (item.WfStatus != enumwfStatus.End) { WFMovementNext otran = WFMovementTran.GetReceivedWFNext(item.SetupID.Integer, item.ID.Integer); if (otran != null) { Employee emp = Employee.Get(otran.EmployeeID); string sAttText = emp.Name + ", " + emp.DescriptionText; switch (item.WfStatus) { case enumwfStatus.Not_yet_Initiated: case enumwfStatus.Received: dr["WfStatus"] = "Pending at " + sAttText;//"Sent to Approver"; break; case enumwfStatus.Passed: dr["WfStatus"] = "Pending at " + sAttText;// "Sent to Approver"; break; case enumwfStatus.Revert: dr["WfStatus"] = "Reverted by " + sAttText;//"Reverted"; break; case enumwfStatus.Decline: dr["WfStatus"] = "Rejected by " + sAttText;//"Declined"; break; case enumwfStatus.Approve: case enumwfStatus.End: dr["WfStatus"] = "Approved and Sent to HR"; break; default: dr["WfStatus"] = item.WfStatus.ToString().Replace('_', ' '); break; } } } else { dr["WfStatus"]="Approved and sent to HR"; } dr["LoanID"] = item.LoanID.Integer; dt.Rows.Add(dr); } return dt; } private static DataTable CreateLoanTable(ObjectsTemplate oReqests) { DataTable dt = new DataTable(); dt.Columns.Add("HRRequestID"); dt.Columns.Add("Description"); dt.Columns.Add("LoanName"); dt.Columns.Add("Amount"); dt.Columns.Add("WfStatus"); dt.Columns.Add("RequestDate"); foreach (HRRequest item in oReqests) { Loan oloan = Loan.Get(item.LoanID); DataRow dr = dt.NewRow(); dr["HRRequestID"] = item.ID.Integer; dr["LoanName"] = oloan.Name; dr["Description"] = item.Description; dr["Amount"] = item.Amount; dr["RequestDate"] = item.RequestDate.ToString("dd MMM yyyy"); switch (item.WfStatus) { case enumwfStatus.Not_yet_Initiated: case enumwfStatus.Received: dr["WfStatus"] = "Sent to Approver"; break; case enumwfStatus.Passed: dr["WfStatus"] = "Sent to Approver"; break; case enumwfStatus.Revert: dr["WfStatus"] = "Reverted"; break; case enumwfStatus.Decline: dr["WfStatus"] = "Declined"; break; case enumwfStatus.Approve: case enumwfStatus.End: if (item.RequestComplted == true) dr["WfStatus"] = "Completed"; else dr["WfStatus"] = "Sent to HR"; break; default: dr["WfStatus"] = item.WfStatus.ToString(); break; } if (item.RequestComplted) dr["WfStatus"] = "Terminated"; dt.Rows.Add(dr); } return dt; } private static DataTable CreateLFAMedInshDetailTable(ObjectsTemplate oReqestDetails, ID reqID) { HRRequest oHRRequest = HRRequest.Get(reqID); DataTable dt = new DataTable(); dt.Columns.Add("HRRequestDetailID"); dt.Columns.Add("HRRequestID"); dt.Columns.Add("EmployeeID"); dt.Columns.Add("Remarks"); dt.Columns.Add("RemarksDate"); dt.Columns.Add("IsRead"); dt.Columns.Add("IsHR"); dt.Columns.Add("Sender"); dt.Columns.Add("ReadStatus"); dt.Columns.Add("Courier"); foreach (HRRequestDetail item in oReqestDetails) { DataRow dr = dt.NewRow(); dr["HRRequestDetailID"] = item.ID.Integer; dr["HRRequestID"] = item.HRRequestID.Integer; dr["EmployeeID"] = item.EmployeeID.Integer; dr["Remarks"] = item.Remarks; dr["RemarksDate"] = item.RemarksDate.ToString("dd MMM yyyy"); dr["IsRead"] = item.IsRead; dr["IsHR"] = item.IsHR; if (item.EmployeeID.Integer == oHRRequest.EmployeeID.Integer) { dr["Sender"] = "Me"; } else { dr["Sender"] = item.EmployeeID.Integer == 0 ? "" : Employee.Get(item.EmployeeID).Name; } if (item.IsRead) { dr["ReadStatus"] = "Read"; } else { dr["ReadStatus"] = "Not Read"; } if (item.CourierID.Integer != 0) { dr["Courier"] = "Courier_Name:" + item.CourierName + (string.IsNullOrEmpty(item.TokenNumber) ? " " : (" Token_Number:" + item.TokenNumber)) + " Courier_Date:" + item.CourierDate.ToString("dd MMM yyyy"); } dt.Rows.Add(dr); } return dt; } private static DataTable CreateDetailTable(ObjectsTemplate oReqestDetails, ID reqID) { HRRequest oHRRequest = new HRRequest(); oHRRequest = HRRequest.Get(reqID); DataTable dt = new DataTable(); dt.Columns.Add("HRRequestDetailID"); dt.Columns.Add("HRRequestID"); dt.Columns.Add("EmployeeID"); dt.Columns.Add("Remarks"); dt.Columns.Add("RemarksDate"); dt.Columns.Add("IsRead"); dt.Columns.Add("IsHR"); dt.Columns.Add("Sender"); dt.Columns.Add("ReadStatus"); dt.Columns.Add("Courier"); foreach (HRRequestDetail item in oReqestDetails) { DataRow dr = dt.NewRow(); dr["HRRequestDetailID"] = item.ID.Integer; dr["HRRequestID"] = item.HRRequestID.Integer; dr["EmployeeID"] = item.EmployeeID.Integer; dr["Remarks"] = item.Remarks; dr["RemarksDate"] = item.RemarksDate.ToString("dd MMM yyyy"); dr["IsRead"] = item.IsRead; dr["IsHR"] = item.IsHR; if (item.EmployeeID.Integer == oHRRequest.EmployeeID.Integer) { dr["Sender"] = "Me"; } else { dr["Sender"] = item.EmployeeID.Integer == 0 ? "HR" : Employee.Get(item.EmployeeID).Name; } if (item.IsRead) { dr["ReadStatus"] = "Read"; } else { dr["ReadStatus"] = "Not Read"; } if (item.CourierID.Integer != 0) dr["Courier"] = "Courier_Name:" + Vendor.Get(item.CourierID).Name + " Token_Number:" + item.TokenNumber + " Courier_Date:" + item.CourierDate.ToString("dd MMM yyyy"); dt.Rows.Add(dr); } return dt; } private static DataTable CreateLetterDetailTable(ObjectsTemplate oReqestDetails, ID reqID) { HRRequest oHRRequest = HRRequest.Get(reqID); DataTable dt = new DataTable(); dt.Columns.Add("HRRequestDetailID"); dt.Columns.Add("HRRequestID"); dt.Columns.Add("EmployeeID"); dt.Columns.Add("Sender"); dt.Columns.Add("Remarks"); dt.Columns.Add("RemarksDate"); dt.Columns.Add("ReadStatus"); dt.Columns.Add("IsRead"); dt.Columns.Add("IsHR"); dt.Columns.Add("Courier"); foreach (HRRequestDetail item in oReqestDetails) { DataRow dr = dt.NewRow(); dr["HRRequestDetailID"] = item.ID.Integer; dr["HRRequestID"] = item.HRRequestID.Integer; dr["EmployeeID"] = item.EmployeeID.Integer; dr["Remarks"] = item.Remarks; dr["RemarksDate"] = item.RemarksDate.ToString("dd MMM yyyy"); dr["IsRead"] = item.IsRead; dr["IsHR"] = item.IsHR; if (item.EmployeeID.Integer == oHRRequest.EmployeeID.Integer) { dr["Sender"] = "Me"; } else { dr["Sender"] = item.EmployeeID.Integer == 0 ? "HR" : "HR: " + Employee.Get(item.EmployeeID).Name; } if (item.IsRead) { dr["ReadStatus"] = "Read"; } else { dr["ReadStatus"] = "Not Read"; } if (item.CourierID.Integer != 0) dr["Courier"] = "Courier_Name:" + Vendor.Get(item.CourierID).Name + " Token_Number:" + item.TokenNumber + " Courier_Date:" + item.CourierDate.ToString("dd MMM yyyy"); dt.Rows.Add(dr); } return dt; } public static DataTable GetLFAMedicalClaimByEmpID(ID id) { ObjectsTemplate oReqests = new ObjectsTemplate(); oReqests = HRRequest.Service.GetLFAMedicalClaimByEmpID(id); return CreateActiveLFAMedInsranceTable(oReqests); } public static DataTable GetPaymentRequestedItems() { DataTable oReqests = HRRequest.Service.GetPaymentRequestedItems(); return oReqests; } public static DataTable GetPaymentHistoryItemsByDateRange(DateTime dateTime, DateTime dateTime_2) { return null; //throw new NotImplementedException(); } public static ObjectsTemplate GetLFAMedicalClaimObjectsByEmpID(ID id) { ObjectsTemplate oReqests = new ObjectsTemplate(); oReqests = HRRequest.Service.GetLFAMedicalClaimByEmpID(id); return oReqests; } public static DataTable GetLFAMedicalClaim(ID id, DateTime dateTime1, DateTime dateTime2) { ObjectsTemplate oReqests = new ObjectsTemplate(); oReqests = HRRequest.Service.GetLFAMedicalClaim(id, dateTime1, dateTime2); return CreateLFAMedInsranceTable(oReqests); } public static DataTable GetInsuranceClaimByEmpID(ID id) { ObjectsTemplate oReqests = new ObjectsTemplate(); oReqests = HRRequest.Service.GetInsuranceClaimByEmpID(id); return CreateActiveLFAMedInsranceTable(oReqests); } public static DataTable GetInsuranceClaim(ID id, DateTime dateTime1, DateTime dateTime2) { ObjectsTemplate oReqests = new ObjectsTemplate(); oReqests = HRRequest.Service.GetInsuranceClaim(id, dateTime1, dateTime2); return CreateLFAMedInsranceTable(oReqests); } public static DataTable GetLetterClaimByEmpID(ID id) { ObjectsTemplate oReqests = new ObjectsTemplate(); oReqests = HRRequest.Service.GetLetterClaimByEmpID(id); return CreateActiveLetterClaimTable(oReqests); } public static DataTable GetLetterClaim(ID id, DateTime dateTime1, DateTime dateTime2) { ObjectsTemplate oReqests = new ObjectsTemplate(); oReqests = HRRequest.Service.GetLetterClaim(id, dateTime1, dateTime2); return CreateLetterClaimTable(oReqests); } public static DataTable GetLFAMedInshDetailByReqID(ID reqID) { ObjectsTemplate oReqestDetails = new ObjectsTemplate(); oReqestDetails = HRRequest.Service.GetHRequestDetails(reqID); return CreateLFAMedInshDetailTable(oReqestDetails, reqID); } public static DataTable GetLetterDetailByReqID(ID reqID) { ObjectsTemplate oReqestDetails = new ObjectsTemplate(); oReqestDetails = HRRequest.Service.GetHRequestDetails(reqID); return CreateLetterDetailTable(oReqestDetails, reqID); } public static DataTable GetLoanApplicationByEmpID(ID empID) { ObjectsTemplate oReqests = new ObjectsTemplate(); oReqests = HRRequest.Service.GetLoanApplicationByEmpID(empID); return CreateActiveLoanTable(oReqests); } public static DataTable GetLoanApplicationByDateRange(ID empID, DateTime startDate, DateTime endDate) { ObjectsTemplate oReqests = new ObjectsTemplate(); oReqests = HRRequest.Service.GetLoanApplicationByDateRange(empID, startDate, endDate); return CreateLoanTable(oReqests); } public static DataTable GetWebDetailByReqID(ID reqID) { ObjectsTemplate oReqestDetails = new ObjectsTemplate(); oReqestDetails = HRRequest.Service.GetHRequestDetails(reqID); return CreateDetailTable(oReqestDetails, reqID); } public static ObjectsTemplate GetDetailByReqID(ID reqID) { return HRRequest.Service.GetHRequestDetails(reqID); } public static void ReadHRRequestDetail(ID HRRequestDetailID) { HRRequest.Service.ReadHRRequestDetail(HRRequestDetailID); } public static ObjectsTemplate GetLoanCalimbyScheduleDate(DateTime fromdate, DateTime todate) { return HRRequest.Service.GetLoanCalimbyScheduleDate( fromdate, todate); } public static ObjectsTemplate GetHRRequetByWFStatus(enumwfStatus status) { return HRRequest.Service.GetHRRequetByWFStatus(status); } public ID Save() { this.SetAuditTrailProperties(); return HRRequest.Service.Save(this); } public void SavePaymentSchedules(ObjectsTemplate oItems) { HRRequest.Service.SavePaymentSchedules(oItems); } public void SaveLoan() { this.SetAuditTrailProperties(); HRRequest.Service.SaveLoan(this); } public void SaveLoanandPaymentDetail() { this.SetAuditTrailProperties(); HRRequest.Service.SaveLoanandPaymentDetail(this); } public void SaveLetterRequest() { this.SetAuditTrailProperties(); HRRequest.Service.SaveLetterRequest(this); } public static void SaveDetail(HRRequestDetail oHrrequestDetails) { HRRequest.Service.SaveDetail(oHrrequestDetails); } public static void UpdatePaymentRequest(HRRequest hRRequest) { HRRequest.Service.UpdatePaymentRequest(hRRequest); } public static void UpdateLoanShedulePaymentRequest(HRRequestPaymentSchedule LoanPaymentSchedule) { HRRequest.Service.UpdateLoanShedulePaymentRequest(LoanPaymentSchedule); } public static void UpdateLoanSheduleLoanIssueID(HRRequestPaymentSchedule LoanPaymentSchedule) { HRRequest.Service.UpdateLoanSheduleLoanIssueID(LoanPaymentSchedule); } #endregion #region IworkflowInterface Members /// /// this property is used for work flow, which return leave description /// /// public int GetStatusbyWf(enumwfStatus wfstatus) { return (int)this.WfStatus; } public string WFDesciption() { return this.ObjectDescription; } public string ObjectDescription { get { string str = ""; switch (RequestType) { case EnumRequestType.LTA: str = " " + this.Employee.Name + ", " + this.Employee.DescriptionText + " has applied for LTA Claim on " + this.RequestDate.ToString("dd MMM yyyy") + ". "; break; case EnumRequestType.Medical: str = " " + this.Employee.Name + ", " + this.Employee.DescriptionText + " has applied for Medical Leave Claim on " + this.RequestDate.ToString("dd MMM yyyy") + ". "; break; case EnumRequestType.Insurance: str = " " + this.Employee.Name + ", " + this.Employee.DescriptionText + " has applied for Insurance claim on " + this.RequestDate.ToString("dd MMM yyyy") + ". "; break; case EnumRequestType.Letter: EnumLetterType letterType = (EnumLetterType)LetterTypeID.Integer; switch (letterType) { case EnumLetterType.Visa_Application: str = " " + this.Employee.Name + ", " + this.Employee.DescriptionText + " has applied for applied for Visa " + " on " + RequestDate.ToString("dd MMM yyyy") + "."; break; case EnumLetterType.Salary_Certificate: str = " " + this.Employee.Name + ", " + this.Employee.DescriptionText + " has applied for Salary Certificate " + " on " + RequestDate.ToString("dd MMM yyyy") + "."; break; case EnumLetterType.University_Admission: str = " " + this.Employee.Name + ", " + this.Employee.DescriptionText + " has applied for University Admission Letter " + " on " + RequestDate.ToString("dd MMM yyyy") + "."; break; case EnumLetterType.Credit_Card: str = " " + this.Employee.Name + ", " + this.Employee.DescriptionText + " has applied for Credit Card letter " + " on " + RequestDate.ToString("dd MMM yyyy") + "."; break; case EnumLetterType.Experience_Certificate: str = " " + this.Employee.Name + ", " + this.Employee.DescriptionText + " has applied for Experience Certificate " + " on " + RequestDate.ToString("dd MMM yyyy") + "."; break; case EnumLetterType.Travel_NOC_Business: str = " " + this.Employee.Name + ", " + this.Employee.DescriptionText + " has applied for Travel NOC Business Insurance of Visa " + " on " + RequestDate.ToString("dd MMM yyyy") + "."; break; case EnumLetterType.Travel_NOC_Personal_with_Family: str = " " + this.Employee.Name + ", " + this.Employee.DescriptionText + " has applied for Travel NOC Personal with Family Insurance of Visa " + " on " + RequestDate.ToString("dd MMM yyyy") + "."; break; case EnumLetterType.Travel_NOC_Personal_without_Family: str = " " + this.Employee.Name + ", " + this.Employee.DescriptionText + " has applied for Travel NOC Personal Without Family Insurance of Visa " + " on " + RequestDate.ToString("dd MMM yyyy") + "."; break; default: str = " Employee (" + this.Employee.EmployeeNo + ")" + this.Employee.Name + " applied for " + this.Description + " on " + this.RequestDate.ToString("dd MMM yyyy"); break; } break; case EnumRequestType.Loan: str = " " + this.Employee.Name + ", " + this.Employee.DescriptionText + " has applied for "+Payroll.BO.Loan.Get(this.LoanID).Name+ " on " + this.RequestDate.ToString("dd MMM yyyy") + ". "; break; default: break; } return str; } } /// /// this property is used for work flow, it's a constant value /// public ID SetupID { get { switch (this.RequestType) { case EnumRequestType.LTA: case EnumRequestType.Medical: case EnumRequestType.Insurance: case EnumRequestType.Letter: return ID.FromInteger(3); case EnumRequestType.Loan: return ID.FromInteger(3); default: return ID.FromInteger(2); } } } /// /// this property is used for work flow, which return leave entry id /// public ID ObjectID { get { return this.ID; } } #endregion } #region Child Objects [Serializable] public class HRRequestDetail : BasicBaseObject { #region Cache Store private static Cache _cache = new Cache(typeof(HRRequestDetail)); #endregion #region Constructor public HRRequestDetail() { _nHRRequestID = ID.FromInteger(0); _nEmployeeID = ID.FromInteger(0); _sRemarks = string.Empty; _nCourierID = ID.FromInteger(0); _dCourierDate = DateTime.Today; _dRemarksDate = DateTime.Today; _bIsHR = false; _bIsRead = false; } #endregion #region Properties #region HRRequestID : ID private ID _nHRRequestID; public ID HRRequestID { get { return _nHRRequestID; } set { _nHRRequestID = value; } } #endregion #region EmployeeID : ID private ID _nEmployeeID; public ID EmployeeID { get { return _nEmployeeID; } set { _nEmployeeID = value; } } #endregion #region CourierID : ID private ID _nCourierID; public ID CourierID { get { return _nCourierID; } set { _nCourierID = value; } } #endregion #region CourierName : string private string _nCourierName; public string CourierName { get { return _nCourierName; } set { _nCourierName = value; } } #endregion #region TokenNumber : string private string _sTokenNumber; public string TokenNumber { get { return _sTokenNumber; } set { _sTokenNumber = value; } } #endregion #region Remarks : string private string _sRemarks; public string Remarks { get { return _sRemarks; } set { _sRemarks = value; } } #endregion #region CourierDate : DateTime private DateTime _dCourierDate; public DateTime CourierDate { get { return _dCourierDate; } set { _dCourierDate = value; } } #endregion #region RemarksDate : DateTime private DateTime _dRemarksDate; public DateTime RemarksDate { get { return _dRemarksDate; } set { _dRemarksDate = value; } } #endregion #region IsRead : bool private bool _bIsRead; public bool IsRead { get { return _bIsRead; } set { _bIsRead = value; } } #endregion #region IsHR : bool private bool _bIsHR; public bool IsHR { get { return _bIsHR; } set { _bIsHR = value; } } #endregion #endregion } [Serializable] public class HRRequestPassport : BasicBaseObject { #region Cache Store private static Cache _cache = new Cache(typeof(HRRequestPassport)); #endregion #region Constructor public HRRequestPassport() { _nHRRequestID = ID.FromInteger(0); _sName = string.Empty; _sRelation = string.Empty; _sPassportNo = string.Empty; } #endregion #region Properties #region HRRequestID : ID private ID _nHRRequestID; public ID HRRequestID { get { return _nHRRequestID; } set { _nHRRequestID = value; } } #endregion #region ObjectID : ID private ID _objectID; public ID ObjectID { get { return _objectID; } set { _objectID = value; } } #endregion #region Name : string private string _sName; public string Name { get { return _sName; } set { _sName = value; } } #endregion #region Relation : string private string _sRelation; public string Relation { get { return _sRelation; } set { _sRelation = value; } } #endregion #region PassportNo : string private string _sPassportNo; public string PassportNo { get { return _sPassportNo; } set { _sPassportNo = value; } } #endregion #endregion } [Serializable] public class HRRequestLoan : BasicBaseObject { #region Cache Store private static Cache _cache = new Cache(typeof(HRRequestLoan)); #endregion #region Constructor public HRRequestLoan() { _nHRRequestID = ID.FromInteger(0); _sName = string.Empty; _sCode = string.Empty; } #endregion #region Properties #region HRRequestID : ID private ID _nHRRequestID; public ID HRRequestID { get { return _nHRRequestID; } set { _nHRRequestID = value; } } #endregion #region Name : string private string _sName; public string Name { get { return _sName; } set { _sName = value; } } #endregion #region Code : string private string _sCode; public string Code { get { return _sCode; } set { _sCode = value; } } #endregion #endregion } [Serializable] public class HRRequestLoanDetail : BasicBaseObject { #region Cache Store private static Cache _cache = new Cache(typeof(HRRequestLoanDetail)); #endregion #region Constructor public HRRequestLoanDetail() { _nHRRequestID = ID.FromInteger(0); _sDescription = string.Empty; _sDescriptionValue = string.Empty; _SerialNo = 0; } #endregion #region Properties #region HRRequestID : ID private ID _nHRRequestID; public ID HRRequestID { get { return _nHRRequestID; } set { _nHRRequestID = value; } } #endregion #region SerialNo : int private int _SerialNo; public int SerialNo { get { return _SerialNo; } set { _SerialNo = value; } } #endregion #region Description : string private string _sDescription; public string Description { get { return _sDescription; } set { _sDescription = value; } } #endregion #region DescriptionValue : string private string _sDescriptionValue; public string DescriptionValue { get { return _sDescriptionValue; } set { _sDescriptionValue = value; } } #endregion #endregion } [Serializable] public class HRRequestPaymentSchedule : BasicBaseObject { #region Cache Store private static Cache _cache = new Cache(typeof(HRRequestPaymentSchedule)); #endregion #region Constructor public HRRequestPaymentSchedule() { _nHRRequestID = ID.FromInteger(0); _PaymentDescription = string.Empty; _PaymentDate = DateTime.Today; _Amount = 0.0; _IsPaymentRequested = false; _BankID = null; _AccountNo = string.Empty; _PaidDate = DateTime.Today; _Remarks = string.Empty; _PaymentMode = EnumPaymentMode.BankTransfer; _loanIssueID = null; } #endregion #region Properties #region IsPaymentRequested : bool private bool _IsPaymentRequested; public bool IsPaymentRequested { get { return _IsPaymentRequested; } set { _IsPaymentRequested = value; } } #endregion #region BankID : int private ID _BankID; public ID BankID { get { return _BankID; } set { _BankID = value; } } #endregion #region AccountNo : string private string _AccountNo; public string AccountNo { get { return _AccountNo; } set { _AccountNo = value; } } #endregion #region Remarks : string private string _Remarks; public string Remarks { get { return _Remarks; } set { _Remarks = value; } } #endregion #region HRRequestID : ID private ID _nHRRequestID; public ID HRRequestID { get { return _nHRRequestID; } set { _nHRRequestID = value; } } #endregion #region PaymentDescription : string private string _PaymentDescription; public string PaymentDescription { get { return _PaymentDescription; } set { _PaymentDescription = value; } } #endregion #region PaymentDate : DateTime private DateTime _PaymentDate; public DateTime PaymentDate { get { return _PaymentDate; } set { _PaymentDate = value; } } #endregion #region FormatedDate : string private string _FormatedDate; public string FormatedDate { get { return _FormatedDate = this.PaymentDate.ToString("dd MMM yyyy"); } //set { _PaymentDescription = value; } } #endregion #region Amount : double private double _Amount; public double Amount { get { return _Amount; } set { _Amount = value; } } #endregion #region PaidDate : DateTime private DateTime _PaidDate; public DateTime PaidDate { get { return _PaidDate; } set { _PaidDate = value; } } #endregion #region PaidDate : DateTime private EnumPaymentMode _PaymentMode; public EnumPaymentMode PaymentMode { get { return _PaymentMode; } set { _PaymentMode = value; } } #endregion #region Loan Issue ID : Loan IssueID private ID _loanIssueID; public ID LoanIssueID { get { return _loanIssueID ; } set { _loanIssueID = value; } } #endregion #endregion } #endregion #region IHRRequest Service public interface IHRRequestService { HRRequest Get(ID id); ID Save(HRRequest hRRequest); void SavePaymentSchedules(ObjectsTemplate oItems); void SaveLetterRequest(HRRequest hRRequest); void SaveLoan(HRRequest hRRequest); void SaveLoanandPaymentDetail(HRRequest hRRequest); ObjectsTemplate GetLFAMedicalClaimByEmpID(ID id); ObjectsTemplate GetLFAMedicalClaim(ID id, DateTime dateTime1, DateTime dateTime2); ObjectsTemplate GetInsuranceClaimByEmpID(ID id); ObjectsTemplate GetInsuranceClaim(ID id, DateTime dateTime1, DateTime dateTime2); ObjectsTemplate GetLetterClaimByEmpID(ID id); ObjectsTemplate GetLetterClaim(ID id, DateTime dateTime1, DateTime dateTime2); ObjectsTemplate GetHRequestDetails(ID id); DataTable GetInsuranceDetailByReqID(int hRrequstId); void SaveDetail(HRRequestDetail oHrrequestDetails); void ReadHRRequestDetail(ID HRRequestDetailID); ObjectsTemplate GetHRRequetByWFStatus(enumwfStatus status); ObjectsTemplate GetHRRequestPassports(ID iD); ObjectsTemplate GetHRRequestLoans(ID iD); ObjectsTemplate GetHRRequestLoanDetails(ID iD); ObjectsTemplate GetHRRequestPaymentSchedules(ID iD); ObjectsTemplate GetLoanApplicationByEmpID(ID empID); ObjectsTemplate GetLoanApplicationByDateRange(ID empID, DateTime startDate, DateTime endDate); void UpdatePaymentRequest(HRRequest hRRequest); void UpdateLoanShedulePaymentRequest(HRRequestPaymentSchedule LoanPaymentSchedule); void UpdateLoanSheduleLoanIssueID(HRRequestPaymentSchedule LoanPaymentSchedule); DataTable GetPaymentRequestedItems(); ObjectsTemplate GetLoanCalimbyScheduleDate(DateTime fromdate, DateTime todate); } #endregion }