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; namespace HRM.DA { public class BudgetMasterService : ServiceTemplate { #region Object Mapping private void MapObject(BudgetMaster oBudgetMaster, DataReader oReader) { SetObjectID(oBudgetMaster, (oReader.GetInt32("BudgetMasterID").Value)); oBudgetMaster.BasedOn = (EnumBasedOnPercent)oReader.GetInt32("BasedOn"); oBudgetMaster.EffectMonth = oReader.GetDateTime("EffectMonth").Value; oBudgetMaster.FromDate = oReader.GetDateTime("FromDate").Value; oBudgetMaster.Name = oReader.GetString("Name"); oBudgetMaster.OverAllPercentage = oReader.GetDouble("OverAllPercentage").Value; oBudgetMaster.ToDate = oReader.GetDateTime("ToDate").Value; oBudgetMaster.PayrollTypeID = oReader.GetInt32("PayrollTypeID", 0); SetObjectState(oBudgetMaster, ObjectState.Saved); } protected override T CreateObject(DataReader dr) { BudgetMaster oBudgetMaster = new BudgetMaster(); MapObject(oBudgetMaster, dr); return oBudgetMaster as T; } #endregion #region IBudgetMasterService Implementation public BudgetMaster Get(int nID, int payrollTypeID) { BudgetMaster oBudgetMaster = new BudgetMaster(); TransactionContext tc = null; try { tc = TransactionContext.Begin(); DataReader oreader = new DataReader(BudgetMasterDA.Get(tc, nID, payrollTypeID)); if (oreader.Read()) { oBudgetMaster = CreateObject(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 oBudgetMaster; } public List Get(int payrollTypeID) { List oBudgetMasters = null; TransactionContext tc = null; try { tc = TransactionContext.Begin(); DataReader oreader = new DataReader(BudgetMasterDA.Get(tc, payrollTypeID)); // if (oreader.Read()) //{ oBudgetMasters = this.CreateObjects(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 oBudgetMasters; } public List Get(DateTime dtFromDate, DateTime dtToDate, int payrollTypeID) { List oBudgetMasters = null; TransactionContext tc = null; try { tc = TransactionContext.Begin(); DataReader oreader = new DataReader(BudgetMasterDA.Get(tc, dtFromDate, dtToDate, payrollTypeID)); // if (oreader.Read()) //{ oBudgetMasters = this.CreateObjects(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 oBudgetMasters; } public int Save(BudgetMaster item) { //pbar.Value = 0; //pbar.Maximum = item.BudgetDepartments.Count + item.BudgetGrades.Count + item.BudgetCCs.Count + item.Individualchanges.Count + item.NewJoiners.Count + item.Components.Count + item.BudgetProcessMonthlys.Count; TransactionContext tc = null; try { tc = TransactionContext.Begin(true); if (item.ID != 0) { BudgetMasterDA.DeleteAll(tc, item.ID, item.PayrollTypeID); BudgetMasterDA.DeleteBudgetCostCenter(tc, item.ID); BudgetMasterDA.DeleteBudgetGrade(tc, item.ID); BudgetMasterDA.DeleteBudgetIndivisualChange(tc, item.ID); BudgetMasterDA.DeleteBudgetNewJoiner(tc, item.ID); BudgetMasterDA.DeleteBudgetProcessMonthly(tc, item.ID, item.PayrollTypeID); BudgetMasterDA.DeleteBudgetComponent(tc, item.ID); BudgetMasterDA.DeleteBudgetMaster(tc, item.ID, item.PayrollTypeID); } int id = tc.GenerateID("BudgetMaster", "BudgetMasterID"); SetObjectID(item, (id)); BudgetMasterDA.Insert(tc, item); BudgetDepartmentService oBudDept = new BudgetDepartmentService(); foreach (BudgetDepartment bd in item.BudgetDepartments) { bd.BudgetudID = item.ID; oBudDept.Save(bd, tc); } //pbar.Value += item.BudgetDepartments.Count; //pbar.Refresh(); BudgetGradeService oBudGradeService = new BudgetGradeService(); foreach (BudgetGrade oBudGrade in item.BudgetGrades) { oBudGrade.BudgetID = item.ID; oBudGradeService.Save(oBudGrade, tc); } //pbar.Value += item.BudgetGrades.Count; //pbar.Refresh(); BudgetCostCenterService oBudCCService = new BudgetCostCenterService(); foreach (BudgetCostCenter oBudCC in item.BudgetCCs) { oBudCC.BudgetID = item.ID; oBudCCService.Save(oBudCC, tc); } //pbar.Value += item.BudgetCCs.Count; //pbar.Refresh(); BudgetIndivisualChangeService oBudIndvChangeService = new BudgetIndivisualChangeService(); foreach (BudgetIndivisualChange oBudIndvChg in item.Individualchanges) { oBudIndvChg.BudgetID = item.ID; oBudIndvChangeService.Save(oBudIndvChg, tc); } //pbar.Value += item.Individualchanges.Count; //pbar.Refresh(); BudgetNewJoinerService oBudNewJoinerService = new BudgetNewJoinerService(); foreach (BudgetNewJoiner oBudNewJoiner in item.NewJoiners) { oBudNewJoiner.BudgetID = item.ID; oBudNewJoinerService.Save(oBudNewJoiner, tc); } //pbar.Value += item.NewJoiners.Count; //pbar.Refresh(); BudgetComponentService oBudComponentService = new BudgetComponentService(); foreach (BudgetComponent oBudCom in item.Components) { oBudCom.BudgetID = item.ID; oBudComponentService.Save(oBudCom, tc); } //pbar.Value += item.Components.Count; //pbar.Refresh(); BudgetProcessMonthlyService oBudProsMonthService = new BudgetProcessMonthlyService(); foreach (BudgetProcessMonthly oBudMonthly in item.BudgetProcessMonthlys) { oBudMonthly.BudgetID = item.ID; oBudProsMonthService.Save(oBudMonthly, tc); //pbar.Value += 1; //pbar.Refresh(); } tc.End(); return item.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 nID, int payrollTypeID) { TransactionContext tc = null; try { tc = TransactionContext.Begin(true); BudgetMasterDA.DeleteAll(tc, nID, payrollTypeID); BudgetMasterDA.DeleteBudgetCostCenter(tc, nID); BudgetMasterDA.DeleteBudgetGrade(tc, nID); BudgetMasterDA.DeleteBudgetIndivisualChange(tc, nID); BudgetMasterDA.DeleteBudgetNewJoiner(tc, nID); BudgetMasterDA.DeleteBudgetProcessMonthly(tc, nID, payrollTypeID); BudgetMasterDA.DeleteBudgetComponent(tc, nID); BudgetMasterDA.DeleteBudgetMaster(tc, nID, payrollTypeID); tc.End(); } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); ExceptionLog.Write(e); throw new ServiceException(e.Message, e); #endregion } } #endregion } }