private IQueryable <T> SoftDeleteQueryFilter(IQueryable <T> query, DeleteStatusEnum deleteStatus) { if (deleteStatus == DeleteStatusEnum.NotDeleted) { query = query.Where(x => !x.IsDeleted); } else if (deleteStatus == DeleteStatusEnum.Deleted) { query = query.Where(x => x.IsDeleted); } return(query); }
public virtual async Task <T> GetById(object id, DeleteStatusEnum deleteStatus = DeleteStatusEnum.NotDeleted) { return(await this.DbSet.FindAsync(id)); }
public virtual async Task <IEnumerable <T> > GetAll(DeleteStatusEnum deleteStatus = DeleteStatusEnum.NotDeleted) { var query = this.DbSet.AsQueryable(); return(await SoftDeleteQueryFilter(query, deleteStatus).ToListAsync()); }
public virtual async Task <IList <T> > Find(Expression <Func <T, bool> > where, DeleteStatusEnum deleteStatus = DeleteStatusEnum.NotDeleted) { var query = this.DbSet.Where(where); return(await SoftDeleteQueryFilter(query, deleteStatus).ToListAsync()); }