public static IEnumerable <TEntity> Get(Expression <Func <TEntity, bool> > filter = null, Expression <Func <TEntity, TEntity> > selector = null, Func <IQueryable <TEntity>, IOrderedQueryable <TEntity> > orderBy = null, string includeProperties = "") { using (var context = new TalentAcquisitionEntities()) { DbSet <TEntity> dbSet = context.Set <TEntity>(); IQueryable <TEntity> query = dbSet; if (filter != null) { query = query.Where(filter); } if (orderBy != null) { return(orderBy(query).ToList()); } if (includeProperties != "") { foreach (var includeProperty in includeProperties.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)) { query = query.Include(includeProperty); } } return(query.ToList()); } }
public static async Task <int> UpdateAsync(TEntity entity) { using (var context = new TalentAcquisitionEntities()) { DbSet <TEntity> dbSet = context.Set <TEntity>(); dbSet.Attach(entity); context.Entry(entity).State = EntityState.Modified; return(await context.SaveChangesAsync()); } }
public static async Task <int> DeleteAsync(Expression <Func <TEntity, bool> > filter) { using (var context = new TalentAcquisitionEntities()) { var res = await FindAsync(filter : filter); DbSet <TEntity> dbSet = context.Set <TEntity>(); dbSet.Attach(res); dbSet.Remove(res); return(await context.SaveChangesAsync()); } }
public async Task <int> AddAsync(TEntity entity) { DbSet <TEntity> dbSet = context.Set <TEntity>(); dbSet.Add(entity); context.Entry(entity).State = EntityState.Added; return(await context.SaveChangesAsync()); }
public static async Task <TEntity> FindAsync(Expression <Func <TEntity, bool> > filter, string includeProperties = "") { using (var context = new TalentAcquisitionEntities()) { DbSet <TEntity> dbSet = context.Set <TEntity>(); IQueryable <TEntity> query = dbSet; if (includeProperties != "") { foreach (var includeProperty in includeProperties.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)) { query = query.Include(includeProperty); } } if (filter != null) { query = query.Where(filter); } return(await query.FirstOrDefaultAsync()); } }