//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)); }
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>()); }