using System; using System.Data; using Ease.Core.Model; using Ease.Core.DataAccess; using Ease.Core; using System.Collections.Generic; using Ease.Core.Utility; using HRM.BO; using HRM.DA; namespace HRM.DA.Fund { [Serializable] public class PensionSettlementService : ServiceTemplate { public PensionSettlementService() { } #region Private methods private void MapObject(PensionSettlement oPensionSettlement, DataReader oReader) { base.SetObjectID(oPensionSettlement, oReader.GetInt32("PensionSettlementID").Value); oPensionSettlement.MemberID = oReader.GetInt32("MemberID").Value; oPensionSettlement.GLTranID = oReader.GetInt32("GLTranID").Value; oPensionSettlement.SettlementDate = oReader.GetDateTime("SettlementDate").Value; oPensionSettlement.PensionAmount = oReader.GetDecimal("PensionAmount").Value; oPensionSettlement.CreatedDate = oReader.GetDateTime("CreatedDate").Value; oPensionSettlement.CreatedBy = oReader.GetInt32("CreatedBy").Value; oPensionSettlement.ModifiedDate = oReader.GetDateTime("ModifiedDate") != null ? oReader.GetDateTime("ModifiedDate").Value : DateTime.MinValue; //oReader.GetDateTime("ModifiedDate"); oPensionSettlement.ModifiedBy = oReader.GetInt32("ModifiedBy").Value != null ? oReader.GetInt32("ModifiedBy").Value : (0); // oReader.GetInt32("ModifiedBy"); base.SetObjectState(oPensionSettlement, ObjectState.Saved); } private PensionSettlement CreateObject(DataReader oReader) { PensionSettlement oPensionSettlement = new PensionSettlement(); MapObject(oPensionSettlement, oReader); return oPensionSettlement; } private List CreateObjects(IDataReader oReader) { List oPensionSettlements = new List(); DataReader oreader = new DataReader(oReader); while (oReader.Read()) { PensionSettlement oItem = CreateObject(oreader); oPensionSettlements.Add(oItem); } return oPensionSettlements; } #endregion Private methods #region Service implementation protected override T CreateObject(DataReader dataReader) { PensionSettlement oPensionSettlement = new PensionSettlement(); MapObject(oPensionSettlement, dataReader); return oPensionSettlement as T; } public PensionSettlement Get(int id) { PensionSettlement oPensionSettlement = new PensionSettlement(); #region Cache Header oPensionSettlement = new PensionSettlement(); if (oPensionSettlement != null) return oPensionSettlement; #endregion TransactionContext tc = null; try { tc = TransactionContext.Begin(); DataReader dr = new DataReader(PensionSettlementDA.Get(tc, id)); if (dr.Read()) { oPensionSettlement = this.CreateObject(dr); } dr.Close(); tc.End(); } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); ExceptionLog.Write(e); throw new ServiceException("Failed to GetFinalSettlement", e); #endregion } #region Cache Footer #endregion return oPensionSettlement; } public List Get() { List oPensionSettlements = new List(); TransactionContext tc = null; try { tc = TransactionContext.Begin(); DataReader dataReader = new DataReader(PensionSettlementDA.Get(tc)); while (dataReader.Read()) { PensionSettlement item = new PensionSettlement(); item = this.CreateObject(dataReader); oPensionSettlements.Add(item); } tc.End(); } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); ExceptionLog.Write(e); throw new ServiceException("Failed to GetFinalSettlement", e); #endregion } #region Cache Footer #endregion return oPensionSettlements; } public List Get(string sSql) { List oPensionSettlements = new List(); TransactionContext tc = null; try { tc = TransactionContext.Begin(); DataReader dataReader = new DataReader(PensionSettlementDA.Get(tc, sSql)); while (dataReader.Read()) { PensionSettlement item = this.CreateObject(dataReader); oPensionSettlements.Add(item); } tc.End(); } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); ExceptionLog.Write(e); throw new ServiceException("Failed to GetFinalSettlement", e); #endregion } return oPensionSettlements; } //public void Insert(PensionSettlement oPensionSettlement, GLTran glTran, List memberTrans, List membersMonthlyBalances) //{ // TransactionContext tc = null; // Ease.Core.DataAccess.TransactionContext tc1 = null; // try // { // tc = TransactionContext.Begin(true); // tc1 = Ease.Core.DataAccess.TransactionContext.Begin(true); // EaseFAS.Service.GLTranService glTranService = new EaseFAS.Service.GLTranService(); // MembersTransactionDetailsService meberTranDetailService = new MembersTransactionDetailsService(); // Ease.Core.Framework.ID glTranID = null; // glTranID = glTranService.Insert(glTran, tc1); // if (oPensionSettlement.IsNew) // { // oPensionSettlement.CreatedBy = User.CurrentUser.ID; // oPensionSettlement.CreatedDate = GlobalFunctionDA.ServerDate(tc); // int id = tc.GenerateID("PensionSettlement", "PensionSettlementID"); // base.SetObjectID(oPensionSettlement, (id)); // oPensionSettlement.GLTranID = Ease.CoreV35.Model.(glTranID); // PensionSettlementDA.Insert(tc, oPensionSettlement); // } // else if (oPensionSettlement.IsModified) // { // oPensionSettlement.ModifiedBy = User.CurrentUser.ID; // oPensionSettlement.ModifiedDate = new PayrollGlobalFunctionservice().GetServerDate().Date; // PensionSettlementDA.Update(tc, oPensionSettlement); // } // meberTranDetailService.UploadOpeningTranForGF(tc, memberTrans, membersMonthlyBalances); // tc.End(); // tc1.End(); // } // catch (Exception e) // { // #region Handle Exception // if (tc != null) // tc.HandleError(); // if (tc1 != null) // tc1.HandleError(); // ExceptionLog.Write(e); // throw new ServiceException("Failed to Insert GF settlement: " + e.Message); // #endregion // } //} //public void Insert(PensionSettlement oPensionSettlement, GLTran glTran, GLTran glTranInterest, List memberTrans, List membersMonthlyBalances) //{ // TransactionContext tc = null; // Ease.Core.DataAccess.TransactionContext tc1 = null; // try // { // tc = TransactionContext.Begin(true); // tc1 = Ease.Core.DataAccess.TransactionContext.Begin(true); // EaseFAS.Service.GLTranService glTranService = new EaseFAS.Service.GLTranService(); // MembersTransactionDetailsService meberTranDetailService = new MembersTransactionDetailsService(); // Ease.Core.Framework.ID glTranID = null; // Ease.Core.Framework.ID glTranInterestID = null; // glTranID = glTranService.Insert(glTran, tc1); // if (glTranInterest != null && glTranInterest.DebitAmount > 0) // glTranInterestID = glTranService.Insert(glTranInterest, tc1); // else // glTranInterestID = Ease.Core.Framework.(0); // if (oPensionSettlement.IsNew) // { // oPensionSettlement.CreatedBy = User.CurrentUser.ID; // oPensionSettlement.CreatedDate = GlobalFunctionDA.ServerDate(tc); // int id = tc.GenerateID("PensionSettlement", "PensionSettlementID"); // base.SetObjectID(oPensionSettlement, (id)); // oPensionSettlement.GLTranID = Ease.CoreV35.Model.(glTranID); // PensionSettlementDA.Insert(tc, oPensionSettlement); // } // else if (oPensionSettlement.IsModified) // { // oPensionSettlement.ModifiedBy = User.CurrentUser.ID; // oPensionSettlement.ModifiedDate = new PayrollGlobalFunctionservice().GetServerDate().Date; // PensionSettlementDA.Update(tc, oPensionSettlement); // } // meberTranDetailService.UploadOpeningTranForGF(tc, memberTrans, membersMonthlyBalances); // tc.End(); // tc1.End(); // } // catch (Exception e) // { // #region Handle Exception // if (tc != null) // tc.HandleError(); // if (tc1 != null) // tc1.HandleError(); // ExceptionLog.Write(e); // throw new ServiceException("Failed to Insert GF settlement: " + e.Message); // #endregion // } //} //public void Insert(PensionSettlement oPensionSettlement) //{ // TransactionContext tc = null; // try // { // tc = TransactionContext.Begin(true); // if (oPensionSettlement.IsNew) // { // oPensionSettlement.CreatedBy = User.CurrentUser.ID; // oPensionSettlement.CreatedDate = GlobalFunctionDA.ServerDate(tc); // int id = tc.GenerateID("PensionSettlement", "PensionSettlementID"); // base.SetObjectID(oPensionSettlement, (id)); // PensionSettlementDA.Insert(tc, oPensionSettlement); // } // else if (oPensionSettlement.IsModified) // { // oPensionSettlement.ModifiedBy = User.CurrentUser.ID; // oPensionSettlement.ModifiedDate = new PayrollGlobalFunctionservice().GetServerDate().Date; // PensionSettlementDA.Update(tc, oPensionSettlement); // } // tc.End(); // } // catch (Exception e) // { // #region Handle Exception // if (tc != null) // tc.HandleError(); // ExceptionLog.Write(e); // throw new ServiceException("Failed to Insert GF settlement: " + e.Message); // #endregion // } //} //public void DeleteSettlement(PensionSettlement gfSettlement) //{ // int projectID = FM.BO.Common.User.CurrentMasterParam.ID; // TransactionContext tc = null; // decimal totalAmount = gfSettlement.PensionAmount; // Ease.Core.DataAccess.TransactionContext tc1 = null; // try // { // tc = TransactionContext.Begin(true); // tc1 = Ease.Core.DataAccess.TransactionContext.Begin(true); // EaseFAS.Service.GLTranService glTranService = new EaseFAS.Service.GLTranService(); // glTranService.Delete(tc1, Ease.Core.Framework.(gfSettlement.GLTranID)); // MembersTransactionDetailsDA.DeleteGFMemberSettlement(tc, gfSettlement.MemberID, gfSettlement.SettlementDate.Date, gfSettlement.PensionAmount, projectID); // MemberBalaneMonthlyDA.DeleteGFSettlementData(tc, gfSettlement.MemberID, gfSettlement.SettlementDate.Date, projectID, totalAmount); // PensionSettlementDA.Delete(tc, gfSettlement.ID); // tc.End(); // tc1.End(); // } // catch (Exception e) // { // #region Handle Exception // if (tc != null) // tc.HandleError(); // if (tc1 != null) // tc1.HandleError(); // ExceptionLog.Write(e); // throw new ServiceException("Failed to Delete PensionSettlement" + e.Message); // #endregion // } //} #endregion Service implementation } }