/// <summary> /// Creates the wrapper class with the appropriate information from /// the film given by the primary key as parameter to the method. /// </summary> /// <param name="film">Primary key of the film to edit</param> /// <returns></returns> public ActionResult EditFilm(int film) { #region IsAdminCheck if (Session["Kunde"] == null) { return(RedirectToAction("Frontpage", "Film")); } var user = (UserVM)Session["Kunde"]; int userId = user.Id; if (!_UserLogic.IsAdmin(userId)) { return(RedirectToAction("Frontpage", "Film")); } #endregion IsAdminCheck AddFilmVM addFilmVM = _filmLogic.GetEditFilm(film); if (addFilmVM != null) { return(View("EditFilm", addFilmVM)); } else { TempData["message"] = "Feil ved endring av film!"; TempData["errormessage"] = "Feilmelding lagret til logg."; return(RedirectToAction("AdminFrontPage")); } }
public ActionResult AddFilm(AddFilmVM newFilm) { if (ModelState.IsValid) { var result = _filmLogic.CreateFilm(newFilm); if (result == "") { TempData["message"] = "Registrering av ny film fullført!"; return(RedirectToAction("ListAllFilms")); } else { TempData["message"] = "Feil ved registrering av ny film!"; TempData["errormessage"] = "Feilmelding lagret til logg."; return(RedirectToAction("AddFilm")); } } var addFilmVM = _filmLogic.GetAddFilmVM(); if (addFilmVM != null) { TempData["message"] = "Feil ved registrering av ny film!"; TempData["errormessage"] = "Vennligst sjekk at alle felter er utfylt"; newFilm.PriceSelectList = addFilmVM.PriceSelectList; newFilm.GenreSelectList = addFilmVM.GenreSelectList; return(View(newFilm)); } else { TempData["message"] = "Feil ved lasting av skjema for film!"; TempData["errormessage"] = "Feilmelding lagret til logg."; return(RedirectToAction("ListAllFilms")); } }
/// <summary> /// Edits the row in the database table that corresponds to the provided input film /// with information encapsulated in the wrapper class object. /// </summary> /// <param name="editAddFilm">The wrapper class for creating/editing films</param> /// <param name="priceClassId">PK for the price class that is selected</param> /// <param name="genreIds">PKs for the selected genres</param> /// <returns>An empty string if successful, an error message if not</returns> public string EditFilm(AddFilmVM editAddFilm, int priceClassId, int[] genreIds) { var editFilm = new FilmVM() { Id = editAddFilm.FilmId, Title = editAddFilm.Title, Description = editAddFilm.Description, ImgURL = editAddFilm.ImgURL }; try { using (var db = new VideoDB()) { Film film = db.Films.Find(editFilm.Id); film.Title = editFilm.Title; film.Description = editFilm.Description; film.ImgURL = editFilm.ImgURL; PriceClass findPriceClass = db.PriceClasses.Find(priceClassId); film.PriceClasses = findPriceClass; film.PriceClassId = priceClassId; //Bug i EF? Må iterere gjennom listen for å nullstille foreach (Genre g in film.Genres) { } if (genreIds != null) { film.Genres.RemoveRange(0, film.Genres.Count); foreach (int genreId in genreIds) { film.Genres.Add(db.Genres.Find(genreId)); } } string gIDs = ""; if (genreIds.Length > 0) { gIDs = string.Join(" ", genreIds); } film.GenreIds = gIDs; db.SaveChanges(); return(""); } } catch (Exception e) { new ErrorLogRepository().CreateError("Oblig1.DAL.FilmDAL.EditFilm(FilmVM newFilm)", editFilm.ToString(), e); return("Kunne ikke lagre filmen i databasen, vennligst kontakt kundeservice!"); } }
public string CreateFilm(AddFilmVM newFilm, int priceClassId, int[] genreIds) { if (newFilm.Title == "FilmTittel") { return(""); } else { return("Error"); } }
public string EditFilm(AddFilmVM editAddFilm, int priceClassId, int[] genreIds) { if (editAddFilm.Title == "FilmTittel") { return(""); } else { return("Error"); } }
/// <summary> /// Creates a list of AddFilmVMs in order to edit films from the list of films. /// </summary> /// <returns>A list of wrapper class objects to create/edit films</returns> public List <AddFilmVM> GetAllAddFilmVMs() { List <AddFilmVM> addFilmVMs = new List <AddFilmVM>(); AddFilmVM addFilmVM = new AddFilmVM { PriceSelectList = GetPriceClassSelectList(), GenreSelectList = GetGenreSelectList() }; FilmListVM allFilms = new FilmListVM() { HeadLine = "Alle filmer", SortingText = Props.GetSortingText(Sort.none), Films = GetFilms(Sort.none) }; if (addFilmVM.PriceSelectList == null || addFilmVM.GenreSelectList == null || allFilms.Films == null) { return(new List <AddFilmVM>()); } else { foreach (FilmVM film in allFilms.Films) { AddFilmVM newFilm = new AddFilmVM() { FilmId = film.Id, Title = film.Title, Description = film.Description, ImgURL = film.ImgURL, CurrentGenres = film.Genres, Active = film.Active, FilmPriceClassId = film.PriceClassId, CreatedDate = film.CreatedDate, PriceId = addFilmVM.PriceId, PriceSelectList = addFilmVM.PriceSelectList, GenreIDs = addFilmVM.GenreIDs, GenreSelectList = addFilmVM.GenreSelectList, }; newFilm.JsonSerialize = JsonConvert.SerializeObject(newFilm); List <int> ids = new List <int>(); for (int i = 0; i < film.Genres.Count; i++) { ids.Add(film.Genres[i].Id); } newFilm.CurrFilmGenreIds = ids; addFilmVMs.Add(newFilm); } return(addFilmVMs); } }
/// <summary> /// Creates a new film from the provided data and initializes a new row in the film /// database table with the required information returned from the view. /// </summary> /// <param name="newAddFilm">The wrapper class for creating/editing films</param> /// <param name="priceClassId">PK for the selected price class</param> /// <param name="genreIds">PKs for the selected genres</param> /// <returns>An empty string if the operations were successful, otherwise an error message</returns> public string CreateFilm(AddFilmVM newAddFilm, int priceClassId, int[] genreIds) { var newFilm = new FilmVM() { Title = newAddFilm.Title, Description = newAddFilm.Description, ImgURL = newAddFilm.ImgURL }; try { using (var db = new VideoDB()) { var newDBFilm = new Film { Title = newFilm.Title, Description = newFilm.Description, ImgURL = newFilm.ImgURL }; PriceClass findPriceClass = db.PriceClasses.Find(priceClassId); newDBFilm.PriceClasses = findPriceClass; newDBFilm.PriceClassId = priceClassId; List <Genre> genreList = new List <Genre>(); List <int> genreIdList = new List <int>(); foreach (int genreId in genreIds) { genreList.Add(db.Genres.Find(genreId)); genreIdList.Add(genreId); } newDBFilm.Genres = genreList; string gIDs = ""; if (genreIds.Length > 0) { gIDs = string.Join(" ", genreIds); } newDBFilm.GenreIds = gIDs; db.Films.Add(newDBFilm); db.SaveChanges(); return(""); } } catch (Exception e) { new ErrorLogRepository().CreateError("Oblig1.DAL.CustomerDAL.CreateFilm(FilmVM newFilm)", newFilm.ToString(), e); return("Kunne ikke lagre filmen i databasen, vennligst kontakt kundeservice!"); } }
/// <summary> /// Gets a new instance of the wrapper class for creating/editing /// films. Returns null if errors occur. /// </summary> /// <returns>The wrapper class for creating/editing films</returns> public AddFilmVM GetAddFilmVM() { AddFilmVM newAddFilmVM = new AddFilmVM(); try { using (var db = new VideoDB()) { List <SelectListItem> GenreSelectList = db.Genres.AsNoTracking() .OrderBy(n => n.Id) .Select(n => new SelectListItem { Value = n.Id.ToString(), Text = n.Name.ToString() }).ToList(); List <SelectListItem> PriceClassSelectList = db.PriceClasses.AsNoTracking() .OrderBy(n => n.Id) .Select(n => new SelectListItem { Value = n.Id.ToString(), Text = "Prisklasse " + n.Id + " (" + n.Price + " kr)" }).ToList(); var listTop = new SelectListItem() { Value = null, Text = "--- Velg Prisklasse ---" }; PriceClassSelectList.Insert(0, listTop); newAddFilmVM.PriceSelectList = PriceClassSelectList; newAddFilmVM.GenreSelectList = GenreSelectList; return(newAddFilmVM); } } catch (Exception e) { new ErrorLogRepository().CreateError("Oblig1.DAL.FilmDAL.GetAddFilmVM()", "Kunne ikke opprette AddFilmVM", e); return(null); } }
public ActionResult EditFilm(AddFilmVM filmVM) { if (ModelState.IsValid) { var result = _filmLogic.EditFilm(filmVM); if (result == "") { TempData["message"] = "Endringer gjennomført"; return(RedirectToAction("ListAllFilms")); } else { TempData["message"] = "Feil ved endring av film!"; TempData["errormessage"] = "Feilmelding lagret til logg."; return(RedirectToAction("ListAllFilms")); } } TempData["message"] = "Endringer kunne ikke gjennomføres."; TempData["errormessage"] = "Vennligst sjekk at alle felter er utfylt."; return(RedirectToAction("ListAllFilms")); }
public AddFilmVM GetAddFilmVM() { if (GetAddFilmTest) { var addFilmVM = new AddFilmVM(); List <SelectListItem> PriceClassSelectList = new List <SelectListItem>(); PriceClassSelectList.Add(new SelectListItem { Value = "1", Text = "Prisklasse 1" }); PriceClassSelectList.Add(new SelectListItem { Value = "2", Text = "Prisklasse 2" }); List <SelectListItem> GenreSelectList = new List <SelectListItem>(); GenreSelectList.Add(new SelectListItem { Value = "1", Text = "Sjanger 1" }); GenreSelectList.Add(new SelectListItem { Value = "2", Text = "Sjanger 2" }); addFilmVM.PriceSelectList = PriceClassSelectList; addFilmVM.GenreSelectList = GenreSelectList; return(addFilmVM); } else { return(null); } }
public string EditFilm(AddFilmVM editFilm) { string result = _filmRepository.EditFilm(editFilm, editFilm.PriceId, editFilm.GenreIDs); return(result); }
public AddFilmVM GetEditFilm(int filmId) { AddFilmVM addFilmVM = _filmRepository.GetEditFilm(filmId); return(addFilmVM); }
public string CreateFilm(AddFilmVM newFilm) { string result = _filmRepository.CreateFilm(newFilm, newFilm.PriceId, newFilm.GenreIDs); return(result); }
public List <AddFilmVM> GetAllAddFilmVMs() { var addFilmVMListe = new List <AddFilmVM>(); List <SelectListItem> PriceClassSelectList = new List <SelectListItem>(); PriceClassSelectList.Add(new SelectListItem { Value = "1", Text = "Prisklasse 1" }); PriceClassSelectList.Add(new SelectListItem { Value = "2", Text = "Prisklasse 2" }); List <SelectListItem> GenreSelectList = new List <SelectListItem>(); GenreSelectList.Add(new SelectListItem { Value = "1", Text = "Sjanger 1" }); GenreSelectList.Add(new SelectListItem { Value = "2", Text = "Sjanger 2" }); GenreSelectList.Add(new SelectListItem { Value = "3", Text = "Sjanger 3" }); GenreSelectList.Add(new SelectListItem { Value = "4", Text = "Sjanger 4" }); List <GenreVM> Genres = new List <GenreVM>(); Genres.Add(new GenreVM { Id = 1, Name = "Sjanger 1" }); Genres.Add(new GenreVM { Id = 2, Name = "Sjanger 2" }); int[] genreIds = { 1, 2 }; List <GenreVM> Genres2 = new List <GenreVM>(); Genres2.Add(new GenreVM { Id = 3, Name = "Sjanger 3" }); Genres2.Add(new GenreVM { Id = 4, Name = "Sjanger 4" }); int[] genreIds2 = { 3, 4 }; AddFilmVM newFilm = new AddFilmVM() { FilmId = 1, Title = "FilmTittel", Description = "Beskrivelse av filmen", ImgURL = "www.google.com/bilde.jpg", CurrentGenres = Genres2, Active = true, FilmPriceClassId = 1, PriceId = 1, PriceSelectList = PriceClassSelectList, GenreIDs = genreIds2, GenreSelectList = GenreSelectList }; newFilm.JsonSerialize = JsonConvert.SerializeObject(newFilm); AddFilmVM newFilm2 = new AddFilmVM() { FilmId = 2, Title = "IkkeFilmTittel", Description = "Beskrivelse av filmen 2", ImgURL = "www.google.com/bilde2.jpg", CurrentGenres = Genres, Active = true, FilmPriceClassId = 1, PriceId = 1, PriceSelectList = PriceClassSelectList, GenreIDs = genreIds, GenreSelectList = GenreSelectList }; newFilm2.JsonSerialize = JsonConvert.SerializeObject(newFilm2); List <int> ids = new List <int>(); for (int i = 0; i < Genres.Count; i++) { ids.Add(Genres[i].Id); } newFilm.CurrFilmGenreIds = ids; var size = 10; for (var i = 0; i < size; i++) { addFilmVMListe.Add(newFilm); addFilmVMListe.Add(newFilm2); } return(addFilmVMListe); }
public AddFilmVM GetEditFilm(int filmId) { GetAddFilmTest = !GetAddFilmTest; if (filmId == 1) { AddFilmVM ExAddFilmVM = new AddFilmVM() { Active = true, CurrFilmGenreIds = null, CurrentGenres = null, Description = "Beskrivelse", FilmId = 0, FilmPriceClassId = 0, GenreSelectList = null, ImgURL = "www.google.com/bilde.jpg", JsonSerialize = null, PriceId = 1, PriceSelectList = null, Title = "FilmTittel" }; List <int> ids = new List <int>(); for (int i = 1; i < 4; i++) { ids.Add(i); } ExAddFilmVM.CurrFilmGenreIds = ids; List <GenreVM> Genres = new List <GenreVM>(); Genres.Add(new GenreVM { Id = 1, Name = "Sjanger 1" }); Genres.Add(new GenreVM { Id = 2, Name = "Sjanger 2" }); ExAddFilmVM.CurrentGenres = Genres; int[] genreIds = { 1, 2 }; ExAddFilmVM.GenreIDs = genreIds; List <SelectListItem> PriceClassSelectList = new List <SelectListItem>(); PriceClassSelectList.Add(new SelectListItem { Value = "1", Text = "Prisklasse 1" }); PriceClassSelectList.Add(new SelectListItem { Value = "2", Text = "Prisklasse 2" }); List <SelectListItem> GenreSelectList = new List <SelectListItem>(); GenreSelectList.Add(new SelectListItem { Value = "1", Text = "Sjanger 1" }); GenreSelectList.Add(new SelectListItem { Value = "2", Text = "Sjanger 2" }); ExAddFilmVM.PriceSelectList = PriceClassSelectList; ExAddFilmVM.GenreSelectList = GenreSelectList; return(ExAddFilmVM); } else { return(null); } }