Exemplo n.º 1
0
        //public async Task<Account> Update(int id, Account entity)
        //{
        //    return await _nonQueryDataService.Update(id, entity);
        //}


        public async Task <List <Cookie> > GetFavorites(int id)
        {
            using (CookieShopDbContext context = _contextFactory.CreateDbContext())
            {
                var resp = await context
                           .Accounts
                           .Include((g) => g.FavoriteCookies)
                           .ThenInclude((b) => b.Cookie)
                           .Where((e) => e.Id == id)
                           .FirstOrDefaultAsync();

                return(resp.FavoriteCookies.Select(a => a.Cookie).ToList());
            }
        }
Exemplo n.º 2
0
        public async Task <Cookie> UpdateStock(int cookieId, int amount)
        {
            using (CookieShopDbContext context = _contextFactory.CreateDbContext())
            {
                var stock = await context.Stocks.FirstOrDefaultAsync(s => s.Cookie.Id == cookieId);

                stock.Amount = amount;
                context.SaveChanges();
                return(await context.Cookies
                       .Include(c => c.Stock)
                       .Include(c => c.AccountsIsFavouredBy)
                       .FirstOrDefaultAsync(s => s.Id == cookieId));
            }
        }
Exemplo n.º 3
0
        public async Task <CookieRating> AddRatings(int userId, int cookieId, int rating)
        {
            var cookieRating = new CookieRating()
            {
                CookieID = cookieId, UserID = userId, Rating = rating
            };

            using (CookieShopDbContext context = _contextFactory.CreateDbContext())
            {
                var newRating = await context.CookieRatings.AddAsync(cookieRating);

                context.SaveChanges();
                return(newRating.Entity);
            }
        }
Exemplo n.º 4
0
        public async Task <Account> RemoveFromFavorites(int accountid, Cookie cookie)
        {
            var favoriteCookie = new FavoriteCookies()
            {
                CookieID = cookie.Id, AccountID = accountid
            };

            using (CookieShopDbContext context = _contextFactory.CreateDbContext())
            {
                context.FavoriteCookies.Remove(favoriteCookie);
                context.SaveChanges();
                return(await context.Accounts
                       .Include(a => a.FavoriteCookies)
                       .FirstOrDefaultAsync((e) => e.Id == accountid));
            }
        }
Exemplo n.º 5
0
        public async Task <IEnumerable <Cookie> > GetAll(string name, CookieType?type, int?price, int?sweeteners, int?rating)
        {
            using (CookieShopDbContext context = _contextFactory.CreateDbContext())
            {
                IEnumerable <Cookie> entities = (await context.Set <Cookie>()
                                                 .Include((a) => a.Ratings)
                                                 .Include(c => c.Stock)
                                                 .Where(cookie =>
                                                        (name == null || name == string.Empty || cookie.Name.Contains(name)) &&
                                                        (type == null || cookie.Type == type) &&
                                                        (price == null || cookie.Price == price) &&
                                                        (sweeteners == null || cookie.Sweeteners == sweeteners)

                                                        )
                                                 .ToListAsync())
                                                .Where(cookie => (rating == null || Math.Round(cookie.RatingAvg) == rating))
                                                .ToList()
                ;

                return(entities);
            }
        }