Exemple #1
0
        public int AddToCart(int catalogid, string username)
        {
            var query = from u in _context.Users
                        join b in _context.Baskets on u.id equals b.userid
                        where u.username == username && b.userid == u.id && b.catalogid == catalogid
                        select new { b };
            var models = query.OrderBy(x => x.b.createdAt).Select(x => new BasketDTO()
            {
                userid    = x.b.userid,
                catalogid = x.b.catalogid,
                unit      = x.b.unit,
                createdAt = x.b.createdAt
            }).ToList();

            if (models.Count > 0)
            {
                var userid = models[0].userid;
                var basket = _context.Baskets.SingleOrDefault(x => x.userid == userid && x.catalogid == catalogid);
                basket = BasketMapper.toBasket(models[0], basket);
                try
                {
                    _context.SaveChanges();
                }
                catch (Exception)
                {
                    return(0);
                }
            }
            else
            {
                var basket = new Basket();
                var userid = _context.Users.SingleOrDefault(x => x.username == username).id;
                basket = BasketMapper.toBasket(new BasketDTO()
                {
                    catalogid = catalogid, userid = userid
                }, basket);
                _context.Baskets.Add(basket);
                try
                {
                    _context.SaveChanges();
                }
                catch (Exception)
                {
                    return(0);
                }
            }
            return(1);
        }
Exemple #2
0
        public async Task <IActionResult> GetItemsFromBasket()
        {
            var apiUser = BuildApiUser();

            if (apiUser == null)
            {
                return(Unauthorized("Invalid or no X_API_SECRET"));
            }
            var basketResult = await _basketService.GetBasket(apiUser.CustomerKey);

            if (basketResult == null)
            {
                return(NotFound("No item found in this basket"));
            }

            return(Ok(BasketMapper.MapFromDto(basketResult)));
        }
 public BasketMapperTests()
 {
     _itemMapper   = new Mock <IItemMapper>();
     _basketMapper = new BasketMapper(_itemMapper.Object);
     _faker        = new Faker();
 }