public IActionResult UpdateFilm(FilmForm model)
        {
            // Only run if image is changed

            Film editFilm = new Film
            {
                FilmID          = model.FilmID,
                FilmTitle       = model.FilmTitle,
                FilmCertificate = model.FilmCertificate,
                FilmDescription = model.FilmDescription,
                FilmImage       = model.FilmImage,
                FilmPrice       = model.FilmPrice,
                Stars           = model.Stars,
                ReleaseDate     = model.ReleaseDate
            };

            _context.Films.Update(editFilm);

            _context.SaveChanges();
            return(RedirectToAction("Index"));

            //_context.Films.Update(model);
            //_context.SaveChanges();
            //return RedirectToAction("Index");
        }
Example #2
0
        public async Task <FilmForm> EditFilm(int id)
        {
            var film = await _context.Films.Include(f => f.User).FirstOrDefaultAsync(f => f.FilmId == id);

            if (film == null)
            {
                return(null);
            }

            var form = new FilmForm
            {
                Title         = film.Title,
                YearPublished = film.YearPublished,
                Director      = film.Director,
                Description   = film.Description,
                FilmId        = film.FilmId
            };

            var       stream = new MemoryStream(film.Poster);
            IFormFile file   = new FormFile(stream, 0, film.Poster.Length, "name", "fileName");

            form.Poster = file;

            return(form);
        }
Example #3
0
        public IActionResult UpdateMovie(FilmForm model)
        {
            // Only run if image is changed
            if (model.FilmImage != null)
            {
                var      tuple               = UploadedFile(model);
                string   uniqueFileName      = tuple.Item1;
                string   fileExt             = tuple.Item2;
                long     fileSize            = tuple.Item3;
                string[] permittedExtensions = { ".gif", ".jpg", ".jpeg", ".png" };

                // 5 MB
                if (fileSize > 5000000)
                {
                    ViewBag.msg = "Image Too Big: " + fileSize.ToString();

                    return(View());
                }
                if (!permittedExtensions.Contains(fileExt))
                {
                    ViewBag.msg = "Wrong File type " + fileExt;
                    return(View());
                }

                Film editFilm = new Film
                {
                    FilmID          = model.FilmID,
                    FilmTitle       = model.FilmTitle,
                    FilmCertificate = model.FilmCertificate,
                    FilmDescription = model.FilmDescription,
                    FilmPrice       = model.FilmPrice,
                    Stars           = model.Stars,
                    ReleaseDate     = model.ReleaseDate,
                    FilmImage       = uniqueFileName,
                };
                _context.Films.Update(editFilm);
            }
            else
            {
                Film editFilm = new Film
                {
                    FilmID          = model.FilmID,
                    FilmTitle       = model.FilmTitle,
                    FilmCertificate = model.FilmCertificate,
                    FilmDescription = model.FilmDescription,
                    FilmPrice       = model.FilmPrice,
                    Stars           = model.Stars,
                    ReleaseDate     = model.ReleaseDate
                };
                _context.Films.Update(editFilm);
            }
            _context.SaveChanges();
            return(RedirectToAction("Index"));

            //_context.Movies.Update(model);
            //_context.SaveChanges();
            //return RedirectToAction("Index");
        }
Example #4
0
        public async Task <IActionResult> AddNewFilm(FilmForm model)
        {
            if (ModelState.IsValid)
            {
                _notification = await _filmService.AddNewFilm(model);

                return(RedirectToAction("AdminPage"));
            }

            ModelState.AddModelError("", "Форма заполнена неправильно");
            return(View("AddNewFilm"));
        }
Example #5
0
        public async Task <IActionResult> EditFilm(FilmForm form)
        {
            if (ModelState.IsValid)
            {
                _notification = await _filmService.EditFilm(form);

                return(_notification == null ? (IActionResult) new NotFoundResult() : RedirectToAction("AdminPage"));
            }

            ModelState.AddModelError("", "Форма заполнена неправильно");

            return(View("EditFilm", form));
        }
