Example #1
0
        //public IHttpActionResult GetFilmovi(int? godinaOd = null, int? godinaDo = null, string genre = null)
        public IHttpActionResult GetFilmovi([FromUri] FilmFilters filter)
        {
            //var filmovi = _filmRepository.GetAll();
            IEnumerable <Film> filmovi = null;

            //if (filter != null)
            if (filter.godinaOd != null || filter.godinaDo != null || !String.IsNullOrWhiteSpace(filter.genre))
            {
                if (filter.godinaOd != null && filter.godinaDo != null)
                {
                    if (filter.godinaDo < filter.godinaOd)
                    {
                        return(BadRequest("Godina DO ne može biti manja od godine OD."));
                    }
                }
                filmovi = _filmRepository.GetAll(filter);
            }
            else
            {
                filmovi = _filmRepository.GetAll();
            }
            #region filtriranje pre Repository-uma
            //var filmovi = db.Filmovi.Include(f => f.Reziser);

            /* if (!String.IsNullOrWhiteSpace(genre))
             * {
             *   filmovi = filmovi.Where(f => f.Zanr.ToLower().Contains(genre.ToLower()));
             * }
             *
             * if (godinaOd != null && godinaDo != null)
             * {
             *   if (godinaDo < godinaOd)
             *   {
             *       return BadRequest("Godina DO ne može biti manja od godine OD.");
             *   }
             * }
             * //
             * if (godinaOd != null)
             * //if (!String.IsNullOrWhiteSpace(godinaOd))
             * {
             *   //int godinaStart = int.Parse(godinaOd);
             *   filmovi = filmovi.Where( f => f.Godina >= godinaOd);
             * }
             * if (godinaDo != null)
             * //if (!String.IsNullOrWhiteSpace(godinaDo))
             * {
             *   //int godinaEnd = int.Parse(godinaDo);
             *   filmovi = filmovi.Where(f => f.Godina <= godinaDo);
             * }
             */
            #endregion

            var filmoviDTO = filmovi.OrderBy(f => f.Naziv).AsQueryable().ProjectTo <FilmDTO>();
            //List<FilmDTO> filmovi = db.Filmovi.Include(f => f.Reziser).Select(f=> new FilmDTO { Naziv = f.Naziv, ReziserIme = f.Reziser.Ime , ReziserPrezime = f.Reziser.Prezime}).ToList();
            //var filmovi = db.Filmovi.Include( f=> f.Reziser).ToList();
            return(Ok(filmoviDTO));
        }
Example #2
0
        public async Task <List <Films> > GetFilms(string value, FilmFilters filterCategory)
        {
            switch (filterCategory)
            {
            case FilmFilters.Name:
                return(await db.Films.Where(x => x.Name.Contains(value)).ToListAsync());

            case FilmFilters.Country:
                return(await db.Films.Where(x => x.Country == value).ToListAsync());

            case FilmFilters.Type:
                return(await db.Films.Where(x => x.Type == value).ToListAsync());

            default:
                return(await db.Films.ToListAsync());
            }
        }
 public FilmManagerApplication(string connectionString)
 {
     _filmDataAdapter = new FilmDataAdapter(connectionString);
     Filters          = new FilmFilters();
     Films            = new List <Film>();
     PageCount        = 1;
     ItemsPerPage     = 25;
     //_filmDataAdapter.AddFilm
     //    (
     //    new FilmDataLayer.Models.Film
     //    {
     //        LocalName = "qwe",
     //        OriginalName = "asd",
     //        Genres = new List<FilmDataLayer.Models.Genre>
     //        {
     //            new FilmDataLayer.Models.Genre {Name="Horror" }
     //        }
     //    }
     //    );
 }
        public IEnumerable <Film> GetAll(FilmFilters filter)
        {
            IQueryable <Film> filmovi = filmovi = db.Filmovi.Include(f => f.Reziser);

            if (!String.IsNullOrWhiteSpace(filter.genre))
            {
                filmovi = filmovi.Where(f => f.Zanr.ToLower().Contains(filter.genre.ToLower()));
            }


            if (filter.godinaOd != null)
            {
                filmovi = filmovi.Where(f => f.Godina >= filter.godinaOd);
            }
            if (filter.godinaDo != null)
            {
                filmovi = filmovi.Where(f => f.Godina <= filter.godinaDo);
            }
            return(filmovi.AsEnumerable <Film>());
        }