public void CreateAtmWithdraw(AtmWithdrawDetails atmWithdrawDetails) { var atmWithdraw = Mapper.Map <AtmWithdraw>(atmWithdrawDetails); atmWithdraw.CurrentAmount = atmWithdrawDetails.InitialAmount; atmWithdraw.IsClosed = false; _atmWithdrawRepository.Create(atmWithdraw); var account = _bankAccountRepository.GetById(atmWithdraw.AccountId); MovementHelpers.Debit(_historicMovementRepository, atmWithdraw.InitialAmount, account.Id, ObjectType.Account, account.CurrentBalance); account.CurrentBalance -= atmWithdraw.InitialAmount; _bankAccountRepository.Update(account); }
public void EditAtmWithdraw(AtmWithdrawDetails atmWithdrawDetails) { var atmWithdraw = _atmWithdrawRepository.GetById(atmWithdrawDetails.Id); var oldCost = atmWithdraw.InitialAmount; atmWithdraw.InitialAmount = atmWithdrawDetails.InitialAmount; atmWithdraw.CurrentAmount = atmWithdrawDetails.InitialAmount; atmWithdraw.DateExpense = atmWithdrawDetails.DateExpense; atmWithdraw.HasBeenAlreadyDebited = atmWithdrawDetails.HasBeenAlreadyDebited; _atmWithdrawRepository.Update(atmWithdraw); if (oldCost != atmWithdraw.InitialAmount) { var account = _bankAccountRepository.GetById(atmWithdraw.AccountId); MovementHelpers.Credit(_historicMovementRepository, oldCost, account.Id, ObjectType.Account, account.CurrentBalance); account.CurrentBalance += oldCost; MovementHelpers.Debit(_historicMovementRepository, atmWithdraw.InitialAmount, account.Id, ObjectType.Account, account.CurrentBalance); account.CurrentBalance -= atmWithdraw.InitialAmount; _bankAccountRepository.Update(account); } }
public void Put(int id, [FromBody] AtmWithdrawDetails editedObj) { _atmWithdrawService.EditAtmWithdraw(editedObj); }
public void Post([FromBody] AtmWithdrawDetails createdObj) { _atmWithdrawService.CreateAtmWithdraw(createdObj); }