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()); }
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()); }