//public PaymentBL(IPaymentRepository paymentRepository) //{ // this.paymentRepository = paymentRepository; //} public void InsertOrUpdatePayment(Payment payment) { payment.CompanyID = this.companyID; ValidatePayment(payment); try { paymentRepository.InsertOrUpdatePayment(payment); } catch (Exception ex) { //Include catch blocks for specific exceptions first, //and handle or log the error as appropriate in each. //Include a generic catch block like this one last. throw ex; } }
public void InsertOrUpdatePayment(Payment payment) { context.Entry(payment).State = payment.PaymentID == 0 ? EntityState.Added : EntityState.Modified; SaveChanges(); }
private void ValidatePayment(Payment payment) { if (payment.AccountID != null) { var duplicatePayment = paymentRepository.GetPaymentByAccountID(payment.AccountID.GetValueOrDefault()).FirstOrDefault(); if (duplicatePayment != null && duplicatePayment.PaymentID != payment.PaymentID) { if (duplicatePayment.AccountID == payment.AccountID) { throw new PaymentException(String.Format( "Account {0} is already exist", duplicatePayment.Account.Name, duplicatePayment.Amount, duplicatePayment.PaymentNumber)); } } } }