317 lines
13 KiB
C#
317 lines
13 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using Ease.CoreV35;
|
|
using Ease.CoreV35.DataAccess;
|
|
using System.Data;
|
|
using HRM.BO;
|
|
using Payroll.BO;
|
|
using Ease.Core.DataAccess;
|
|
|
|
namespace Payroll.BO
|
|
{
|
|
|
|
public class ClaimRequisition : BasicBaseObject, IworkflowInterface
|
|
{
|
|
|
|
|
|
#region Constructor
|
|
|
|
public ClaimRequisition()
|
|
{
|
|
this.RequsitionStatus = EnumClaimRequsitionStatus.Darft;
|
|
JVStatus = false;
|
|
PayrollTypeID = null;
|
|
BranchID = null;
|
|
BankID = null;
|
|
ClaimProcessDate = DateTime.MinValue;
|
|
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Properties
|
|
public bool JVStatus { get; set;}
|
|
public string RequisitionNo { get; set; }
|
|
public DateTime ClaimDate { get; set;}
|
|
public DateTime? ClaimProcessDate { get; set;}
|
|
public double ClaimAmount { get; set; }
|
|
public string Reason { get; set;}
|
|
public string Remarks { get; set;}
|
|
public int ClaimBasicID { get; set; }
|
|
public ClaimBasic Claim { get; set; }
|
|
public int ClaimRuleID { get; set; }
|
|
public EnumClaimRequsitionStatus RequsitionStatus { get; set; }
|
|
public int EmployeeID { get; set; }
|
|
public int CostCenterID { get; set; }
|
|
public string GLCode { get; set; }
|
|
public string GLSide { get; set; }
|
|
public string GLSideCode { get; set; }
|
|
public bool PaymentDone { get; set; }
|
|
public int ParentID { get; set; }
|
|
public int OnBehalfEmplID { get; set; }
|
|
public DateTime SalaryMonth { get; set; }
|
|
public DateTime? SalaryPaidMonth { get; set; }
|
|
public int? BankID { get; set; }
|
|
public int? BranchID { get; set; }
|
|
public int? PayrollTypeID { get; set; }
|
|
public List<ClaimRequisitionItem> ClaimRequisitionItems { get; set; }
|
|
public List<ClaimRequisitionAttachment> ClaimRequisitionAttachments { get; set; }
|
|
public List<ClaimRequisitionRelation> ClaimRequisitionRelations { get; set; }
|
|
public List<FileAttachment> IRFileAttacments { get; set; }
|
|
public Employee Employee { get; set;}
|
|
public string Description { get; set; }
|
|
public string InitiatorRemarks { get; set; }
|
|
public bool? IsOnBehalf { get; set; }
|
|
public bool? IsAdvance { get; set; }
|
|
public bool? IsExpense { get; set; }
|
|
public int? AdvanceItemId { get; set; }
|
|
|
|
public string Name { get; set; }
|
|
public string EmailAddress { get; set; }
|
|
public string EmployeeNo { get; set; }
|
|
public string Designation { get; set; }
|
|
public string ConnectionString { get; set; }
|
|
public string RequisitionString { get; set; }
|
|
public dynamic? Field1 { get; set; }
|
|
public dynamic? Field2 { get; set; }
|
|
public dynamic? Field3 { get; set; }
|
|
public dynamic? Field4 { get; set; }
|
|
public EnumClaimPaymentType? PaymentType { get; set; }
|
|
public bool? IsPayment { get; set; }
|
|
public string PaymentRemarks { get; set; }
|
|
public int PaidBy { get; set; }
|
|
//public dynamic Field1ConvertValue { get; set; }
|
|
//public dynamic Field2ConvertValue { get; set; }
|
|
//public dynamic Field3ConvertValue { get; set; }
|
|
//public dynamic Field4ConvertValue { get; set; }
|
|
|
|
public string tempFileTobase64
|
|
{
|
|
get; set;
|
|
}
|
|
|
|
public string ObjectDescription
|
|
{
|
|
get
|
|
{
|
|
string str = "";
|
|
|
|
//if (true)
|
|
//{
|
|
// str = this.Employee.Name + " has applied for monthly claim " + " on " + Convert.ToDateTime(this.ClaimDate).ToString("dd MMMM yyyy") + ". ";//"of "+ this.ClaimProcessDate.ToString("MMM yyyy")
|
|
//}
|
|
return str;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// this property is used for work flow, it's a constant value
|
|
/// </summary>
|
|
public int SetupID
|
|
{
|
|
get
|
|
{
|
|
return 4;
|
|
// int payrollTypeId = 0;// SystemInformation.CurrentSysInfo.PayrollTypeID.Integer;
|
|
////switch (ClaimBasicID){
|
|
//// case 1:
|
|
//// if (payrollTypeId == 1)
|
|
//// return ID.FromInteger(4);
|
|
//// else
|
|
//// return ID.FromInteger(20);
|
|
//// case 2:
|
|
// if (payrollTypeId == 1)
|
|
// return 3;
|
|
// else
|
|
// return 4;
|
|
// case 3:
|
|
//if (payrollTypeId == 1)
|
|
// return ID.FromInteger(5);
|
|
//else
|
|
// return ID.FromInteger(22);
|
|
//case 4:
|
|
// if (payrollTypeId == 1)
|
|
// return ID.FromInteger(6);
|
|
// else
|
|
// return ID.FromInteger(23);
|
|
//case 5:
|
|
// if (payrollTypeId == 1)
|
|
// return ID.FromInteger(7);
|
|
// else
|
|
// return ID.FromInteger(24);
|
|
//case 6:
|
|
// if (payrollTypeId == 1)
|
|
// return ID.FromInteger(8);
|
|
// else
|
|
// return ID.FromInteger(25);
|
|
//case 7:
|
|
// if (payrollTypeId == 1)
|
|
// return ID.FromInteger(9);
|
|
// else
|
|
// return ID.FromInteger(26);
|
|
//case 8:
|
|
// if (payrollTypeId == 1)
|
|
// return ID.FromInteger(10);
|
|
// else
|
|
// return ID.FromInteger(27);
|
|
//case 9:
|
|
// if (payrollTypeId == 1)
|
|
// return ID.FromInteger(11);
|
|
// else
|
|
// return ID.FromInteger(28);
|
|
//case 10:
|
|
// if (payrollTypeId == 1)
|
|
// return ID.FromInteger(12);
|
|
// else
|
|
// return ID.FromInteger(29);
|
|
//case 11:
|
|
// if (payrollTypeId == 1)
|
|
// return ID.FromInteger(13);
|
|
// else
|
|
// return ID.FromInteger(8);
|
|
//case 12:
|
|
// if (payrollTypeId == 1)
|
|
// return ID.FromInteger(14);
|
|
// else
|
|
// return ID.FromInteger(8);
|
|
//case 13:
|
|
// if (payrollTypeId == 1)
|
|
// return ID.FromInteger(15);
|
|
// else
|
|
// return ID.FromInteger(8);
|
|
//default:
|
|
// if (payrollTypeId == 1)
|
|
// return ID.FromInteger(16);
|
|
// else
|
|
// return ID.FromInteger(31);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
// switch (ClaimBasicID)
|
|
//{
|
|
// case 1:
|
|
// get { return ID.FromInteger(7); }
|
|
// break;
|
|
// case 2:
|
|
// get { return ID.FromInteger(7); }
|
|
// break;
|
|
// default:
|
|
// get { return ID.FromInteger(7); }
|
|
//}
|
|
|
|
|
|
/// <summary>
|
|
/// this property is used for work flow, which return leave entry id
|
|
/// </summary>
|
|
public int ObjectID
|
|
{
|
|
get { return this.ID; }
|
|
}
|
|
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region IClaimRequisitionService Service
|
|
|
|
public interface IClaimRequisitionService
|
|
{
|
|
|
|
ClaimRequisition Get(int id);
|
|
ClaimRequisition Get(int id, TransactionContext tc);
|
|
List<ClaimRequisition> GetByIds(string id);
|
|
DataSet GetClaimReqsByIds(string id);
|
|
List<ClaimRequisitionItem> GetClaimRequisitionItem(string id);
|
|
ClaimRequisition GetClaimReqById(int id);
|
|
DataSet GetFilteredClaimReqsByIds(string id, DateTime fromDate, DateTime toDate, string employeeNo, string employeeName);
|
|
DataTable GetClaimRequisitionItemsInGrid(string id);
|
|
DataTable GetSignatures(int objectId, int wftypeId);
|
|
DataTable GetSignaturesByUniqueNumber(int uniqueNumber, int wftypeId);
|
|
DataTable GetClaimRequisitionHistory(int id);
|
|
DataTable GetClaimAttachmentsInGrid(string id);
|
|
List<ClaimRequisition> Get();
|
|
List<ClaimRequisition> GetByClaimRequisitionID(int claimRequisitionID);
|
|
ClaimRequisition GetByClaimRequisitionID2(int claimRequisitionID);
|
|
int Save(ClaimRequisition item);
|
|
int SaveFromLineManager(ClaimRequisition item);
|
|
void Save(List<ClaimRequisition> _claimRequisitionItems);
|
|
void Delete(int id);
|
|
void DeleteByClaimRequisitionID(int id);
|
|
ClaimRequisitionItem GetClaimRequisitionItem(int id);
|
|
List<ClaimRequisitionItem> GetClaimRequisitionItems();
|
|
List<ClaimRequisitionItem> GetClaimRequisitionItemByClaimRequisitionID(TransactionContext tc,int claimBasicID);
|
|
int SaveClaimRequisitionItems(ClaimRequisitionItem item);
|
|
void SaveClaimRequisitionItems(List<ClaimRequisitionItem> _claimBasicItems);
|
|
void DeleteClaimRequisitionItems(int id);
|
|
void DeleteClaimRequisitionItemByClaimRequisitionID(int id);
|
|
|
|
ClaimRequisitionAttachment GetClaimRequisitionAttachment(int id);
|
|
List<ClaimRequisitionAttachment> GetClaimRequisitionAttachments();
|
|
List<ClaimRequisitionAttachment> GetClaimRequisitionAttachmentByClaimRequisitionID(int claimBasicID);
|
|
int SaveClaimRequisitionAttachments(ClaimRequisitionAttachment item);
|
|
void SaveClaimRequisitionAttachments(List<ClaimRequisitionAttachment> _claimBasicItems);
|
|
void DeleteClaimRequisitionAttachments(int id);
|
|
void DeleteClaimRequisitionAttachmentByClaimRequisitionID(int id);
|
|
|
|
ClaimRequisitionRelation GetClaimRequisitionRelation(int id);
|
|
List<ClaimRequisitionRelation> GetClaimRequisitionRelations();
|
|
List<ClaimRequisitionRelation> GetClaimRequisitionRelationsByItemId(int id);
|
|
List<ClaimRequisitionRelation> GetClaimRequisitionRelationByClaimRequisitionID(int claimBasicID);
|
|
int SaveClaimRequisitionRelations(ClaimRequisitionRelation item);
|
|
void SaveClaimRequisitionRelations(List<ClaimRequisitionRelation> _claimBasicItems);
|
|
void DeleteClaimRequisitionRelations(int id);
|
|
void DeleteClaimRequisitionRelationByClaimRequisitionID(int id);
|
|
DataSet ClaimForAdmin(DateTime frmDate, DateTime toDate, int claimBasicId, string status, int employeeId);
|
|
|
|
DataSet GetItemByClaimRquisitonId(string claimRequisitionIds);
|
|
DataSet GetClaimReqisitionRelationByClaimRquisitonId(string claimRequisitionIds);
|
|
|
|
|
|
List<ClaimRequisition> GetClaimRequistionByClIdAndMonth(int claimBasicId, DateTime salaryMonth, int wf);
|
|
List<ClaimRequisition> Get(int claimBasicId, int employeeId);
|
|
List<ClaimRequisition> GetClaimRequistionByClaimPaymentID(string claimBasicId, int wf);
|
|
|
|
|
|
void UpdateClaimRwquisitionStatus(string _claimRequisitionIDs);
|
|
|
|
DataSet GetEmpClaims(DateTime salaryMonth, string sEmpID);
|
|
|
|
ClaimRequisition GetClaimByprocessDate(EnumwfStatus enumwfStatus, int empID);
|
|
|
|
void SaveClaimRequisitionItems(TransactionContext tc, List<ClaimRequisitionItem> _claimBasicItems);
|
|
|
|
void DeleteClaimRequisitionItemByClaimRequisitionID(TransactionContext tc, int id);
|
|
|
|
void DeleteClaimRequisitionRelationByClaimRequisitionID(TransactionContext tc, int id);
|
|
|
|
void SaveClaimRequisitionRelations(TransactionContext tc, List<ClaimRequisitionRelation> _claimBasicItems);
|
|
|
|
DataSet GetClaimBalanceInfo(DateTime fromdate, DateTime toDate, string sSQL, int status);
|
|
List<FileAttachment> GetIRFileAttachments(int claimRequisitionID);
|
|
void ApproveClaimRequisition(WFMovementTran approver);
|
|
void claimRequisitionReject(WFMovementTran rejectTran);
|
|
List<ClaimRequisition> GetAllClaimRequisition(DateTime fromDate, DateTime toDate, int employeeId, EnumClaimRequsitionStatus? status);
|
|
DataTable GetPendingList(int approverid, string ids, DateTime fromDate, DateTime toDate);
|
|
List<ClaimRequisition> GetClaimReqsByEmployeeIds(DateTime fromDate, DateTime toDate, string employeeIds, int currentUserID, EnumClaimWFStatus? appstatus, EnumClaimPaymentType? paymentType);
|
|
void UpdateClaimPaymentType(ClaimRequisition item);
|
|
FileAttachment GetByRefChildId(int claimRequisitionId, int claimreqItemId);
|
|
void ApproveClaimRequisitions(List<WFMovementTran> approverList);
|
|
void claimRequisitionRejects(List<WFMovementTran> rejectTranList);
|
|
List<ClaimDisbursementReport> GetClaimDisbursementReport(string ids, DateTime fromDate, DateTime toDate, int currentUserID, EnumClaimWFStatus? appstatus, EnumClaimPaymentType? paymentType);
|
|
void UpdateClaimPaymentStatusByClaimId(string ids, EnumClaimPaymentType? claimPaymentType, string remarks, int currentUserID);
|
|
List<ClaimDisbursementReport> GetClaimReportEcport(DateTime fromDate, DateTime toDate, EnumClaimRequsitionStatus? status, int currentUserID);
|
|
double GetClearanceAmount(int empid);
|
|
List<ClaimRequisition> GetPrevAdavancedAmountbyEmployeeId(int employeeId);
|
|
ClaimRequisition GetByClaimId(int id, TransactionContext tc);
|
|
}
|
|
|
|
#endregion
|
|
}
|