Exemple #1
0
        public ActionResult Post([FromBody] TransactionDataTransferObject value)
        {
            var transactionResult = _transactionService.AddTransaction(value);

            if (transactionResult.ResponseCode != ResponseCode.Success)
            {
                return(BadRequest(transactionResult.Error));
            }
            return(Ok(transactionResult.Result));
        }
Exemple #2
0
        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));
        }
Exemple #4
0
        /// <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));
        }