public ActionResult InsertSub(MCommissionDet viewModel, FormCollection formCollection, string commissionId) { var commissionDet = new MCommissionDet(); commissionDet.CommissionId = _mCommissionRepository.Get(commissionId); TransferFormValuesTo(commissionDet, formCollection); commissionDet.SetAssignedIdTo(Guid.NewGuid().ToString()); commissionDet.CreatedDate = DateTime.Now; commissionDet.CreatedBy = User.Identity.Name; commissionDet.DataStatus = EnumDataStatus.New.ToString(); _mCommissionDetRepository.Save(commissionDet); try { _mCommissionDetRepository.DbContext.CommitChanges(); } catch (Exception e) { _mCommissionDetRepository.DbContext.RollbackTransaction(); return(Content(e.GetBaseException().Message)); } return(Content("Data Detail berhasil dimasukkan")); }
private void CalculateCommissionSurveyor(TRecPeriod recPeriod, IList <TLoan> listLoan) { MCommission comm = _mCommissionRepository.GetCommissionByDate(EnumDepartment.SU, recPeriod.PeriodFrom, recPeriod.PeriodTo); if (comm == null) { throw new Exception("Data komisi untuk surveyor tidak tersedia."); } IList <MCommissionDet> listDets = comm.CommissionDets; decimal?incentiveSurvey = 0; decimal?incentiveApprove = 0; //get incentive if (listDets.Count > 0) { MCommissionDet det = listDets[0]; incentiveSurvey = det.DetailIncentiveSurveyOnly; incentiveApprove = det.DetailIncentiveSurveyAcc; } //get survey group by surveyor IList <TLoanSurvey> listSurvey = _tLoanSurveyRepository.GetListBySurveyDate(recPeriod.PeriodFrom, recPeriod.PeriodTo); var recapSurvey = from survey in listSurvey where survey.LoanId.SurveyorId != null group survey by survey.LoanId.SurveyorId into grouped select new { SurveyorId = grouped.Key, CountSurvey = grouped.Count(x => x.LoanId.SurveyorId != null) }; //save survey commission foreach (var recap in recapSurvey) { SaveCommission(recPeriod, EnumCommissionType.IncentiveSurvey, EnumDepartment.SU, recap.SurveyorId, 1, recap.CountSurvey, incentiveSurvey); } //get loan group by surveyor that status is OK var recapLoan = from loan in listLoan where loan.LoanStatus == EnumLoanStatus.OK.ToString() && loan.SurveyorId != null group loan by loan.SurveyorId into grouped select new { SurveyorId = grouped.Key, CountLoan = grouped.Count(x => x.SurveyorId != null) }; //save loan commission foreach (var recap in recapLoan) { SaveCommission(recPeriod, EnumCommissionType.IncentiveApprove, EnumDepartment.SU, recap.SurveyorId, 1, recap.CountLoan, incentiveApprove); } }
private static void TransferFormValuesTo(MCommissionDet commissionDet, FormCollection formCollection) { commissionDet.DetailType = formCollection["DetailType"]; commissionDet.DetailLowTarget = Helper.CommonHelper.ConvertToDecimal(formCollection["DetailLowTarget"]); commissionDet.DetailHighTarget = Helper.CommonHelper.ConvertToDecimal(formCollection["DetailHighTarget"]); commissionDet.DetailValue = Helper.CommonHelper.ConvertToDecimal(formCollection["DetailValue"]); commissionDet.DetailCustomerNumber = Helper.CommonHelper.ConvertToInteger(formCollection["DetailCustomerNumber"]); commissionDet.DetailTransportAllowance = Helper.CommonHelper.ConvertToDecimal(formCollection["DetailTransportAllowance"]); commissionDet.DetailIncentive = Helper.CommonHelper.ConvertToDecimal(formCollection["DetailIncentive"]); commissionDet.DetailIncentiveSurveyAcc = Helper.CommonHelper.ConvertToDecimal(formCollection["DetailIncentiveSurveyAcc"]); commissionDet.DetailIncentiveSurveyOnly = Helper.CommonHelper.ConvertToDecimal(formCollection["DetailIncentiveSurveyOnly"]); }
public ActionResult DeleteSub(MCommissionDet viewModel, FormCollection formCollection) { MCommissionDet commissionDet = _mCommissionDetRepository.Get(viewModel.Id); if (commissionDet != null) { _mCommissionDetRepository.Delete(commissionDet); } try { _mCommissionDetRepository.DbContext.CommitChanges(); } catch (Exception e) { _mCommissionDetRepository.DbContext.RollbackTransaction(); return(Content(e.GetBaseException().Message)); } return(Content("Data Detail Berhasil Dihapus")); }
public ActionResult UpdateSub(MCommissionDet viewModel, FormCollection formCollection) { MCommissionDet commissionDet = _mCommissionDetRepository.Get(viewModel.Id); TransferFormValuesTo(commissionDet, formCollection); commissionDet.ModifiedDate = DateTime.Now; commissionDet.ModifiedBy = User.Identity.Name; commissionDet.DataStatus = EnumDataStatus.Updated.ToString(); _mCommissionDetRepository.Update(commissionDet); try { _mCommissionDetRepository.DbContext.CommitChanges(); } catch (Exception e) { _mCommissionDetRepository.DbContext.RollbackTransaction(); return(Content(e.GetBaseException().Message)); } return(Content("Data Detail Berhasil Diupdate")); }