public async Task <GetDirectorModel> PostDirector(PostDirectorModel postDirectorModel) { try { DateTime birth = Convert.ToDateTime(postDirectorModel.Birth); EntityEntry <Director> result = await _context.Directors.AddAsync(new Director { FirstName = postDirectorModel.FirstName, LastName = postDirectorModel.LastName, Birth = birth, Nationality = postDirectorModel.Nationality, Description = postDirectorModel.Description }); await _context.SaveChangesAsync(); return(await GetDirector(result.Entity.Id.ToString())); } catch (MovieMindException) { throw; } catch (Exception e) { throw new DatabaseException(e.InnerException.Message, this.GetType().Name, "PostDirector", "400"); } }
[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 <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)); } }