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