Ejemplo n.º 1
0
        public IActionResult Create([FromBody] MovieCreateInputModel inputModel)
        {
            if (inputModel == null)
            {
                return(BadRequest());
            }

            using (var transaction = this.context.Database.BeginTransaction())
            {
                try
                {
                    var entity = new EntityFramework.Entities.Movie
                    {
                        Title       = inputModel.Title,
                        ReleaseYear = inputModel.ReleaseYear,
                        Summary     = inputModel.Summary,
                        DirectorId  = inputModel.DirectorId
                    };
                    this.context.Movies.Add(entity);
                    this.context.SaveChanges();

                    foreach (var actor in inputModel.Actors)
                    {
                        this.context.MovieActors.Add(new EntityFramework.Entities.MovieActor
                        {
                            MovieId = entity.Id,
                            ActorId = actor.ActorId,
                            Role    = actor.Role
                        });
                    }
                    this.context.SaveChanges();

                    transaction.Commit();

                    var outputModel = new
                    {
                        entity.Id,
                        entity.Title,
                        entity.ReleaseYear,
                        entity.Summary,
                        entity.DirectorId
                    };

                    return(CreatedAtRoute("GetMovie", new { id = outputModel.Id }, outputModel));
                }
                catch (System.Exception ex)
                {
                    transaction.Rollback();
                    return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message));
                }
            }
        }
Ejemplo n.º 2
0
        public IActionResult Update(int id, [FromBody] MovieUpdateInputModel inputModel)
        {
            if (inputModel == null || id != inputModel.Id)
            {
                return(BadRequest());
            }

            var entity = new EntityFramework.Entities.Movie
            {
                Id          = inputModel.Id,
                Title       = inputModel.Title,
                ReleaseYear = inputModel.ReleaseYear,
                Summary     = inputModel.Summary,
                DirectorId  = inputModel.DirectorId
            };

            this.context.Movies.Update(entity);
            this.context.SaveChanges();

            return(NoContent());
        }