private void UpdateExpenseAmountPaidTillDate(smART.ViewModel.PaymentReceiptDetails businessEntity, smART.Model.PaymentReceiptDetails modelEntity, smART.Model.smARTDBContext dbContext) { try { smART.Model.ExpensesRequest exp = (from s in dbContext.T_Expenses where s.ID == businessEntity.ExpenseRequest.ID select s).FirstOrDefault(); if (exp != null) { decimal appliedAmount = 0; var prDetails = dbContext.T_Payment_Receipt_Details.Where(p => p.ExpenseRequest.ID == businessEntity.ExpenseRequest.ID && p.Active_Ind == true); if (prDetails != null && prDetails.Count() > 0) { appliedAmount = prDetails.Sum(p => p.Apply_Amount); } exp.Amount_Paid_Till_Date = Convert.ToDouble(appliedAmount); dbContext.SaveChanges(); } } catch (Exception ex) { bool rethrow; rethrow = BusinessRuleExceptionHandler.HandleException(ref ex, businessEntity.Updated_By, businessEntity.GetType().Name, businessEntity.ID.ToString()); if (rethrow) { throw ex; } } }
private void UpdatePaymentReceiptAmount(smART.ViewModel.PaymentReceiptDetails businessEntity, smART.Model.PaymentReceiptDetails modelEntity, smART.Model.smARTDBContext dbContext) { if (businessEntity.PaymentReceipt.Transaction_Type.Equals(EnumTransactionType.Receipt.ToString())) { UpdateInvoiceAmountReceivedTillDate(businessEntity, modelEntity, dbContext); } else if (businessEntity.PaymentReceipt.Transaction_Type.Equals(EnumTransactionType.Payment.ToString())) { if (businessEntity.PaymentReceipt.Payment_Receipt_Type.Equals(EnumPaymentType.Expenses.ToString())) { UpdateExpenseAmountPaidTillDate(businessEntity, modelEntity, dbContext); } else { UpdateSettlementAmountPaidTillDate(businessEntity, modelEntity, dbContext); } } }
public void Added(smART.ViewModel.PaymentReceiptDetails businessEntity, smART.Model.PaymentReceiptDetails modelEntity, smART.Model.smARTDBContext dbContext) { UpdatePaymentReceiptAmount(businessEntity, modelEntity, dbContext); }