EchoTex_Payroll/HRM.DA/Service/Claim/ClaimBasicService.cs

545 lines
19 KiB
C#
Raw Normal View History

2024-10-14 10:01:49 +06:00
using System;
using System.Data;
using System.Linq;
using Ease.CoreV35;
using Ease.CoreV35.DataAccess;
using System.Collections.Generic;
using Payroll.BO;
using Ease.Core.Model;
using HRM.BO;
using Ease.Core.DataAccess;
using Ease.Core.Utility;
namespace Payroll.Service
{
#region ClaimBasic Service
public class ClaimBasicService : ServiceTemplate, IClaimBasicService
{
public ClaimBasicService() { }
private void MapObject(ClaimBasic oClaimBasic, DataReader oReader)
{
base.SetObjectID(oClaimBasic,oReader.GetInt32("ClaimBasicID").Value);
oClaimBasic.ItemCode = oReader.GetString("ItemCode");
oClaimBasic.ItemName = oReader.GetString("ItemName");
oClaimBasic.GLCode = oReader.GetString("GLCode");
oClaimBasic.GLForCredit = oReader.GetString("GLForCredit");
oClaimBasic.GLForDebit = oReader.GetString("GLForDebit");
//oClaimBasic.Status = (EnumStatus)oReader.GetInt32("Status").Value;
//oClaimBasic.ClaimType = (EnumClaimType)oReader.GetInt32("ClaimType").Value;
oClaimBasic.IsPreApprovalNeeded = oReader.GetBoolean("IsPreApprovalNeeded", false);
oClaimBasic.CreatedBy = oReader.GetString("CreatedBy") == null ? 0 : oReader.GetInt32("CreatedBy").Value;
oClaimBasic.CreatedDate = oReader.GetDateTime("CreatedDate").Value;
oClaimBasic.ModifiedBy = oReader.GetString("ModifiedBy") == null ? null : oReader.GetInt32("ModifiedBy").Value;
oClaimBasic.ModifiedDate = oReader.GetDateTime("ModifiedDate");
//oClaimBasic.PayrollTypeID = oReader.GetString("payrollTypeID") == null ? null : ID.FromInteger(oReader.GetInt32("payrollTypeID").Value);
oClaimBasic.GLSide = oReader.GetString("GLSide");
oClaimBasic.GLSideCode = oReader.GetString("GLSideCode");
oClaimBasic.PaidThroughSalary = oReader.GetBoolean("PaidThroughSalary", false);
oClaimBasic.AllowDeductID = oReader.GetString("AllowDeductID") == null ? 0 : oReader.GetInt32("AllowDeductID").Value;
oClaimBasic.IsField1 = oReader.GetBoolean("IsField1", false);
oClaimBasic.IsField2 = oReader.GetBoolean("IsField2", false);
oClaimBasic.IsField3 = oReader.GetBoolean("IsField3", false);
oClaimBasic.IsField4 = oReader.GetBoolean("IsField4", false);
oClaimBasic.IsField5 = oReader.GetBoolean("IsField5", false);
oClaimBasic.IsField6 = oReader.GetBoolean("IsField6", false);
oClaimBasic.Field1 = oReader.GetString("Field1", null);
oClaimBasic.Field2 = oReader.GetString("Field2", null);
oClaimBasic.Field3 = oReader.GetString("Field3", null);
oClaimBasic.Field4 = oReader.GetString("Field4", null);
oClaimBasic.Field5 = oReader.GetString("Field5", null);
oClaimBasic.Field6 = oReader.GetString("Field6", null);
oClaimBasic.Field1Type = (EnumFieldTypeStatus)oReader.GetInt16("Field1Type", 0);
oClaimBasic.Field2Type = (EnumFieldTypeStatus)oReader.GetInt16("Field2Type", 0);
oClaimBasic.Field3Type = (EnumFieldTypeStatus)oReader.GetInt16("Field3Type", 0);
oClaimBasic.Field4Type = (EnumFieldTypeStatus)oReader.GetInt16("Field4Type", 0);
oClaimBasic.Field5Type = (EnumFieldTypeStatus)oReader.GetInt16("Field5Type", 0);
oClaimBasic.Field6Type = (EnumFieldTypeStatus)oReader.GetInt16("Field6Type", 0);
oClaimBasic.IsField1Mandatory = oReader.GetBoolean("IsField1Mandatory", false);
oClaimBasic.IsField2Mandatory = oReader.GetBoolean("IsField2Mandatory", false);
oClaimBasic.IsField3Mandatory = oReader.GetBoolean("IsField3Mandatory", false);
oClaimBasic.IsField4Mandatory = oReader.GetBoolean("IsField4Mandatory", false);
oClaimBasic.IsField5Mandatory = oReader.GetBoolean("IsField5Mandatory", false);
oClaimBasic.IsField6Mandatory = oReader.GetBoolean("IsField6Mandatory", false);
this.SetObjectState(oClaimBasic, Ease.Core.ObjectState.Saved);
}
protected override T CreateObject<T>(DataReader oReader)
{
ClaimBasic oClaimBasic = new ClaimBasic();
MapObject(oClaimBasic, oReader);
return oClaimBasic as T;
}
protected ClaimBasic CreateObject(DataReader oReader)
{
ClaimBasic oClaimBasic = new ClaimBasic();
MapObject(oClaimBasic, oReader);
return oClaimBasic;
}
#region Service implementation
public ClaimBasic Get(int id)
{
ClaimBasic oClaimBasic = null;
TransactionContext tc = null;
try
{
tc = TransactionContext.Begin();
DataReader oreader = new DataReader(ClaimBasicDA.Get(tc, id));
if (oreader.Read())
{
oClaimBasic = this.CreateObject<ClaimBasic>(oreader);
}
oreader.Close();
tc.End();
if (oClaimBasic != null)
{
oClaimBasic.ClaimBasicItems = new ClaimBasicItemService().GetByClaimBasicID(oClaimBasic.ID);
}
}
catch (Exception e)
{
#region Handle Exception
if (tc != null)
tc.HandleError();
ExceptionLog.Write(e);
throw new ServiceException(e.Message, e);
#endregion
}
return oClaimBasic;
}
public List<ClaimBasic> GetByType(EnumClaimType type, int payrollTypeID)
{
#region Cache Header
List<ClaimBasic> claimBasics = new List<ClaimBasic>();
if (claimBasics != null)
return claimBasics;
#endregion
TransactionContext tc = null;
try
{
tc = TransactionContext.Begin();
DataReader dr = new DataReader(ClaimBasicDA.GetByType(tc, type, payrollTypeID));
claimBasics = this.CreateObjects<ClaimBasic>(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 claimBasics;
}
public List<ClaimBasic> Get(EnumStatus status, int payrollTypeID)
{
List<ClaimBasic> claimBasics = null;
TransactionContext tc = null;
try
{
tc = TransactionContext.Begin();
DataReader dr = new DataReader(ClaimBasicDA.Get(tc, status, payrollTypeID));
claimBasics = this.CreateObjects<ClaimBasic>(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 claimBasics;
}
public List<ClaimBasic> GetNew(EnumStatus status, int payrollTypeID)
{
List<ClaimBasic> claimBasics = new List<ClaimBasic>();
TransactionContext tc = null;
try
{
tc = TransactionContext.Begin();
DataReader dr = new DataReader(ClaimBasicDA.GetNew(tc, status, payrollTypeID));
claimBasics = this.CreateObjects<ClaimBasic>(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 claimBasics;
}
public void Save(List<ClaimBasic> oClaimBasics)
{
TransactionContext tc = null;
try
{
tc = TransactionContext.Begin(true);
int id = tc.GenerateID("ClaimBasic", "ClaimBasicID");
foreach (ClaimBasic oClaimBasic in oClaimBasics)
{
if (oClaimBasic.IsNew)
{
base.SetObjectID(oClaimBasic, id);
ClaimBasicDA.Insert(tc, oClaimBasic);
id++;
}
else
{
ClaimBasicDA.Update(tc, oClaimBasic);
}
}
tc.End();
}
catch (Exception e)
{
#region Handle Exception
if (tc != null)
tc.HandleError();
ExceptionLog.Write(e);
throw new ServiceException(e.Message, e);
#endregion
}
}
public DataSet GetByClaimBasicIDs(string _claimBasicIDs, int payrollTypeId)
{
DataSet claimRequisitionsDSet = new DataSet();
TransactionContext tc = null;
try
{
tc = TransactionContext.Begin();
claimRequisitionsDSet = ClaimBasicDA.GetClaimReqsByIds(tc, _claimBasicIDs, payrollTypeId);
tc.End();
}
catch (Exception e)
{
#region Handle Exception
if (tc != null)
tc.HandleError();
ExceptionLog.Write(e);
throw new ServiceException(e.Message, e);
#endregion
}
return claimRequisitionsDSet;
}
public DataSet GetByClaimBasicIDs()
{
DataSet claimRequisitionsDSet = new DataSet();
TransactionContext tc = null;
try
{
tc = TransactionContext.Begin();
claimRequisitionsDSet = ClaimBasicDA.GetClaimReqsByIds(tc);
tc.End();
}
catch (Exception e)
{
#region Handle Exception
if (tc != null)
tc.HandleError();
ExceptionLog.Write(e);
throw new ServiceException(e.Message, e);
#endregion
}
return claimRequisitionsDSet;
}
public DataSet GetByClaimRegisterIDsForBankAdvice(string _claimBasicIDs, DateTime salaryMonth)
{
DataSet claimRequisitionsDSet = new DataSet();
TransactionContext tc = null;
try
{
tc = TransactionContext.Begin();
claimRequisitionsDSet = ClaimBasicDA.GetByClaimRegisterIDsForBankAdvice(tc, _claimBasicIDs, salaryMonth);
tc.End();
}
catch (Exception e)
{
#region Handle Exception
if (tc != null)
tc.HandleError();
ExceptionLog.Write(e);
throw new ServiceException(e.Message, e);
#endregion
}
return claimRequisitionsDSet;
}
public DataSet GetByClaimRegisterIDs(string _claimBasicIDs)
{
DataSet claimRequisitionsDSet = new DataSet();
TransactionContext tc = null;
try
{
tc = TransactionContext.Begin();
claimRequisitionsDSet = ClaimBasicDA.GetByClaimRegisterIDs(tc, _claimBasicIDs);
tc.End();
}
catch (Exception e)
{
#region Handle Exception
if (tc != null)
tc.HandleError();
ExceptionLog.Write(e);
throw new ServiceException(e.Message, e);
#endregion
}
return claimRequisitionsDSet;
}
public DataSet GetWithDesignation(int nDesignationID, int payrollTypeID)
{
DataSet claimWithGrade = new DataSet();
TransactionContext tc = null;
try
{
tc = TransactionContext.Begin();
claimWithGrade = ClaimBasicDA.GetWithDesignation(tc, nDesignationID, payrollTypeID);
tc.End();
}
catch (Exception e)
{
#region Handle Exception
if (tc != null)
tc.HandleError();
ExceptionLog.Write(e);
throw new ServiceException(e.Message, e);
#endregion
}
return claimWithGrade;
}
public DataSet IndividualClaimInformationWithDateRange(int empId, DateTime fromDate, DateTime toDate)
{
DataSet ds = new DataSet();
TransactionContext tc = null;
try
{
tc = TransactionContext.Begin();
ds = ClaimBasicDA.IndividualClaimInformationWithDateRange(tc, empId, fromDate, toDate);
tc.End();
}
catch (Exception e)
{
#region Handle Exception
if (tc != null)
tc.HandleError();
ExceptionLog.Write(e);
throw new ServiceException(e.Message, e);
#endregion
}
return ds;
}
public DataSet IndividualClaimInformationWithRequisitionID(int nRequisitionID)
{
DataSet ds = new DataSet();
TransactionContext tc = null;
try
{
tc = TransactionContext.Begin();
ds = ClaimBasicDA.IndividualClaimInformationWithRequisitionID(tc, nRequisitionID);
tc.End();
}
catch (Exception e)
{
#region Handle Exception
if (tc != null)
tc.HandleError();
ExceptionLog.Write(e);
throw new ServiceException(e.Message, e);
#endregion
}
return ds;
}
public DataSet GetWithDesignation(int payrollTypeID)
{
DataSet claimWithGrade = new DataSet();
TransactionContext tc = null;
try
{
tc = TransactionContext.Begin();
claimWithGrade = ClaimBasicDA.GetWithDesignation(tc, payrollTypeID);
tc.End();
}
catch (Exception e)
{
#region Handle Exception
if (tc != null)
tc.HandleError();
ExceptionLog.Write(e);
throw new ServiceException(e.Message, e);
#endregion
}
return claimWithGrade;
}
public int Save(ClaimBasic oClaimBasic)
{
TransactionContext tc = null;
try
{
tc = TransactionContext.Begin(true);
if (oClaimBasic.IsNew)
{
int id = tc.GenerateID("ClaimBasic", "ClaimBasicID");
base.SetObjectID(oClaimBasic, id);
ClaimBasicDA.Insert(tc, oClaimBasic);
}
else
{
ClaimBasicDA.Update(tc, oClaimBasic);
}
if (oClaimBasic.ClaimBasicItems != null && oClaimBasic.ClaimBasicItems.Count > 0)
{
// ClaimBasicItemDA.DeleteByClaimBasicID(tc, oClaimBasic.ID);
foreach (ClaimBasicItem item in oClaimBasic.ClaimBasicItems)
{
item.ClaimBasicID = oClaimBasic.ID;
}
ClaimBasicItemService cbi = new ClaimBasicItemService();
cbi.Save(tc,oClaimBasic.ClaimBasicItems);
}
tc.End();
return oClaimBasic.ID;
}
catch (Exception e)
{
#region Handle Exception
if (tc != null)
tc.HandleError();
ExceptionLog.Write(e);
throw new ServiceException(e.Message, e);
#endregion
}
}
public void Delete(int id)
{
TransactionContext tc = null;
try
{
tc = TransactionContext.Begin(true);
ClaimBasicDA.Delete(tc, id);
tc.End();
}
catch (Exception e)
{
#region Handle Exception
if (tc != null)
tc.HandleError();
ExceptionLog.Write(e);
throw new ServiceException(e.Message, e);
#endregion
}
}
public void DeleteByType(EnumClaimType claimType)
{
TransactionContext tc = null;
try
{
tc = TransactionContext.Begin(true);
ClaimBasicDA.Delete(tc, claimType);
tc.End();
}
catch (Exception e)
{
#region Handle Exception
if (tc != null)
tc.HandleError();
ExceptionLog.Write(e);
throw new ServiceException(e.Message, e);
#endregion
}
}
public List<ClaimBasic> GetClaimBasicItemCount()
{
List<ClaimBasic> claimBasics = null;
TransactionContext tc = null;
try
{
tc = TransactionContext.Begin();
DataReader dr = new DataReader(ClaimBasicDA.GetClaimBasicItemCount(tc));
claimBasics = new List<ClaimBasic>();
while (dr.Read())
{
ClaimBasic temp = new ClaimBasic();
temp.ID = dr.GetInt32("ClaimBasicID").Value;
temp.ItemCode = dr.GetString("ItemCode");
temp.ItemName = dr.GetString("ItemName");
temp.SubItemCount = dr.GetInt32("SubItemCount", 0);
claimBasics.Add(temp);
}
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 claimBasics;
}
#endregion
}
#endregion
}