Ejemplo n.º 1
0
        public IActionResult Update([FromBody] PeliculaUpdateDto dto)
        {
            if (dto == null)
            {
                return(BadRequest(StatusCodes.Status406NotAcceptable));
            }

            if (repository.Exist(x => x.Nombre == dto.Nombre && x.Id != dto.Id))
            {
                return(BadRequest(this.response.ResponseValues(StatusCodes.Status406NotAcceptable, null, $"Ya existe una película con el Nombre: {dto.Nombre}")));
            }

            /*subir imágen*/
            var image    = dto.ImageFile;
            var PathRoot = hostEnvironment.WebRootPath;


            if (image != null)
            {
                var old = from o in repository.GetByValues(x => x.Id == dto.Id)
                          select o.RutaImagen;

                if (old != null)
                {
                    var OldPathComplete = Path.Combine(PathRoot + old);

                    if (System.IO.File.Exists(OldPathComplete))
                    {
                        System.IO.File.Delete(OldPathComplete);
                    }
                }

                var files     = HttpContext.Request.Form.Files;
                var upload    = Path.Combine(PathRoot, @"fotos");
                var extension = Path.GetExtension(files[0].FileName);
                var name      = Guid.NewGuid().ToString();

                using (var FileStream = new FileStream(Path.Combine(upload, name + extension), FileMode.Create))
                {
                    files[0].CopyTo(FileStream);
                }

                dto.RutaImagen = @"fotos/" + name + extension;
            }


            var row = mapper.Map <Pelicula>(dto);

            if (!repository.Update(row, row.Id))
            {
                return(BadRequest(this.response.ResponseValues(StatusCodes.Status500InternalServerError, null, $"Algo salió mal al actualizar la película: {dto.Nombre}")));
            }

            return(Ok(this.response.ResponseValues(this.Response.StatusCode, mapper.Map <PeliculaAddDto>(repository.GetById(row.Id)))));
        }
        public IActionResult ActualizarPelicula(int peliculaId, [FromBody] PeliculaUpdateDto peliculaUpdateDto)
        {
            if (peliculaUpdateDto == null || peliculaUpdateDto.Id != peliculaId)
            {
                return(NotFound());
            }

            var pelicula = _mapper.Map <Pelicula>(peliculaUpdateDto);

            if (!_pelRepo.ActualizarPelicula(pelicula))
            {
                ModelState.AddModelError("", $"Salió algo mal al actualizar la pelicula {pelicula.Nombre}");
                return(StatusCode(500, ModelState));
            }

            return(NoContent());
        }
        public IActionResult ActualizarPelicula(int peliculaId, [FromBody] PeliculaUpdateDto peliculaUpdateDto)
        {
            if (peliculaUpdateDto == null || peliculaId != peliculaUpdateDto.Id)
            {
                return(BadRequest(ModelState));
            }

            var pelicula = _mapper.Map <Pelicula>(peliculaUpdateDto);

            if (!_pelRepo.ActualizarPelicula(pelicula))
            {
                ModelState.AddModelError("", $"Algo salio mal actualizando el registro {pelicula.Nombre}");
                return(StatusCode(404, ModelState));
            }

            return(NoContent());
        }