Example #6
0
        public IActionResult AddMovie(FilmForm model)
        //public async Task<IActionResult> New(EmployeeViewModel model)
        {
            //_context.Movies.Add(model);
            //_context.SaveChanges();
            //return RedirectToAction("Index");
            if (ModelState.IsValid)
            {
                //string uniqueFileName = UploadedFile(model);
                var      tuple               = UploadedFile(model);
                string   uniqueFileName      = tuple.Item1;
                string   fileExt             = tuple.Item2;
                long     fileSize            = tuple.Item3;
                string[] permittedExtensions = { ".gif", ".jpg", ".jpeg", ".png" };

                // 5 MB
                if (fileSize > 5000000)
                {
                    ViewBag.msg = "Image Too Big: " + fileSize.ToString();

                    return(View());
                }
                if (!permittedExtensions.Contains(fileExt))
                {
                    ViewBag.msg = "Wrong File type " + fileExt;
                    return(View());
                }

                Film newFilm = new Film
                {
                    FilmTitle       = model.FilmTitle,
                    FilmCertificate = model.FilmCertificate,
                    FilmDescription = model.FilmDescription,
                    FilmPrice       = model.FilmPrice,
                    Stars           = model.Stars,
                    ReleaseDate     = DateTime.Now,
                    FilmImage       = uniqueFileName,
                };
                _context.Add(newFilm);
                _context.SaveChanges();
                return(RedirectToAction(nameof(Index)));
            }

            return(View());
        }
        public IActionResult UpdateFilm(int id)
        {
            Film     model     = _context.Films.Find(id);
            FilmForm formModel = new FilmForm
            {
                FilmID          = model.FilmID,
                FilmTitle       = model.FilmTitle,
                FilmCertificate = model.FilmCertificate,
                FilmDescription = model.FilmDescription,
                FilmImage       = model.FilmImage,
                FilmPrice       = model.FilmPrice,
                Stars           = model.Stars,
                ReleaseDate     = model.ReleaseDate,
            };

            ViewBag.ImageName = model.FilmImage;
            return(View(formModel));
        }
Example #8
0
        public async Task <string> AddNewFilm(FilmForm model)
        {
            var film = new Film
            {
                Title         = model.Title,
                YearPublished = model.YearPublished,
                Description   = model.Description,
                Director      = model.Director,
                User          = await _context.Users.FirstOrDefaultAsync(user =>
                                                                         user.UserName == _ctxAccessor.HttpContext.User.Identity.Name),
                Poster = Tools.Tools.ReadImage(model.Poster)
            };

            await _context.Films.AddAsync(film);

            await _context.SaveChangesAsync();

            return("Фильм успешно добавлен");
        }
 public IActionResult AddFilm(FilmForm model)
 {
     if (ModelState.IsValid)
     {
         Film newFilm = new Film
         {
             FilmTitle       = model.FilmTitle,
             FilmCertificate = model.FilmCertificate,
             FilmDescription = model.FilmDescription,
             FilmImage       = model.FilmImage,
             FilmPrice       = model.FilmPrice,
             Stars           = model.Stars,
             ReleaseDate     = DateTime.Now,
         };
         _context.Add(newFilm);
         _context.SaveChanges();
         return(RedirectToAction(nameof(Index)));
     }
     return(View());
 }
        public IActionResult UpdateFilm(FilmForm model)
        {
            if (ModelState.IsValid)
            {
                Film editFilm = new Film
                {
                    FilmID          = model.FilmID,
                    FilmTitle       = model.FilmTitle,
                    FilmCertificate = model.FilmCertificate,
                    FilmDescription = model.FilmDescription,
                    FilmImage       = model.FilmImage,
                    FilmPrice       = model.FilmPrice,
                    Stars           = model.Stars,
                    ReleaseDate     = model.ReleaseDate
                };
                _context.Films.Update(editFilm);

                _context.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(model));
        }
Example #11
0
        public async Task <string> EditFilm(FilmForm form)
        {
            var film = await _context.Films.Include(f => f.User).FirstOrDefaultAsync(f => f.FilmId == form.FilmId);

            if (film == null)
            {
                return(null);
            }

            film.Title         = form.Title;
            film.YearPublished = form.YearPublished;
            film.Description   = form.Description;
            film.Director      = form.Director;
            if (form.Poster != null)
            {
                film.Poster = Tools.Tools.ReadImage(form.Poster);
            }
            _context.Update(film);
            await _context.SaveChangesAsync();

            return("Информация в фильме {form.Title} успешно изменена.");
        }
Example #12
0
        private Tuple <string, string, long> UploadedFile(FilmForm model)
        {
            string uniqueFileName = null;
            string fileExtension  = null;
            long   fileSize       = 0;

            if (model.FilmImage != null)
            {
                string uploadsFolder = Path.Combine(_webHostEnvironment.WebRootPath, "images");
                //uniqueFileName = Guid.NewGuid().ToString() + "_" + model.FilmImage.FileName;
                fileExtension  = Path.GetExtension(model.FilmImage.FileName);
                fileExtension  = fileExtension.ToLowerInvariant();
                uniqueFileName = Guid.NewGuid().ToString() + fileExtension;
                //uniqueFileName = "test";
                string filePath = Path.Combine(uploadsFolder, uniqueFileName);
                using (var fileStream = new FileStream(filePath, FileMode.Create))
                {
                    model.FilmImage.CopyTo(fileStream);
                    fileSize = fileStream.Length;
                }
            }
            return(new Tuple <string, string, long>(uniqueFileName, fileExtension, fileSize));
        }