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); }
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(); }