示例#1
0
        public async Task <StockTransactionVM> CreateAsync(CreateOrUpdateStockTransactionVM createOrUpdateStockTransactionVM)
        {
            var stock = await _mediator.Send(new GetSingleRequest <Stock>(createOrUpdateStockTransactionVM.StockId));

            var stock_transaction = new StockTransaction()
            {
                Id         = createOrUpdateStockTransactionVM.Id,
                Stock      = stock,
                Commission = createOrUpdateStockTransactionVM.Commission,
                Amount     = createOrUpdateStockTransactionVM.Amount,
                Price      = createOrUpdateStockTransactionVM.Price,
                When       = createOrUpdateStockTransactionVM.When,
                TradeType  = createOrUpdateStockTransactionVM.TradeType
            };

            var checkIfExists = await _mediator.Send(new CheckExistsRequest <StockTransaction>(stock_transaction));

            if (checkIfExists != null)
            {
                _notifications.AddNotification("400", "Already exist a transaction with the same data.");
                return(checkIfExists.ToVM());
            }

            stock_transaction = await _mediator.Send(new CreateRequest <StockTransaction>(stock_transaction));

            return(stock_transaction.ToVM());
        }
示例#2
0
        public async Task <StockTransactionVM> UpdateAsync(string id, CreateOrUpdateStockTransactionVM createOrUpdateStockTransactionVM)
        {
            if (string.IsNullOrEmpty(createOrUpdateStockTransactionVM.Id))
            {
                _notifications.AddNotification("404", "Stock transaction was not found.");
                return(null);
            }

            var stock = await _mediator.Send(new GetSingleRequest <Stock>(createOrUpdateStockTransactionVM.StockId));

            var stockTransactionToUpdate = await _mediator.Send(new GetSingleRequest <StockTransaction>(createOrUpdateStockTransactionVM.Id));

            stockTransactionToUpdate.Stock      = stock;
            stockTransactionToUpdate.Commission = createOrUpdateStockTransactionVM.Commission;
            stockTransactionToUpdate.Amount     = createOrUpdateStockTransactionVM.Amount;
            stockTransactionToUpdate.Price      = createOrUpdateStockTransactionVM.Price;
            stockTransactionToUpdate.When       = createOrUpdateStockTransactionVM.When;
            stockTransactionToUpdate.TradeType  = createOrUpdateStockTransactionVM.TradeType;

            StockTransaction stock_transaction;

            try
            {
                stock_transaction = await _mediator.Send(new UpdateRequest <StockTransaction>(id, stockTransactionToUpdate));
            }
            catch (Exception ex)
            {
                _notifications.AddNotification("500", $"Iternal server error on try to update the Stock Transaction. Exception generated was: {ex.Message}");
                return(null);
            }

            if (stock_transaction == null)
            {
                _notifications.AddNotification("404", "Stock transaction was not found.");
            }

            return(stock_transaction.ToVM());
        }