Ejemplo n.º 1
0
        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;
            }
        }
Ejemplo n.º 2
0
        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;
            }
        }
Ejemplo n.º 3
0
        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;
            }
        }
Ejemplo n.º 4
0
 public async Task<IEnumerable<IField>> GetRangeAsync(GenericFilter filter)
 {
     return await Repository.GetRangeAsync(filter);
 }
Ejemplo n.º 5
0
 public async Task<IEnumerable<IQuestion>> GetRangeAsync(Guid fieldId, GenericFilter filter)
 {
     return await Repository.GetRangeAsync(fieldId, filter);
 }
Ejemplo n.º 6
0
 public async Task<IEnumerable<IAnswer>> GetRangeAsync(Guid questionId, GenericFilter filter)
 {
     return await Repository.GetRangeAsync(questionId, filter);
 }