public IHttpActionResult GetByFilter(FilterMarketing filter) { var repository = new RepositoryMarketing(); var response = repository.GetAllList(filter, CurrentUser.BusinessId); return(Ok <DataResponse <EntityList <EntityMarketing> > >(response)); }
public DataResponse <EntityList <EntityMarketing> > GetAllList(FilterMarketing filter, int?businessId, int take = 10, int skip = 0) { var response = new DataResponse <EntityList <EntityMarketing> >(); try { base.DBInit(); var query = DBEntity.MarketingDocuments.Where(a => a.BusinessId == businessId); if (filter != null) { take = filter.Take; skip = filter.Skip; if (!string.IsNullOrEmpty(filter.Keyword)) { query = query.Where(a => a.Name.ToLower().Contains(filter.Keyword.ToLower()) || a.Description.ToLower().Contains(filter.Keyword.ToLower())); } if (filter.CategoryId != null) { query = query.Where(a => a.CategoryId == filter.CategoryId); } if (filter.DocumentTypeId != null) { query = query.Where(a => a.DocumentTypeId == filter.DocumentTypeId); } if (filter.UserId != null) { query = query.Where(a => a.CreatedBy == filter.UserId); } } var selectQuery = query.Select(a => new EntityMarketing { Id = a.Id, Name = a.Name, Description = a.Description, DocumentTypeId = a.DocumentTypeId, CategoryId = a.CategoryId, CreatedOn = a.CreatedOn, }).OrderByDescending(o => o.CreatedOn); response = GetList <EntityMarketing>(selectQuery, skip, take); } catch (Exception ex) { ex.Log(); } finally { base.DBClose(); } return(response); }