Esempio n. 1
0
        /// <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"));
            }
        }
Esempio n. 2
0
        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!");
            }
        }
Esempio n. 4
0
 public string CreateFilm(AddFilmVM newFilm, int priceClassId, int[] genreIds)
 {
     if (newFilm.Title == "FilmTittel")
     {
         return("");
     }
     else
     {
         return("Error");
     }
 }
Esempio n. 5
0
 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);
            }
        }
Esempio n. 9
0
 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"));
 }
Esempio n. 10
0
        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);
            }
        }
Esempio n. 11
0
        public string EditFilm(AddFilmVM editFilm)
        {
            string result = _filmRepository.EditFilm(editFilm, editFilm.PriceId, editFilm.GenreIDs);

            return(result);
        }
Esempio n. 12
0
        public AddFilmVM GetEditFilm(int filmId)
        {
            AddFilmVM addFilmVM = _filmRepository.GetEditFilm(filmId);

            return(addFilmVM);
        }
Esempio n. 13
0
        public string CreateFilm(AddFilmVM newFilm)
        {
            string result = _filmRepository.CreateFilm(newFilm, newFilm.PriceId, newFilm.GenreIDs);

            return(result);
        }
Esempio n. 14
0
        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);
        }
Esempio n. 15
0
        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);
            }
        }