public MainViewModel() { PlaysCriteria = new PlaysSearchingCriteria(); PeopleCriteria = new PeopleSearchingCriteria(); AwardsCriteria = new AwardsSearchingCriteria(); }
public List<AwardMixedDTO> SearchAwards(AwardsSearchingCriteria criteria, int pageNr, int pageAmount) { throw new NotImplementedException(); }
public ListResponse<AwardMixedDTO> SearchAwards(AwardsSearchingCriteria criteria, int pageNr, int pageAmount) { using (var context = new AF_Context()) { try { var skip = pageAmount*(pageNr - 1); var query = (from a in context.Awards select a).Include(a => a.Play).Include(a => a.Category); if (criteria.FestivalIdFilter != null) query = query.Where(a => a.Play.FestivalId == criteria.FestivalIdFilter); if (!String.IsNullOrEmpty(criteria.Author)) query = query.Where(a => a.Play.Author.Contains(criteria.Author)); if (!String.IsNullOrEmpty(criteria.Title)) query = query.Where(a => a.Play.Title.Contains(criteria.Title)); if (criteria.CategoryIdFilter != null) query = query.Where(a => a.CategoryId == criteria.CategoryIdFilter); List<AwardMixedDTO> tmp = new List<AwardMixedDTO>(); //List<AwardDataDTO> tmp; foreach (Award b in (query.OrderBy(a => a.Play.FestivalId) .ThenBy(a => a.Category.Group) .ThenBy(a => a.Category.Order) .Skip(skip) .Take(pageAmount))) { var newAwardDto = new AwardMixedDTO() { AwardId = b.AwardId, FestivalId = b.Play.FestivalId, CategoryTitle = b.Category.Title, PlayTitle = b.Play.Title, }; tmp.Add(newAwardDto); } return (new ListResponse<AwardMixedDTO>(tmp)); } catch (Exception ex) { throw; } } }