public ActionResult Post([FromBody] TransactionDataTransferObject value) { var transactionResult = _transactionService.AddTransaction(value); if (transactionResult.ResponseCode != ResponseCode.Success) { return(BadRequest(transactionResult.Error)); } return(Ok(transactionResult.Result)); }
public IActionResult Post(TransactionDataTransferObject transaction) { var transactionResult = _transactionService.Add(transaction); if (transactionResult.ResponseCode != ResponseCode.Success) { return(BadRequest(transactionResult.Error)); } return(Ok(transactionResult.Result)); }
public ServiceResult <TransactionDataTransferObject> AddTransaction(TransactionDataTransferObject transaction) { var entity = new Transaction { AccountId = transaction.AccountId, Amount = transaction.Amount, Description = transaction.Description }; var result = _transactionRepository.Add(entity); _transactionRepository.SaveChanges(); transaction.Id = result.Id; return(ServiceResult <TransactionDataTransferObject> .SuccessResult(transaction)); }
/// <summary> /// Отменяет резеврирование товара и средств пользователя. /// </summary> /// <param name="transaction">Транзакция.</param> private void RevertReserve(TransactionModel transaction) { var transactionDTO = new TransactionDataTransferObject { ProfileId = transaction.ProfileId, ProductId = transaction.ProductId, Cost = transaction.TotalCost }; var messageToProfile = new RabbitMessageModel { Action = (int)RabbitMessageActions.Revert, Sender = "TransactionAPI", Model = transactionDTO }; var messageToProduct = new RabbitMessageModel { Action = (int)RabbitMessageActions.Revert, Sender = "TransactionAPI", Model = transactionDTO }; _rabbitService.SendMessage(JsonConvert.SerializeObject(messageToProfile), "ProfileAPI"); _rabbitService.SendMessage(JsonConvert.SerializeObject(messageToProduct), "ProductAPI"); }
public ServiceResult <TransactionDataTransferObject> Add(TransactionDataTransferObject transaction) { var transactionEntity = new Transaction { Description = transaction.Description, Amount = transaction.Amount, TransactionDate = transaction.TransactionDate, AccountId = transaction.AccountId }; _transactionRepository.Add(transactionEntity); _transactionRepository.SaveChanges(); transaction.Id = transactionEntity.Id; var account = _accountRepository.All().Where(x => x.Id == transaction.AccountId).FirstOrDefault(); account.Amount += transaction.Amount; _accountRepository.Update(account); _accountRepository.SaveChanges(); return(ServiceResult <TransactionDataTransferObject> .SuccessResult(transaction)); }