public TransactionHistory Add(TransactionHistory transactionHistory) { transactionHistoryRepository.Add(transactionHistory); return transactionHistory; }
public TransactionHistory Update(TransactionHistory transactionHistory) { transactionHistoryRepository.Update(transactionHistory); return transactionHistory; }
public ActionResult SaveNewBill(Bill bill, bool isZeroOut) { try { //save to bill if (bill != null) { bill.DateReceived = DateTime.Now; Guid memberId = bill.MemberId; Guid medallionId = bill.MedallionId; var medallion = medallionService.Get(bill.MedallionId); if (bill.Id != null && bill.Id != Guid.Empty) { bill.UserName = User.Identity.Name; billService.Update(bill); } else { bill.Id = Guid.NewGuid(); bill.IsZeroOut = isZeroOut; bill.UserName = User.Identity.Name; billService.Add(bill); } //we are suspecting just have only one for each medallion var loan = loanService.GetLoanListByMemberAndMedallion(memberId, medallionId).FirstOrDefault(); var insuranceDeposit = insuranceDepositService.GetByMedallionAndMemberId(memberId, medallionId); var ccsys = ccsystemAirtimeService.GetByMedallionAndMemberId(memberId, medallionId); var accReceivable = accountReceivableService.GetByMedallionAndMemberId(memberId, medallionId); var saveDeposit = savingDepositService.GetByMedallionAndMemberId(memberId, medallionId); //decrease balance in loan if (loan != null && bill.Loan > 0) { loan.TotalPaid += bill.Loan; loan.CurrentBalance -= bill.Loan; //decrease for total paid interested & principal paid CalculatePaidLoan(loan, bill.Loan); loanService.Update(loan); } //decrease balance in insurance deposit if (insuranceDeposit != null && bill.InsuranceDepositAmount > 0) { insuranceDeposit.TotalPaid += bill.InsuranceDepositAmount; insuranceDeposit.CurrentBalance -= bill.InsuranceDepositAmount; insuranceDepositService.Update(insuranceDeposit); } //decrease balance in accReceivable if (accReceivable != null && bill.AccountReceivableAmount > 0) { accReceivable.TotalPaid += bill.AccountReceivableAmount; accReceivable.CurrentBalance -= bill.AccountReceivableAmount; accountReceivableService.Update(accReceivable); } if (isZeroOut) { //decrease balance in saveDeposit if (saveDeposit != null && bill.TotalPaid > 0) { saveDeposit.TotalPaid -= bill.TotalPaid; savingDepositService.Update(saveDeposit); } } else { //decrease balance in saveDeposit if (saveDeposit != null && bill.SavingDepositAmount > 0) { saveDeposit.TotalPaid += bill.SavingDepositAmount; savingDepositService.Update(saveDeposit); } } //get balance bill.Balance = loan.CurrentBalance + insuranceDeposit.CurrentBalance + ccsys.Airtime + accReceivable.CurrentBalance; billService.Update(bill); //save to transactionhistory TransactionHistory trans = new TransactionHistory() { Id = Guid.NewGuid(), BillId = bill.Id, IsZeroOut = bill.IsZeroOut, DateReceived = bill.DateReceived, TransactionType = bill.TransactionType, AccountReceivableAmount = bill.AccountReceivableAmount, AssociationDueAmount = bill.AssociationDueAmount, Loan = bill.Loan, Balance = bill.Balance, Cash = bill.Cash, CCSystemAirtimeAmount = bill.CCSystemAirtimeAmount, Check = bill.Check, CollsionInsuranceAmount = bill.CollsionInsuranceAmount, Credit = bill.Credit, CreditCardAmount = bill.CreditCardAmount, CreditCardFee = bill.CreditCardFee, DueDate = bill.EndDate, InsuranceDepositAmount = bill.InsuranceDepositAmount, InsuranceSticker = bill.InsuranceSticker, InsuranceSurchargeAmount = bill.InsuranceSurchargeAmount, Interval = bill.Interval, IsAutoCashiering = bill.IsAutoCashiering, IsDeleted = false, LateFees = bill.LateFees, MedallionId = bill.MedallionId, MedallionNumber = medallion.MedallionNumber, MemberId = bill.MemberId, MiscCharge = bill.MiscCharge, NextPayment = bill.NextPayment, RecieptNumber = bill.RecieptNumber, SavingDepositAmount = bill.SavingDepositAmount, Subtotal = bill.Subtotal, TotalDueAmount = bill.TotalDueAmount, TotalPaidAmount = bill.TotalPaidAmount, UserName = bill.UserName, WerkReceivableAmount = bill.WerkReceivableAmount, WorkerCompensationAmount = bill.WorkerCompensationAmount, TransactionDate = bill.StartDate, TotalPaid = bill.TotalPaid }; //save to transaction history transactionHistoryService.Add(trans); return Json(true); } } catch { return Json(false); } return Json(false); }