Exemplo n.º 1
0
        public async Task <ServiceResponse <GetMarketSellerDTO> > AddMarketToSeller(AddMarketSellerDTO newMarketSeller)
        {
            ServiceResponse <GetMarketSellerDTO> serviceResponse = new ServiceResponse <GetMarketSellerDTO>();

            try
            {
                if (!await _context.MarketSellers.AnyAsync(x => x.MarketId == newMarketSeller.MarketId && x.SellerId == newMarketSeller.SellerId))
                {
                    var seller = await _context.Sellers.FindAsync(newMarketSeller.SellerId);

                    var market = await _context.Markets.FindAsync(newMarketSeller.MarketId);

                    if (seller == null)
                    {
                        serviceResponse.Success = false;
                        serviceResponse.Message = $"Could not found seller with id '{newMarketSeller.SellerId}'";
                    }
                    else if (market == null)
                    {
                        serviceResponse.Success = false;
                        serviceResponse.Message = $"Could not found market with id '{newMarketSeller.MarketId}'";
                    }
                    else
                    {
                        MarketSeller marketSeller = _mapper.Map <MarketSeller>(newMarketSeller);

                        await _context.MarketSellers.AddAsync(marketSeller);

                        await _context.SaveChangesAsync();

                        // reload data from database because market and seller objects are not included otherwise
                        var dbMarketSeller = await _context.MarketSellers.Include(x => x.Market).Include(x => x.Seller).SingleAsync(x => x.Id == marketSeller.Id);

                        serviceResponse.Data = _mapper.Map <GetMarketSellerDTO>(dbMarketSeller);
                    }
                }
                else
                {
                    serviceResponse.Success = false;
                    serviceResponse.Message = $"Market with id '{newMarketSeller.MarketId} already exists for seller with id '{newMarketSeller.SellerId}'";
                }
            }
            catch (Exception ex)
            {
                serviceResponse.Success   = false;
                serviceResponse.Exception = ex.Message;
            }
            return(serviceResponse);
        }
Exemplo n.º 2
0
        public async Task <ServiceResponse <GetSellerMarketDTO> > GetMarketByIdAndSellerId(long marketId, long sellerId)
        {
            ServiceResponse <GetSellerMarketDTO> serviceResponse = new ServiceResponse <GetSellerMarketDTO>();
            MarketSeller dbSellerMarket = await _context.MarketSellers.Include(x => x.Market).Include(x => x.Seller).FirstOrDefaultAsync(x => x.SellerId == sellerId && x.MarketId == marketId);

            if (dbSellerMarket != null)
            {
                serviceResponse.Data = _mapper.Map <GetSellerMarketDTO>(dbSellerMarket);
            }
            else
            {
                serviceResponse.Success = false;
                serviceResponse.Message = $"Could not found market with id '{marketId}' on seller with id '{sellerId}'";
            }
            return(serviceResponse);
        }