Example #1
0
        public async Task <BasketDTO> Get(long id)
        {
            var basket = await unitOfWork.Repository <Basket>().GetQueryable().Where(x => x.Id == id)
                         .Include(x => x.BasketItems)
                         .FirstOrDefaultAsync();

            if (basket == null)
            {
                return(null);
            }
            return(BasketConverter.Convert(basket));
        }
Example #2
0
        public async Task <BasketDTO> Create(long userId)
        {
            var user = await unitOfWork.UserRepository.Get(userId); // null

            var basket = new CreateBasketDTO
            {
                User = UserConverter.Convert(user)
            };
            var entity = await unitOfWork.Repository <Basket>().Add(BasketConverter.Convert(basket));

            if (entity == null)
            {
                return(null);
            }
            return(BasketConverter.Convert(entity));
        }
Example #3
0
        public async Task <BasketDTO> GetBasketByUserId(long userId)
        {
            var basket = await unitOfWork.Repository <Basket>().GetQueryable()
                         .AsNoTracking()
                         .Include(b => b.BasketItems)
                         .Include(u => u.User)
                         .FirstOrDefaultAsync(x => x.UserId == userId);

            if (basket == null || basket.User == null)
            {
                return(null);
            }

            basket.BasketItems = unitOfWork.Repository <BasketItems>().GetQueryable().Where(b => b.BasketId == basket.Id).ToList();
            var basketdto = BasketConverter.Convert(basket);

            return(basketdto);
        }