Exemplo n.º 1
0
        public ListResponse <PlayDataDTO> SearchPlays(PlaysSearchingCriteria criteria, int pageNr, int pageAmount)
        {
            using (var context = new AF_Context())
            {
                try
                {
                    var skip  = pageAmount * (pageNr - 1);
                    var query = (from p in context.Plays select p);
                    if (criteria.FestivalIdFilter != null)
                    {
                        query = query.Where(p => p.FestivalId == criteria.FestivalIdFilter);
                    }
                    if (!String.IsNullOrEmpty(criteria.Author))
                    {
                        query = query.Where(p => p.Author.Contains(criteria.Author));
                    }
                    if (!String.IsNullOrEmpty(criteria.Title))
                    {
                        query = query.Where(p => p.Title.Contains(criteria.Title));
                    }
                    if (!String.IsNullOrEmpty(criteria.Motto))
                    {
                        query = query.Where(p => p.Motto.Contains(criteria.Motto));
                    }

                    List <PlayDataDTO> tmp = new List <PlayDataDTO>();
                    foreach (Play pla in (query.OrderBy(p => p.FestivalId)
                                          .ThenBy(p => p.Day)
                                          .ThenBy(p => p.Order)
                                          .Skip(skip)
                                          .Take(pageAmount)))
                    {
                        var newPlayDto = new PlayDataDTO()
                        {
                            PlayId     = pla.PlayId,
                            Title      = pla.Title,
                            Author     = pla.Author,
                            FestivalId = pla.FestivalId,
                            Day        = pla.Day,
                            Order      = pla.Order,
                            PlayedBy   = pla.PlayedBy,
                            Motto      = pla.Motto
                        };
                        tmp.Add(newPlayDto);
                    }
                    return(new ListResponse <PlayDataDTO>(tmp));
                }
                catch (Exception ex)
                {
                    throw;
                }
            }
        }
 public List <Play> SearchPlays(PlaysSearchingCriteria criteria, int pageNr, int pageAmount)
 {
     throw new NotImplementedException();
 }
 public async Task <List <Play> > SearchPlays(PlaysSearchingCriteria criteria, int pageNr, int pageAmount)
 {
     return(await DataAccess.SearchPlays(criteria, pageNr, pageAmount));
 }
 public MainViewModel()
 {
     PlaysCriteria  = new PlaysSearchingCriteria();
     PeopleCriteria = new PeopleSearchingCriteria();
     AwardsCriteria = new AwardsSearchingCriteria();
 }