public async Task <PortfolioOrder> AddOrderById(PortfolioOrderDTO po) { var portfolioOrder = new PortfolioOrder { OrderId = po.OrderId, PortfolioId = po.PortfolioId }; return(await _genericRepo.AddAsync(portfolioOrder)); }
public async Task <IActionResult> PutOrder(PortfolioOrderDTO po) { try { int userId = Int32.Parse(this.User.FindFirstValue(ClaimTypes.NameIdentifier)); var portfolio = await _portfolioServices.GetPortfolioByIdAsync(po.PortfolioId); var order = await _orderServices.GetOrderById(po.OrderId); if (portfolio == null) { return(StatusCode(400, "Portfolio with Id " + po.PortfolioId + " was not found.")); } if (order == null) { return(StatusCode(400, "Order with Id " + po.OrderId + " was not found.")); } if (portfolio.UserId != userId) { return(StatusCode(401)); } if (order.UserId != userId) { return(StatusCode(401)); } if (await _portfolioServices.PortfolioOrderExists(po.OrderId, po.PortfolioId)) { return(StatusCode(400, "Portfolio with id " + po.PortfolioId + " already contains order with id " + po.OrderId)); } await _portfolioServices.AddOrderById(po); return(StatusCode(201)); } catch { return(StatusCode(500, "Something went wrong while attempting to add order with id " + po.OrderId + " to portfolio with id " + po.PortfolioId)); } }