public async Task <ActionResult <TradeCreateDTO> > Post(TradeCreateDTO newTrade) { //check if trade already exists Console.WriteLine("ID: " + newTrade.TradeId); //var trade = _tradeRepo.GetOneTrade(newTrade.TradeId); TradeReadDTO trade = null; if (trade == null) { string newTradeId = await _tradeRepo.IdGen(); AppUser buyer = await _userRepo.GetOneUser(newTrade.BuyerId); AppUser offerer = await _userRepo.GetOneUser(newTrade.OffererId); AppCard card = await _cardRepo.GetOneCard(newTrade.OfferCardId); var appTrade = new AppTrade() { TradeId = newTradeId, OffererId = offerer.UserId, //BuyerId = buyer.UserId, dont need when creating a trade only updating TradeDate = newTrade.TradeDate, IsClosed = false, //should always be false when creating //tradeDetails OfferCardId = card.CardId, //BuyerCardId = newTrade.BuyerCardId dont need when creating a trade only updating }; var tradeDTO = new TradeReadDTO { TradeId = newTradeId, OffererId = newTrade.OffererId, //BuyerId = newTrade.BuyerId, IsClosed = newTrade.IsClosed, TradeDate = newTrade.TradeDate, //TradeDetails OfferCardId = newTrade.TradeId }; await _tradeRepo.AddOneTrade(appTrade); return(CreatedAtAction(nameof(GetTradeById), new { id = tradeDTO.TradeId }, tradeDTO)); } return(Conflict()); }
public async Task <ActionResult <TradeReadDTO> > GetTradeById(string id) { var trade = await _tradeRepo.GetOneTrade(id); if (trade != null) { var tradeDTO = new TradeReadDTO { TradeId = trade.TradeId, OffererId = trade.OffererId, BuyerId = trade.BuyerId, TradeDate = trade.TradeDate, IsClosed = trade.IsClosed, //tradeDetails OfferCardId = trade.OfferCardId, BuyerCardId = trade.BuyerCardId }; return(Ok(tradeDTO)); } return(NotFound()); }