using System; using Ease.CoreV35.Caching; using Ease.CoreV35.DataAccess; using Ease.CoreV35.Model; using Payroll.BO; namespace Payroll.Service { #region TrainingSchEmpCost Service [Serializable] class TrainingSchEmpCostService : ServiceTemplate, ITrainingSchEmpCostService { #region Private functions and declaration Cache _cache = new Cache(typeof(TrainingSchEmpCost)); private void MapObject(TrainingSchEmpCost oTrainingSchEmpCost, DataReader oReader) { base.SetObjectID(oTrainingSchEmpCost, oReader.GetID("TrainingSchEmpCostID")); oTrainingSchEmpCost.CostHdID = oReader.GetInt32("CostHdID").Value; oTrainingSchEmpCost.Amount = oReader.GetDouble("Amount").Value; oTrainingSchEmpCost.TrunDate = oReader.GetDateTime("TrunDate").Value; oTrainingSchEmpCost.Remarks = oReader.GetString("Remarks"); oTrainingSchEmpCost.EmployeeID = oReader.GetInt32("EmployeeID").Value; oTrainingSchEmpCost.TrainSchEmpID = oReader.GetInt32("TrainSchEmpID").Value; oTrainingSchEmpCost.CreatedBy = oReader.GetID("CreatedBy"); oTrainingSchEmpCost.CreatedDate = oReader.GetDateTime("CreatedDate").HasValue ? oReader.GetDateTime("CreatedDate").Value : DateTime.Today; oTrainingSchEmpCost.ModifiedBy = oReader.GetID("ModifiedBy"); oTrainingSchEmpCost.ModifiedDate = oReader.GetDateTime("ModifiedDate"); this.SetObjectState(oTrainingSchEmpCost, Ease.CoreV35.ObjectState.Saved); } protected override T CreateObject(DataReader oReader) { TrainingSchEmpCost oTrainingSchEmpCost = new TrainingSchEmpCost(); MapObject(oTrainingSchEmpCost, oReader); return oTrainingSchEmpCost as T; } #endregion #region Implementation of ITrainingSchEmpCostService #region Get TrainingSchEmpCost public TrainingSchEmpCost Get(ID TrainingSchEmpCostID) { TrainingSchEmpCost oTrainingSchEmpCost = null; #region CacheHeader oTrainingSchEmpCost = (TrainingSchEmpCost)_cache["Get", TrainingSchEmpCostID]; if (oTrainingSchEmpCost != null) return oTrainingSchEmpCost; #endregion TransactionContext tc = null; try { #region Retrieving data tc = TransactionContext.Begin(); DataReader oreader = new DataReader(TrainingSchEmpCostDA.Get(tc, TrainingSchEmpCostID.Integer)); oreader.Read(); oTrainingSchEmpCost = CreateObject(oreader); tc.End(); #endregion } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); throw new ServiceException(e.Message, e); #endregion } #region CacheFooter _cache.Add(oTrainingSchEmpCost, "Get", TrainingSchEmpCostID); #endregion return oTrainingSchEmpCost; } #endregion #region Get TrainingSchEmpCosts public ObjectsTemplate Get() { ObjectsTemplate oTrainingSchEmpCosts; #region CacheHeader oTrainingSchEmpCosts = (ObjectsTemplate)_cache["Get"]; if (oTrainingSchEmpCosts != null) return oTrainingSchEmpCosts; #endregion TransactionContext tc = null; try { #region Retrieving data tc = TransactionContext.Begin(); DataReader oreader = new DataReader(TrainingSchEmpCostDA.Get(tc)); oTrainingSchEmpCosts = CreateObjects(oreader); tc.End(); #endregion } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); throw new ServiceException(e.Message, e); #endregion } #region CacheFooter _cache.Add(oTrainingSchEmpCosts, "Get"); #endregion return oTrainingSchEmpCosts; } public ObjectsTemplate GetByTrainingScheduleEmpID(TransactionContext tc, ID empID, ID trainSchEmpID) { ObjectsTemplate trainingSchEmpCosts; #region CacheHeader trainingSchEmpCosts = (ObjectsTemplate)_cache["Get"]; if (trainingSchEmpCosts != null) return trainingSchEmpCosts; #endregion try { #region Retrieving data DataReader oreader = new DataReader(TrainingSchEmpCostDA.GetByTrainingScheduleEmpID(tc, empID, trainSchEmpID)); trainingSchEmpCosts = CreateObjects(oreader); oreader.Close(); #endregion } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); throw new ServiceException(e.Message, e); #endregion } #region CacheFooter _cache.Add(trainingSchEmpCosts, "Get"); #endregion return trainingSchEmpCosts; } public ObjectsTemplate GetByTrainingScheduleEmpID(ID empID, ID trainSchEmpID) { ObjectsTemplate trainingSchEmpCosts; #region CacheHeader trainingSchEmpCosts = (ObjectsTemplate)_cache["Get"]; if (trainingSchEmpCosts != null) return trainingSchEmpCosts; #endregion TransactionContext tc = null; try { #region Retrieving data tc = TransactionContext.Begin(); DataReader oreader = new DataReader(TrainingSchEmpCostDA.GetByTrainingScheduleEmpID(tc, empID, trainSchEmpID)); trainingSchEmpCosts = CreateObjects(oreader); tc.End(); #endregion } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); throw new ServiceException(e.Message, e); #endregion } #region CacheFooter _cache.Add(trainingSchEmpCosts, "Get"); #endregion return trainingSchEmpCosts; } public ObjectsTemplate GetCostWithoutParent() { ObjectsTemplate trainingSchEmpCosts; #region CacheHeader trainingSchEmpCosts = (ObjectsTemplate)_cache["Get"]; if (trainingSchEmpCosts != null) return trainingSchEmpCosts; #endregion TransactionContext tc = null; try { #region Retrieving data tc = TransactionContext.Begin(); DataReader oreader = new DataReader(TrainingSchEmpCostDA.GetCostWithoutParent(tc)); trainingSchEmpCosts = CreateObjects(oreader); tc.End(); #endregion } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); throw new ServiceException(e.Message, e); #endregion } #region CacheFooter _cache.Add(trainingSchEmpCosts, "Get"); #endregion return trainingSchEmpCosts; } #endregion #region Save TrainingSchEmpCost public ID Save(TrainingSchEmpCost oTrainingSchEmpCost) { try { TransactionContext tc = null; try { #region Saving data tc = TransactionContext.Begin(true); #region Checking Duplicate TrainingSchEmpCost Code //bool result = false; //result = TrainingSchEmpCostDA.IsExists("TrainingSchEmpCost", "Code", oTrainingSchEmpCost.Code, tc); //if ( oTrainingSchEmpCost.IsNew) //{ // throw new ServiceException("Duplicate code is not allowed."); //} #endregion if (oTrainingSchEmpCost.IsNew) { int newID = tc.GenerateID("TrainingSchEmpCost", "TrainingSchEmpCostID"); base.SetObjectID(oTrainingSchEmpCost, ID.FromInteger(newID)); TrainingSchEmpCostDA.Insert(tc, oTrainingSchEmpCost); } else TrainingSchEmpCostDA.Update(tc, oTrainingSchEmpCost); tc.End(); #endregion } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); throw new ServiceException(e.Message, e); #endregion } } catch (Exception e) { //throw new ServiceException(e.Message, e); throw new Exception(e.Message, e); } return oTrainingSchEmpCost.ID; } public void SaveTrainingSheduleCost(ObjectsTemplate tsec) { try { TransactionContext tc = null; try { #region Saving data tc = TransactionContext.Begin(true); //TrainingScheduleDA.DeleteTrainingEmployees(tc, oTrainingSchedule.ID.Integer); foreach (TrainingSchEmpCost item in tsec) { //enrolledTrainingEmployee.TrainingScheduleID = oTrainingSchedule.ID; //base.SetObjectID(enrolledTrainingEmployee, ID.FromInteger(tc.GenerateID("TrainingScheduleEmployee", "TrainingScheduleEmployeeID"))); //TrainingScheduleDA.InsertTrainingEmployee(tc, enrolledTrainingEmployee); int newID = tc.GenerateID("TrainingSchEmpCost", "TrainingSchEmpCostID"); base.SetObjectID(item, ID.FromInteger(newID)); item.CreatedBy = User.CurrentUser.ID; item.CreatedDate = DateTime.Today; TrainingSchEmpCostDA.Insert(tc, item); } TrainingSchEmpCostDA.DeleteCommonUpdateUncommon(tc); tc.End(); #endregion } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); throw new ServiceException(e.Message, e); #endregion } } catch (Exception e) { throw new Exception(e.Message, e); } } #endregion #region Delete Trainng public void Delete(ID TrainingSchEmpCostID) { try { TransactionContext tc = null; try { #region Deleting data tc = TransactionContext.Begin(true); TrainingSchEmpCostDA.Delete(tc, TrainingSchEmpCostID.Integer); tc.End(); #endregion } catch (Exception e) { #region Handle Exception if (tc != null) tc.HandleError(); throw new ServiceException(e.Message, e); #endregion } } catch (Exception e) { throw new ServiceException(e.Message, e); } } #endregion #endregion } #endregion }