[ValidateAntiForgeryToken] // Prevents XSRF/CSRF attacks public async Task <IActionResult> Create(PostDirectorModel postDirectorModel) { try { AuthorizeHelper.Authorize(this.HttpContext, "Editor", this.GetType().Name, "Create", "director"); if (ModelState.IsValid) { GetDirectorModel getDirectorModel = await _moviemindAPIService.PostModel <PostDirectorModel, GetDirectorModel>(postDirectorModel, "Directors"); if (TempData["controller"] != null && TempData["action"] != null) { return(RedirectToRoute(new { action = TempData["action"], controller = TempData["controller"] })); } return(Redirect("Directors/Details/" + getDirectorModel.Id.ToString())); } return(View(postDirectorModel)); } catch (MovieMindException e) { return(ErrorHelper.HandleError(e, this.View(postDirectorModel))); } }
public async Task <GetDirectorModel> GetDirector(string id) { GetDirectorModel director = await _context.Directors .Select(x => new GetDirectorModel { Id = x.Id, FirstName = x.FirstName, LastName = x.LastName, Birth = x.Birth, Nationality = x.Nationality, Description = x.Description, Movies = (from movie in _context.Movies where movie.DirectorId == x.Id select new GetMovieModel { Id = movie.Id, Name = movie.Name, Description = movie.Description, Duration = movie.Duration, Year = movie.Year, OverallRating = movie.OverallRating, GenreId = movie.GenreId, DirectorId = movie.DirectorId }).ToList() }) .AsNoTracking() .FirstOrDefaultAsync(x => x.Id == Guid.Parse(id)); if (director == null) { throw new EntityException("Director not found", this.GetType().Name, "GetDirector", "404"); } return(director); }
public async Task <ActionResult <GetDirectorModel> > PostDirector(PostDirectorModel postDirectorModel) { try { GetDirectorModel director = await _directorRepository.PostDirector(postDirectorModel); return(CreatedAtAction(nameof(GetDirector), new { id = director.Id }, director)); } catch (DatabaseException e) { return(BadRequest(e.MovieMindError)); } }
public async Task <IActionResult> Details(string id) { try { AuthorizeHelper.Authorize(this.HttpContext, "Guest", this.GetType().Name, "Details", "director"); GetDirectorModel getDirectorModel = await _moviemindAPIService.GetModel <GetDirectorModel>(id, "Directors"); return(View(getDirectorModel)); } catch (MovieMindException e) { return(ErrorHelper.HandleError(e)); } }
[ValidateAntiForgeryToken] // Prevents XSRF/CSRF attacks public async Task <IActionResult> Delete(string id, GetDirectorModel getDirectorModel) { try { AuthorizeHelper.Authorize(this.HttpContext, "Editor", this.GetType().Name, "Delete", "director"); await _moviemindAPIService.DeleteModel(id, "Directors"); return(RedirectToRoute(new { action = "Index", controller = "Directors" })); } catch (MovieMindException e) { return(ErrorHelper.HandleError(e, this.View(getDirectorModel))); } }
public async Task <IActionResult> Edit(string id) { try { AuthorizeHelper.Authorize(this.HttpContext, "Editor", this.GetType().Name, "Edit", "director"); GetDirectorModel getDirectorModel = await _moviemindAPIService.GetModel <GetDirectorModel>(id, "Directors"); PutDirectorModel putDirectorModel = new PutDirectorModel { FirstName = getDirectorModel.FirstName, LastName = getDirectorModel.LastName, Birth = getDirectorModel.Birth, Description = getDirectorModel.Description, Nationality = getDirectorModel.Nationality }; return(View(putDirectorModel)); } catch (MovieMindException e) { return(ErrorHelper.HandleError(e)); } }