947 lines
33 KiB
C#
947 lines
33 KiB
C#
|
using System;
|
|||
|
using Ease.Core.Model;
|
|||
|
using Ease.Core.DataAccess;
|
|||
|
using Ease.Core.Utility;
|
|||
|
using System.Collections.Generic;
|
|||
|
using HRM.BO;
|
|||
|
using System.Data;
|
|||
|
using Ease.Core;
|
|||
|
|
|||
|
namespace HRM.DA
|
|||
|
{
|
|||
|
#region Asset Service
|
|||
|
|
|||
|
public class ArrearProcessService : ServiceTemplate
|
|||
|
{
|
|||
|
#region Private constructor and declaration
|
|||
|
|
|||
|
public ArrearProcessService()
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region MapObject For Arrear
|
|||
|
|
|||
|
private void MapObject(ArrearProcess oItem, DataReader oReader)
|
|||
|
{
|
|||
|
// base.SetObjectID(oItem, oReader.GetID("ArrearProcessID"));
|
|||
|
|
|||
|
base.SetObjectID(oItem, oReader.GetInt32("ArrearProcessID").Value);
|
|||
|
oItem.ProcessDescription = oReader.GetString("ProcessDescription");
|
|||
|
oItem.ProcessMonth = oReader.GetDateTime("ProcessMonth").Value;
|
|||
|
oItem.ProcessDate = oReader.GetDateTime("ProcessDate").Value;
|
|||
|
oItem.IsApproved = oReader.GetBoolean("IsApproved").Value;
|
|||
|
oItem.ApprovedBy = oReader.GetInt32("ApprovedBy", 0);
|
|||
|
oItem.PayrollTypeID = oReader.GetInt32("PayrollTypeID", 0);
|
|||
|
oItem.CreatedBy = oReader.GetInt32("CreatedBy", 0);
|
|||
|
oItem.CreatedDate = oReader.GetDateTime("CreationDate").Value;
|
|||
|
oItem.ModifiedBy = oReader.GetInt32("ModifiedBy", 0);
|
|||
|
oItem.ModifiedDate = oReader.GetDateTime("ModifiedDate");
|
|||
|
|
|||
|
|
|||
|
this.SetObjectState(oItem, Ease.Core.ObjectState.Saved);
|
|||
|
}
|
|||
|
|
|||
|
private void MapAPDetailObject(ArrearProcessDetail oItem, DataReader oReader)
|
|||
|
{
|
|||
|
//base.SetObjectID(oItem, oReader.GetID("ArrearProcessDetailID"));
|
|||
|
base.SetObjectID(oItem, oReader.GetInt32("ArrearProcessDetailID").Value);
|
|||
|
oItem.ArrearProcessID = oReader.GetInt32("ArrearProcessID", 0);
|
|||
|
oItem.EmployeeID = oReader.GetInt32("EmployeeID", 0);
|
|||
|
oItem.ProcessMonth = oReader.GetDateTime("ProcessMonth").Value;
|
|||
|
oItem.DepartmentID = oReader.GetInt32("DepartmentID").Value;
|
|||
|
oItem.DesingnationID = oReader.GetInt32("DesingnationID").Value;
|
|||
|
oItem.LocationID = oReader.GetInt32("LocationID").Value;
|
|||
|
oItem.BranchID = oReader.GetInt32("BranchID").Value;
|
|||
|
oItem.AccountNo = oReader.GetString("AccountNo");
|
|||
|
oItem.GradeID = oReader.GetInt32("GradeID").Value;
|
|||
|
oItem.ScaleID = oReader.GetInt32("ScaleID").Value;
|
|||
|
oItem.BasicSalary = oReader.GetDouble("BasicSalary").Value;
|
|||
|
oItem.GrossSalary = oReader.GetDouble("GrossSalary").Value;
|
|||
|
oItem.IncrementPercent = oReader.GetDouble("IncrementPercent").Value;
|
|||
|
oItem.ArrearEffectFromDate = oReader.GetDateTime("ArrearEffectFromDate").Value;
|
|||
|
|
|||
|
this.SetObjectState(oItem, Ease.Core.ObjectState.Saved);
|
|||
|
}
|
|||
|
|
|||
|
private void MapAPDetailItemObject(ArrearProcessDetailItem oItem, DataReader oReader)
|
|||
|
{
|
|||
|
//base.SetObjectID(oItem, oReader.GetID("ArrearProcessDetailItemID"));
|
|||
|
base.SetObjectID(oItem, oReader.GetInt32("ArrearProcessDetailItemID").Value);
|
|||
|
oItem.ArrearProcessDetailID = oReader.GetInt32("ArrearprocessDetailID", 0);
|
|||
|
oItem.ItemType = oReader.GetInt32("ItemType").HasValue
|
|||
|
? (enumPayrollComponentType)oReader.GetInt32("ItemType").Value
|
|||
|
: enumPayrollComponentType.Allowance;
|
|||
|
oItem.ItemID = oReader.GetInt32("ItemID").HasValue ? oReader.GetInt32("ItemID").Value : 0;
|
|||
|
oItem.Side = oReader.GetInt32("Side").HasValue
|
|||
|
? (EnumArearTranSide)oReader.GetInt32("Side").Value
|
|||
|
: EnumArearTranSide.None;
|
|||
|
oItem.Description = oReader.GetString("Description");
|
|||
|
oItem.CalculatedAmount = oReader.GetDouble("CalculatedAmount").Value;
|
|||
|
oItem.ChangedAmount = oReader.GetDouble("ChangedAmount").Value;
|
|||
|
oItem.SeriialNo = oReader.GetInt32("SerialNo").Value;
|
|||
|
oItem.IsUploaded = oReader.GetBoolean("IsUploaded").Value;
|
|||
|
this.SetObjectState(oItem, Ease.Core.ObjectState.Saved);
|
|||
|
}
|
|||
|
|
|||
|
private void MapAPDetailItemMonthlyObject(ArrearProcessDetailItemMonthly oItem, DataReader oReader)
|
|||
|
{
|
|||
|
//base.SetObjectID(oItem, oReader.GetID("ArrearProcessDetailItemID"));
|
|||
|
base.SetObjectID(oItem, oReader.GetInt32("ARRPROSDETAILITEMMONTHLYID").Value);
|
|||
|
oItem.ArrearProcessDetailItemID = oReader.GetInt32("ArrearProcessDetailItemID", 0);
|
|||
|
oItem.ItemType = oReader.GetInt32("ItemType").HasValue
|
|||
|
? (enumPayrollComponentType)oReader.GetInt32("ItemType").Value
|
|||
|
: enumPayrollComponentType.Allowance;
|
|||
|
oItem.ItemID = oReader.GetInt32("ItemID").HasValue ? oReader.GetInt32("ItemID").Value : 0;
|
|||
|
oItem.Side = oReader.GetInt32("Side").HasValue
|
|||
|
? (EnumArearTranSide)oReader.GetInt32("Side").Value
|
|||
|
: EnumArearTranSide.None;
|
|||
|
oItem.Description = oReader.GetString("Description");
|
|||
|
oItem.CalculatedAmount = oReader.GetDouble("CalculatedAmount").Value;
|
|||
|
oItem.ChangedAmount = oReader.GetDouble("ChangedAmount").Value;
|
|||
|
oItem.SeriialNo = oReader.GetInt32("SerialNo").Value;
|
|||
|
oItem.SalaryMonth = oReader.GetDateTime("SalaryMonth").Value;
|
|||
|
oItem.IsUploaded = oReader.GetBoolean("IsUploaded").Value;
|
|||
|
this.SetObjectState(oItem, Ease.Core.ObjectState.Saved);
|
|||
|
}
|
|||
|
|
|||
|
private void MapAPCostDistObject(ArrearProcessCostDist oItem, DataReader oReader)
|
|||
|
{
|
|||
|
// base.SetObjectID(oItem, oReader.GetID("ArrearProcessCostDistID"));
|
|||
|
base.SetObjectID(oItem, oReader.GetInt32("ArrearProcessCostDistID").Value);
|
|||
|
oItem.ArrearProcessDetailID = oReader.GetInt32("ArrearprocessDetailID", 0);
|
|||
|
oItem.CostcenterID = oReader.GetInt32("CostcenterID", 0);
|
|||
|
oItem.InvolvementPercent = oReader.GetDouble("InvolvementPercent").Value;
|
|||
|
oItem.Amount = oReader.GetDouble("Amount").Value;
|
|||
|
this.SetObjectState(oItem, Ease.Core.ObjectState.Saved);
|
|||
|
}
|
|||
|
|
|||
|
protected override T CreateObject<T>(DataReader oReader)
|
|||
|
{
|
|||
|
ArrearProcess oArrear = new ArrearProcess();
|
|||
|
MapObject(oArrear, oReader);
|
|||
|
return oArrear as T;
|
|||
|
}
|
|||
|
|
|||
|
private List<ArrearProcessDetail> CreateAPDetailObjects(DataReader dr)
|
|||
|
{
|
|||
|
List<ArrearProcessDetail> oAPDetails = new List<ArrearProcessDetail>();
|
|||
|
while (dr.Read())
|
|||
|
{
|
|||
|
ArrearProcessDetail oAPDetail = new ArrearProcessDetail();
|
|||
|
oAPDetail = CreateAPDetailObject(dr);
|
|||
|
oAPDetails.Add(oAPDetail);
|
|||
|
}
|
|||
|
|
|||
|
return oAPDetails;
|
|||
|
}
|
|||
|
|
|||
|
private ArrearProcessDetail CreateAPDetailObject(DataReader dr)
|
|||
|
{
|
|||
|
ArrearProcessDetail oAPDetail = new ArrearProcessDetail();
|
|||
|
MapAPDetailObject(oAPDetail, dr);
|
|||
|
return oAPDetail;
|
|||
|
}
|
|||
|
|
|||
|
private List<ArrearProcessDetailItem> CreateAPDetailItemObjects(DataReader dr)
|
|||
|
{
|
|||
|
List<ArrearProcessDetailItem> oAPDetailItems = new List<ArrearProcessDetailItem>();
|
|||
|
while (dr.Read())
|
|||
|
{
|
|||
|
ArrearProcessDetailItem oAPDetailItem = new ArrearProcessDetailItem();
|
|||
|
oAPDetailItem = CreateAPDetailItemObject(dr);
|
|||
|
oAPDetailItems.Add(oAPDetailItem);
|
|||
|
}
|
|||
|
|
|||
|
return oAPDetailItems;
|
|||
|
}
|
|||
|
|
|||
|
private List<ArrearProcessDetailItemMonthly> CreateAPDetailItemMonthlyObjects(DataReader dr)
|
|||
|
{
|
|||
|
List<ArrearProcessDetailItemMonthly> oAPDetailItemMonthlys = new List<ArrearProcessDetailItemMonthly>();
|
|||
|
while (dr.Read())
|
|||
|
{
|
|||
|
ArrearProcessDetailItemMonthly oAPDetailItemMonthly = new ArrearProcessDetailItemMonthly();
|
|||
|
oAPDetailItemMonthly = CreateAPDetailItemMonthlyObject(dr);
|
|||
|
oAPDetailItemMonthlys.Add(oAPDetailItemMonthly);
|
|||
|
}
|
|||
|
|
|||
|
return oAPDetailItemMonthlys;
|
|||
|
}
|
|||
|
|
|||
|
private ArrearProcessDetailItem CreateAPDetailItemObject(DataReader dr)
|
|||
|
{
|
|||
|
ArrearProcessDetailItem oAPDetailItem = new ArrearProcessDetailItem();
|
|||
|
MapAPDetailItemObject(oAPDetailItem, dr);
|
|||
|
return oAPDetailItem;
|
|||
|
}
|
|||
|
|
|||
|
private ArrearProcessDetailItemMonthly CreateAPDetailItemMonthlyObject(DataReader dr)
|
|||
|
{
|
|||
|
ArrearProcessDetailItemMonthly oAPDetailItemMonthly = new ArrearProcessDetailItemMonthly();
|
|||
|
MapAPDetailItemMonthlyObject(oAPDetailItemMonthly, dr);
|
|||
|
return oAPDetailItemMonthly;
|
|||
|
}
|
|||
|
|
|||
|
private List<ArrearProcessCostDist> CreateAPCostDistObjects(DataReader dr)
|
|||
|
{
|
|||
|
List<ArrearProcessCostDist> oAPCostDists = new List<ArrearProcessCostDist>();
|
|||
|
while (dr.Read())
|
|||
|
{
|
|||
|
ArrearProcessCostDist oAPCostDist = new ArrearProcessCostDist();
|
|||
|
oAPCostDist = CreateAPCostDistObject(dr);
|
|||
|
oAPCostDists.Add(oAPCostDist);
|
|||
|
}
|
|||
|
|
|||
|
return oAPCostDists;
|
|||
|
}
|
|||
|
|
|||
|
private ArrearProcessCostDist CreateAPCostDistObject(DataReader dr)
|
|||
|
{
|
|||
|
ArrearProcessCostDist oAPCostDist = new ArrearProcessCostDist();
|
|||
|
MapAPCostDistObject(oAPCostDist, dr);
|
|||
|
return oAPCostDist;
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region IArrearProcessService Members
|
|||
|
|
|||
|
public ArrearProcess Get(int ArrearProcessID)
|
|||
|
{
|
|||
|
ArrearProcess oArrearProcess = null;
|
|||
|
|
|||
|
TransactionContext tc = null;
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin();
|
|||
|
DataReader oreader = new DataReader(ArrearProcessDA.Get(tc, ArrearProcessID));
|
|||
|
if (oreader.Read())
|
|||
|
{
|
|||
|
oArrearProcess = this.CreateObject<ArrearProcess>(oreader);
|
|||
|
}
|
|||
|
|
|||
|
oreader.Close();
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
return oArrearProcess;
|
|||
|
}
|
|||
|
|
|||
|
public List<ArrearProcess> GetWithPayrollType(int payrollTypeID)
|
|||
|
{
|
|||
|
List<ArrearProcess> ArrearProcesses = new List<ArrearProcess>();
|
|||
|
|
|||
|
TransactionContext tc = null;
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin();
|
|||
|
|
|||
|
DataReader dr = new DataReader(ArrearProcessDA.GetWithPayrollType(tc, payrollTypeID));
|
|||
|
ArrearProcesses = this.CreateObjects<ArrearProcess>(dr);
|
|||
|
dr.Close();
|
|||
|
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
return ArrearProcesses;
|
|||
|
}
|
|||
|
|
|||
|
public List<ArrearProcess> Get(DateTime processMonth, int payrollTypeID)
|
|||
|
{
|
|||
|
List<ArrearProcess> ArrearProcesses = new List<ArrearProcess>();
|
|||
|
|
|||
|
TransactionContext tc = null;
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin();
|
|||
|
|
|||
|
DataReader dr = new DataReader(ArrearProcessDA.Get(tc, processMonth, payrollTypeID));
|
|||
|
ArrearProcesses = this.CreateObjects<ArrearProcess>(dr);
|
|||
|
dr.Close();
|
|||
|
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
return ArrearProcesses;
|
|||
|
}
|
|||
|
|
|||
|
public List<ArrearProcessDetailItem> GetDetailItems(int nEmpID, DateTime processMonth, int payrollTypeID)
|
|||
|
{
|
|||
|
List<ArrearProcessDetailItem> ArrearProcesses = new List<ArrearProcessDetailItem>();
|
|||
|
|
|||
|
TransactionContext tc = null;
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin();
|
|||
|
|
|||
|
DataReader dr = new DataReader(ArrearProcessDA.GetDetailItems(tc, nEmpID, processMonth, payrollTypeID));
|
|||
|
ArrearProcesses = this.CreateAPDetailItemObjects(dr);
|
|||
|
dr.Close();
|
|||
|
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
return ArrearProcesses;
|
|||
|
}
|
|||
|
|
|||
|
public DataSet GetDetailItems(string sEmpIDs, DateTime processMonth, int ItemType, int ItemID,
|
|||
|
int payrollTypeID)
|
|||
|
{
|
|||
|
DataSet ds = null;
|
|||
|
TransactionContext tc = null;
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin();
|
|||
|
ds = ArrearProcessDA.GetDetailItems(tc, sEmpIDs, processMonth, ItemType, ItemID, payrollTypeID);
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
throw new Exception(e.Message, e);
|
|||
|
}
|
|||
|
|
|||
|
return ds;
|
|||
|
}
|
|||
|
|
|||
|
public List<ArrearProcessDetailItem> GetDetailItems(int arrearProcessId, int nEmpID)
|
|||
|
{
|
|||
|
List<ArrearProcessDetailItem> ArrearProcesses = new List<ArrearProcessDetailItem>();
|
|||
|
|
|||
|
TransactionContext tc = null;
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin();
|
|||
|
|
|||
|
DataReader dr = new DataReader(ArrearProcessDA.GetDetailItems(tc, arrearProcessId, nEmpID));
|
|||
|
ArrearProcesses = this.CreateAPDetailItemObjects(dr);
|
|||
|
dr.Close();
|
|||
|
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
return ArrearProcesses;
|
|||
|
}
|
|||
|
|
|||
|
public List<ArrearProcessDetail> GetDetails(int arrearProcessId, string nEmpIDs)
|
|||
|
{
|
|||
|
List<ArrearProcessDetail> ArrearProcesses = new List<ArrearProcessDetail>();
|
|||
|
|
|||
|
TransactionContext tc = null;
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin();
|
|||
|
|
|||
|
DataReader dr = new DataReader(ArrearProcessDA.GetDetails(tc, arrearProcessId, nEmpIDs));
|
|||
|
ArrearProcesses = this.CreateAPDetailObjects(dr);
|
|||
|
dr.Close();
|
|||
|
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
return ArrearProcesses;
|
|||
|
}
|
|||
|
|
|||
|
public List<ArrearProcessDetail> GetDetails(int arrearProcessId, int nEmpID)
|
|||
|
{
|
|||
|
List<ArrearProcessDetail> ArrearProcesses = new List<ArrearProcessDetail>();
|
|||
|
|
|||
|
TransactionContext tc = null;
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin();
|
|||
|
|
|||
|
DataReader dr = new DataReader(ArrearProcessDA.GetDetails(tc, arrearProcessId, nEmpID));
|
|||
|
ArrearProcesses = this.CreateAPDetailObjects(dr);
|
|||
|
dr.Close();
|
|||
|
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
return ArrearProcesses;
|
|||
|
}
|
|||
|
|
|||
|
public int Save(ArrearProcess oArrearProcess)
|
|||
|
{
|
|||
|
TransactionContext tc = null;
|
|||
|
string savingItem = "";
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin(true);
|
|||
|
if (oArrearProcess.IsNew)
|
|||
|
{
|
|||
|
int id = tc.GenerateID("ArrearProcess", "ArrearProcessID");
|
|||
|
base.SetObjectID(oArrearProcess, (id));
|
|||
|
ArrearProcessDA.Insert(tc, oArrearProcess);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
ArrearProcessDA.Update(tc, oArrearProcess);
|
|||
|
}
|
|||
|
|
|||
|
int ProcessDetailID = tc.GenerateID("ArrearProcessDetail", "ArrearProcessDetailID");
|
|||
|
int ProcessDetailItemID = tc.GenerateID("ArrearProcessDetailItem", "ArrearProcessDetailItemID");
|
|||
|
int ProcessDetailItemMonthlyID =
|
|||
|
tc.GenerateID("ARRPROSDETAILITEMMONTHLY", "ARRPROSDETAILITEMMONTHLYID");
|
|||
|
//int ProcessCostDistID = tc.GenerateID("ArrearProcessCostDist", "ArrearProcessCostDistID");
|
|||
|
foreach (ArrearProcessDetail apd in oArrearProcess.ArrearProcessDetails)
|
|||
|
{
|
|||
|
savingItem = "Process Detail";
|
|||
|
ProcessDetailID = ProcessDetailID + 1;
|
|||
|
base.SetObjectID(apd, (ProcessDetailID));
|
|||
|
apd.ArrearProcessID = oArrearProcess.ID;
|
|||
|
ArrearProcessDA.Insert(tc, apd);
|
|||
|
|
|||
|
IncomeTaxService osvr = new IncomeTaxService();
|
|||
|
|
|||
|
foreach (IncomeTax item in apd.IncomeTaxcoll)
|
|||
|
{
|
|||
|
IncomeTaxService iis = new IncomeTaxService();
|
|||
|
this.SetObjectState(item, ObjectState.New);
|
|||
|
iis.Save(tc, item, EnumIncomeTaxDataFrom.SalaryITTempData);
|
|||
|
}
|
|||
|
|
|||
|
//if (apd.IncomeTaxcoll != null && apd.IncomeTaxcoll.Count > 0) osvr.Insert(tc, apd.IncomeTaxcoll, EnumIncomeTaxDataFrom.SalaryITTempData);
|
|||
|
|
|||
|
foreach (ArrearProcessDetailItem apdi in apd.ArrearProcessDetailItems)
|
|||
|
{
|
|||
|
savingItem = "Process Detail Item";
|
|||
|
ProcessDetailItemID = ProcessDetailItemID + 1;
|
|||
|
base.SetObjectID(apdi, (ProcessDetailItemID));
|
|||
|
apdi.ArrearProcessDetailID = apd.ID;
|
|||
|
// Need to Discuss with Boss
|
|||
|
if (oArrearProcess.IsNew)
|
|||
|
{
|
|||
|
ArrearProcessDA.Insert(tc, apdi);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (apdi.ItemType == enumPayrollComponentType.IncomeTax)
|
|||
|
{
|
|||
|
ArrearProcessDA.DeleteTaxDetailItem(tc, apdi.ID, enumPayrollComponentType.IncomeTax);
|
|||
|
ArrearProcessDA.Insert(tc, apdi);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
foreach (ArrearProcessDetailItemMonthly apdim in apdi.ArrearProcessDetailItemMonthlys)
|
|||
|
{
|
|||
|
savingItem = "Process Detail Item Monthly";
|
|||
|
ProcessDetailItemMonthlyID = ProcessDetailItemMonthlyID + 1;
|
|||
|
base.SetObjectID(apdim, (ProcessDetailItemMonthlyID));
|
|||
|
apdim.ArrearProcessDetailItemID = apdi.ID;
|
|||
|
ArrearProcessDA.Insert(tc, apdim);
|
|||
|
}
|
|||
|
}
|
|||
|
//foreach (ArrearProcessCostDist apcd in apd.ArrearProcessCostDists)
|
|||
|
//{
|
|||
|
// ProcessCostDistID = ProcessCostDistID +1;
|
|||
|
// base.SetObjectID(apcd, (ProcessCostDistID));
|
|||
|
// apcd.ArrearProcessDetailID = apd.ID;
|
|||
|
// ArrearProcessDA.Insert(tc, apcd);
|
|||
|
//}
|
|||
|
}
|
|||
|
|
|||
|
return oArrearProcess.ID;
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
throw new ServiceException(e.Message + " Error From " + savingItem, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public int SaveDetailItem(List<ArrearProcessDetailItem> ArrearProcessDetailItems)
|
|||
|
{
|
|||
|
TransactionContext tc = null;
|
|||
|
try
|
|||
|
{
|
|||
|
foreach (ArrearProcessDetailItem apdi in ArrearProcessDetailItems)
|
|||
|
{
|
|||
|
List<ArrearProcessDetailItemMonthly> pim = apdi.ArrearProcessDetailItemMonthlys;
|
|||
|
}
|
|||
|
|
|||
|
tc = TransactionContext.Begin(true);
|
|||
|
foreach (ArrearProcessDetailItem apdi in ArrearProcessDetailItems)
|
|||
|
{
|
|||
|
if (apdi.IsNew)
|
|||
|
{
|
|||
|
int id = tc.GenerateID("ArrearProcessDetailItem", "ArrearProcessDetailItemID");
|
|||
|
base.SetObjectID(apdi, (id));
|
|||
|
ArrearProcessDA.DeleteDetailItemMonthlyByDetailID(tc, apdi.ArrearProcessDetailID, apdi.ItemType,
|
|||
|
apdi.ItemID);
|
|||
|
ArrearProcessDA.DeleteDetailItemByDetailID(tc, apdi.ArrearProcessDetailID, apdi.ItemType,
|
|||
|
apdi.ItemID);
|
|||
|
ArrearProcessDA.Insert(tc, apdi);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
ArrearProcessDA.UpdateDetailItem(tc, apdi);
|
|||
|
ArrearProcessDA.DeleteDetailItemMonthly(tc, apdi.ID);
|
|||
|
}
|
|||
|
|
|||
|
foreach (ArrearProcessDetailItemMonthly apdim in apdi.ArrearProcessDetailItemMonthlys)
|
|||
|
{
|
|||
|
int id2 = tc.GenerateID("ARRPROSDETAILITEMMONTHLY", "ARRPROSDETAILITEMMONTHLYID");
|
|||
|
base.SetObjectID(apdim, (id2));
|
|||
|
apdim.ArrearProcessDetailItemID = apdi.ID;
|
|||
|
ArrearProcessDA.Insert(tc, apdim);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
return (1);
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public void Delete(ArrearProcess oAP)
|
|||
|
{
|
|||
|
TransactionContext tc = null;
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin(true);
|
|||
|
ArrearProcessDA.Delete(tc, oAP);
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public List<ArrearProcessDetail> GetArrearProcessDetails(int ArrearProcessID)
|
|||
|
{
|
|||
|
List<ArrearProcessDetail> ArrearProcessDetails = new List<ArrearProcessDetail>();
|
|||
|
|
|||
|
TransactionContext tc = null;
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin();
|
|||
|
|
|||
|
DataReader dr = new DataReader(ArrearProcessDA.GetArrearProcessDetails(tc, ArrearProcessID));
|
|||
|
ArrearProcessDetails = this.CreateAPDetailObjects(dr);
|
|||
|
dr.Close();
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
return ArrearProcessDetails;
|
|||
|
}
|
|||
|
|
|||
|
public List<ArrearProcessDetail> GetArrearProcessDetails(string sEmpID, DateTime startDate, DateTime endDate,
|
|||
|
int payrollTypeID)
|
|||
|
{
|
|||
|
List<ArrearProcessDetail> ArrearProcessDetails = new List<ArrearProcessDetail>();
|
|||
|
|
|||
|
TransactionContext tc = null;
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin();
|
|||
|
|
|||
|
DataReader dr =
|
|||
|
new DataReader(
|
|||
|
ArrearProcessDA.GetArrearProcessDetails(tc, sEmpID, startDate, endDate, payrollTypeID));
|
|||
|
ArrearProcessDetails = this.CreateAPDetailObjects(dr);
|
|||
|
dr.Close();
|
|||
|
foreach (ArrearProcessDetail item in ArrearProcessDetails)
|
|||
|
{
|
|||
|
dr = new DataReader(ArrearProcessDA.GetArrearProcessDetailItems(tc, item.ID));
|
|||
|
item.ArrearProcessDetailItems = this.CreateAPDetailItemObjects(dr);
|
|||
|
dr.Close();
|
|||
|
}
|
|||
|
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
return ArrearProcessDetails;
|
|||
|
}
|
|||
|
|
|||
|
public DataSet GetArrearProcessDetailsByCCID(string sCCID, DateTime startDate, DateTime endDate,
|
|||
|
int payrollTypeID)
|
|||
|
{
|
|||
|
DataSet ds = null;
|
|||
|
TransactionContext tc = null;
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin();
|
|||
|
ds = ArrearProcessDA.GetArrearProcessDetailsByCCID(tc, sCCID, startDate, endDate, payrollTypeID);
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
throw new Exception(e.Message, e);
|
|||
|
}
|
|||
|
|
|||
|
return ds;
|
|||
|
}
|
|||
|
|
|||
|
public DataSet GetArrearProcessDetailsByCCIDAndEmpID2(string sCCID, DateTime startDate, DateTime endDate,
|
|||
|
string sEmpIDs)
|
|||
|
{
|
|||
|
DataSet ds = null;
|
|||
|
TransactionContext tc = null;
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin();
|
|||
|
ds = ArrearProcessDA.GetArrearProcessDetailsByCCIDAndEmpID2(tc, sCCID, startDate, endDate, sEmpIDs);
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
throw new Exception(e.Message, e);
|
|||
|
}
|
|||
|
|
|||
|
return ds;
|
|||
|
}
|
|||
|
|
|||
|
public DataSet GetArrearProcessDetailsByCCIDAndEmpID3(string sCCID, DateTime startDate, DateTime endDate,
|
|||
|
string sEmpIDs)
|
|||
|
{
|
|||
|
DataSet ds = null;
|
|||
|
TransactionContext tc = null;
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin();
|
|||
|
ds = ArrearProcessDA.GetArrearProcessDetailsByCCIDAndEmpID3(tc, sCCID, startDate, endDate, sEmpIDs);
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
throw new Exception(e.Message, e);
|
|||
|
}
|
|||
|
|
|||
|
return ds;
|
|||
|
}
|
|||
|
|
|||
|
public DataSet GetArrPrssDetailsByCstIDEmpIDLocAndDeptWise(string sCCID, DateTime startDate, DateTime endDate,
|
|||
|
string sEmpIDs)
|
|||
|
{
|
|||
|
DataSet ds = null;
|
|||
|
TransactionContext tc = null;
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin();
|
|||
|
ds = ArrearProcessDA.GetArrPrssDetailsByCstIDEmpIDLocAndDeptWise(tc, sCCID, startDate, endDate,
|
|||
|
sEmpIDs);
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
throw new Exception(e.Message, e);
|
|||
|
}
|
|||
|
|
|||
|
return ds;
|
|||
|
}
|
|||
|
|
|||
|
public DataSet GetArrearProcessDetailsByCCIDAndEmpID(string sCCID, DateTime startDate, DateTime endDate,
|
|||
|
string sEmpIDs, int payrollTypeID)
|
|||
|
{
|
|||
|
DataSet ds = null;
|
|||
|
TransactionContext tc = null;
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin();
|
|||
|
ds = ArrearProcessDA.GetArrearProcessDetailsByCCIDAndEmpID(tc, sCCID, startDate, endDate, sEmpIDs,
|
|||
|
payrollTypeID);
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
throw new Exception(e.Message, e);
|
|||
|
}
|
|||
|
|
|||
|
return ds;
|
|||
|
}
|
|||
|
|
|||
|
public List<ArrearProcessDetailItem> GetArrearProcessDetailItems(int ArrearProcessDetailID)
|
|||
|
{
|
|||
|
List<ArrearProcessDetailItem> ArrearProcessDetailItems = new List<ArrearProcessDetailItem>();
|
|||
|
|
|||
|
TransactionContext tc = null;
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin();
|
|||
|
|
|||
|
DataReader dr = new DataReader(ArrearProcessDA.GetArrearProcessDetailItems(tc, ArrearProcessDetailID));
|
|||
|
ArrearProcessDetailItems = this.CreateAPDetailItemObjects(dr);
|
|||
|
dr.Close();
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
return ArrearProcessDetailItems;
|
|||
|
}
|
|||
|
|
|||
|
public List<ArrearProcessDetailItemMonthly> GetArrearProcessDetailItemMonthlys(int ArrearProcessDetailItemID)
|
|||
|
{
|
|||
|
List<ArrearProcessDetailItemMonthly> ArrearProcessDetailItemMonthlys =
|
|||
|
new List<ArrearProcessDetailItemMonthly>();
|
|||
|
|
|||
|
TransactionContext tc = null;
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin();
|
|||
|
|
|||
|
DataReader dr =
|
|||
|
new DataReader(ArrearProcessDA.GetArrearProcessDetailItemMonthlys(tc, ArrearProcessDetailItemID));
|
|||
|
ArrearProcessDetailItemMonthlys = this.CreateAPDetailItemMonthlyObjects(dr);
|
|||
|
dr.Close();
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
return ArrearProcessDetailItemMonthlys;
|
|||
|
}
|
|||
|
|
|||
|
public List<ArrearProcessCostDist> GetArrearProcessCostDists(int ArrearProcessDetailID)
|
|||
|
{
|
|||
|
List<ArrearProcessCostDist> ArrearProcessCostDists = new List<ArrearProcessCostDist>();
|
|||
|
|
|||
|
TransactionContext tc = null;
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin();
|
|||
|
|
|||
|
DataReader dr = new DataReader(ArrearProcessDA.GetArrearProcessCostDists(tc, ArrearProcessDetailID));
|
|||
|
ArrearProcessCostDists = this.CreateAPCostDistObjects(dr);
|
|||
|
dr.Close();
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
return ArrearProcessCostDists;
|
|||
|
}
|
|||
|
|
|||
|
public bool IsExist(DateTime dt, int payrollTypeID)
|
|||
|
{
|
|||
|
bool isExist = false;
|
|||
|
TransactionContext tc = null;
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin();
|
|||
|
isExist = ArrearProcessDA.IsExist(tc, dt, payrollTypeID);
|
|||
|
//accessCards = this.CreateObjects<AccessCard>(dr);
|
|||
|
//dr.Close();
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
return isExist;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
public void Approve(ArrearProcess prc, int payrollTypeID, DateTime nextPayProcessDate)
|
|||
|
{
|
|||
|
TransactionContext tc = null;
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin();
|
|||
|
ArrearProcessDA.Approve(tc, prc, payrollTypeID, nextPayProcessDate);
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|