Exemple #1
0
        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());
        }
Exemple #2
0
        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());
        }