public async Task<IEnumerable<IAnswer>> GetAsync(GenericFilter filter) { try { if (filter != null) { var answers = AutoMapper.Mapper.Map<IEnumerable<IAnswer>>(await Repository.GetRangeAsync<AnswerEntity>()).ToList(); if (!string.IsNullOrWhiteSpace(filter.SearchString)) { answers = answers.Where(a => a.Date.ToShortDateString().Contains(filter.SearchString)).ToList(); } var page = answers.ToPagedList(filter.PageNumber, filter.PageSize); var answerPagedList = new StaticPagedList<IAnswer>(page, page.GetMetaData()); return answerPagedList; } else { return AutoMapper.Mapper.Map<IEnumerable<IAnswer>>(await Repository.GetRangeAsync<AnswerEntity>()).ToList(); } } catch (Exception ex) { throw ex; } }
public async Task<IEnumerable<IQuestion>> GetRangeAsync(Guid fieldId, GenericFilter filter) { try { if (filter != null) { //Get all questions from a field with matching id //var questions = AutoMapper.Mapper.Map<IEnumerable<IQuestion>>(await Repository.GetAsync<QuestionEntity>(q => q.Field.Id.Equals(fieldId))); var questions = AutoMapper.Mapper.Map<IEnumerable<IQuestion>>(await Repository.GetWhere<QuestionEntity>().Where(q => q.FieldId.Equals(fieldId)).ToListAsync()); if (!string.IsNullOrWhiteSpace(filter.SearchString)) { questions = questions.Where(q => q.Title.ToLower().Contains(filter.SearchString.ToLower())).ToList(); } var page = questions.ToPagedList(filter.PageNumber, filter.PageSize); var questionPagedList = new StaticPagedList<IQuestion>(page, page.GetMetaData()); return questionPagedList; } else { //If filter is null, return all questions from field return AutoMapper.Mapper.Map<IEnumerable<IQuestion>>(await Repository.GetAsync<QuestionEntity>(q => q.Field.Id.Equals(fieldId))).ToList(); } } catch (Exception ex) { throw ex; } }
public async Task<IEnumerable<IAnswer>> GetRangeAsync(Guid questionId, GenericFilter filter) { try { if (filter != null) { var answers = AutoMapper.Mapper.Map<IEnumerable<IAnswer>>(await Repository.GetWhere<AnswerEntity>().Where(a => a.QuestionId.Equals(questionId)).ToListAsync()); var page = answers.ToPagedList(filter.PageNumber, filter.PageSize); var answersPagedList = new StaticPagedList<IAnswer>(page, page.GetMetaData()); return answersPagedList; } else { return AutoMapper.Mapper.Map<IEnumerable<IAnswer>>(await Repository.GetRangeAsync<AnswerEntity>()).ToList(); } } catch (Exception ex) { throw ex; } }
public async Task<IEnumerable<IField>> GetRangeAsync(GenericFilter filter) { return await Repository.GetRangeAsync(filter); }
public async Task<IEnumerable<IQuestion>> GetRangeAsync(Guid fieldId, GenericFilter filter) { return await Repository.GetRangeAsync(fieldId, filter); }
public async Task<IEnumerable<IAnswer>> GetRangeAsync(Guid questionId, GenericFilter filter) { return await Repository.GetRangeAsync(questionId, filter); }