public async Task <IActionResult> Post([FromBody] MovieForCreateDto movie) { if (movie == null) { return(BadRequest()); } //REF 8 Herramienta de validaciones if (!ModelState.IsValid) { return(new ValidationFailedResult(ModelState)); } var movieEntityNew = Mapper.Map <Movie>(movie); this.cinemaService.AddMovie(movieEntityNew); var saveResult = await this.cinemaService.Save(); if (!saveResult) { throw new Exception("Creating an movie failed on save."); } var movieDto = Mapper.Map <MovieDto>(movieEntityNew); return(CreatedAtRoute("GetMovie", new { id = movieDto.Id }, movieDto)); }
public async Task <IActionResult> Post([FromBody] MovieForCreateDto movie) { this.logger.LogTrace("Ingreso a crear una pelicula"); if (movie == null) { this.logger.LogDebug("El objeto pelicula es nulo"); return(BadRequest()); } //REF 8 Herramienta de validaciones if (!ModelState.IsValid) { this.logger.LogDebug("El objeto pelicula es invalido"); return(new ValidationFailedResult(ModelState)); } var movieEntityNew = Mapper.Map <Movie>(movie); this.logger.LogDebug($"Se envia agrabar la pelicula {movieEntityNew.Title}"); this.cinemaService.AddMovie(movieEntityNew); var saveResult = await this.cinemaService.Save(); if (!saveResult) { this.logger.LogWarning("Ocurrio un problema al grabar la pelicula"); throw new Exception("Creating an movie failed on save."); } var movieDto = Mapper.Map <MovieDto>(movieEntityNew); this.logger.LogInformation(100, $"Se una nueva pelicula {movieDto.Id} con el titulo {movieDto.Title}."); return(CreatedAtRoute("GetMovie", new { id = movieDto.Id }, movieDto)); }