public async Task Init()
        {
            if (ZanrList.Count == 0)
            {
                var zanrList = await _zanrService.Get <List <Zanr> >(null);

                foreach (var zanr in zanrList)
                {
                    ZanrList.Add(zanr);
                }
            }

            PredstavaSearchRequest search = new PredstavaSearchRequest();

            if (SelectedZanr != null)
            {
                search.ZanrId = SelectedZanr.ZanrID;
            }

            var list = await _predstaveService.Get <IEnumerable <Predstava> >(search);

            PredstavaList.Clear();
            foreach (var predstava in list)
            {
                PredstavaList.Add(predstava);
            }
        }
Пример #2
0
        public List <Model.Predstava> Get(PredstavaSearchRequest search)
        {
            var q = _context.Set <Database.Predstava>().AsQueryable();

            if (!string.IsNullOrEmpty(search?.Naziv) && search?.ZanrId.HasValue == true)
            {
                q = q.Where(s => s.Naziv.Equals(search.Naziv) && s.ZanrId == search.ZanrId);
            }
            else
            {
                if (!string.IsNullOrEmpty(search?.Naziv))
                {
                    q = q.Where(x => x.Naziv.ToLower().StartsWith(search.Naziv) || x.Naziv.ToUpper().StartsWith(search.Naziv));
                }
                if (search?.ZanrId.HasValue == true)
                {
                    q = q.Where(s => s.Zanr.ZanrId == search.ZanrId);
                }
                if (search.TrajanjeOd.HasValue)
                {
                    q = q.Where(s => s.Trajanje >= search.TrajanjeOd.Value);
                }
                if (search.TrajanjeDo.HasValue)
                {
                    q = q.Where(s => s.Trajanje <= search.TrajanjeDo.Value);
                }

                if (search.Sort == 0)
                {
                    q = q.OrderBy(x => x.Naziv);
                }
                else if (search.Sort == 1)
                {
                    q = q.OrderByDescending(x => x.PredstavaKupac.Average(a => (double?)a.Ocjena ?? 0.0));
                }
            }
            var list = q.ToList();

            var list2 = _mapper.Map <List <Model.Predstava> >(list);

            foreach (var predstava in list2)
            {
                predstava.ProsjecnaOcjena = _context.PredstavaKupac
                                            .Where(x => x.PredstavaId == predstava.PredstavaId)
                                            .Average(x => (decimal?)x.Ocjena) ?? new decimal(0);
            }

            return(list2);
        }
        public async Task Init()
        {
            if (ZanrList.Count == 0)
            {
                SortList.Add("Naziv");
                SortList.Add("Najveća ocjena");

                var zanrList = await _zanrService.Get <List <Zanr> >(null);

                foreach (var zanr in zanrList)
                {
                    ZanrList.Add(zanr);
                }
            }

            PredstavaSearchRequest search = new PredstavaSearchRequest();

            if (SelectedZanr != null)
            {
                search.ZanrId = SelectedZanr.ZanrID;
            }

            if (int.TryParse(TrajanjeOd, out int _TrajanjeOd))
            {
                search.TrajanjeOd = _TrajanjeOd;
            }
            if (int.TryParse(TrajanjeDo, out int _TrajanjeDo))
            {
                search.TrajanjeDo = _TrajanjeDo;
            }

            search.Sort = SelectedSort;

            var list = await _predstaveService.Get <IEnumerable <Predstava> >(search);

            PredstaveList.Clear();
            foreach (var predstava in list)
            {
                PredstaveList.Add(predstava);
            }
        }
Пример #4
0
 public List <Model.Predstava> Get([FromQuery] PredstavaSearchRequest request)
 {
     return(_service.Get(request));
 }