Example #1
0
        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");
            }
        }
Example #2
0
        [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)));
            }
        }
Example #3
0
        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));
            }
        }