public async Task <bool> Delete(int id) { using (CookieShopDbContext context = _contextFactory.CreateDbContext()) { T entity = await context.Set <T>().FirstOrDefaultAsync((e) => e.Id == id); context.Set <T>().Remove(entity); await context.SaveChangesAsync(); return(true); } }
public async Task <IEnumerable <T> > GetAll() { using (CookieShopDbContext context = _contextFactory.CreateDbContext()) { IEnumerable <T> entities = await context.Set <T>().ToListAsync(); return(entities); } }
public async Task <T> Get(int id) { using (CookieShopDbContext context = _contextFactory.CreateDbContext()) { T entity = await context.Set <T>().FirstOrDefaultAsync((e) => e.Id == id); return(entity); } }
public async Task <T> Update(int id, T entity) { using (CookieShopDbContext context = _contextFactory.CreateDbContext()) { entity.Id = id; context.Set <T>().Update(entity); await context.SaveChangesAsync(); return(entity); } }
public async Task <T> Create(T entity) //async used for not interfering with the UI { using (CookieShopDbContext context = _contextFactory.CreateDbContext()) { EntityEntry <T> createdEntity = await context.Set <T>().AddAsync(entity); await context.SaveChangesAsync(); return(createdEntity.Entity); } }
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); } }