public async Task <IActionResult> UpdateAsync(int Id, [FromForm] PeliculaCreateDTO peliculaCreateDTO) { if (peliculaCreateDTO == null) { return(BadRequest()); } var response = await _peliculasApplication.UpdateAsync(Id, peliculaCreateDTO); if (response.IsSuccess) { return(new CreatedAtRouteResult("obtenerPelicula", new { Id = response.Data.Id }, response.Data)); } return(BadRequest(response.Message)); }
public async Task <Response <PeliculaDTO> > UpdateAsync(int Id, PeliculaCreateDTO peliculaCreateCreateDTO) { var response = new Response <PeliculaDTO>(); try { var peliculaDB = await _peliculasDomain.ExistAsync(Id); if (peliculaDB != null) { peliculaDB = _mapper.Map(peliculaCreateCreateDTO, peliculaDB); if (peliculaCreateCreateDTO.Poster != null) { using (var memoryStream = new MemoryStream()) { await peliculaCreateCreateDTO.Poster.CopyToAsync(memoryStream); var contenido = memoryStream.ToArray(); var extension = Path.GetExtension(peliculaCreateCreateDTO.Poster.FileName); peliculaDB.Poster = await _almacenadorArhivos.EditarArchivo(contenido, extension, _contenedor, peliculaDB.Poster, peliculaCreateCreateDTO.Poster.ContentType); } } peliculaDB = await _peliculasDomain.UpdateAsync(peliculaDB); response.Data = _mapper.Map <PeliculaDTO>(peliculaDB); if (response.Data != null) { response.IsSuccess = true; response.Message = "Registro Actualizado!!!"; } } else { response.IsSuccess = true; response.Message = "Registro no existe!!!"; } } catch (Exception ex) { response.Message = ex.Message; } return(response); }
private List <PeliculasActores> MapPeliculasActores(PeliculaCreateDTO peliculaCreateDTO, Pelicula pelicula) { var resultado = new List <PeliculasActores>(); if (peliculaCreateDTO.Actores == null) { return(resultado); } foreach (var Actor in peliculaCreateDTO.Actores) { resultado.Add(new PeliculasActores() { ActorId = Actor.ActorId, Personaje = Actor.Personaje }); } return(resultado); }
private List <PeliculasGeneros> MapPeliculasGeneros(PeliculaCreateDTO peliculaCreateDTO, Pelicula pelicula) { var resultado = new List <PeliculasGeneros>(); if (peliculaCreateDTO.GenerosIds == null) { return(resultado); } foreach (var Id in peliculaCreateDTO.GenerosIds) { resultado.Add(new PeliculasGeneros() { GeneroId = Id }); } return(resultado); }
public IActionResult CrearPelicula([FromForm] PeliculaCreateDTO peliculaDTO) { if (peliculaDTO == null) { return(BadRequest(ModelState)); } if (_pelRepo.ExistePelicula(peliculaDTO.Nombre)) { ModelState.AddModelError("", "La pelicula ya existe"); return(StatusCode(404, ModelState)); } /*Subida de archivos*/ var archivo = peliculaDTO.Foto; string rutaPrincipal = _hostingEnvironment.WebRootPath; var archivos = HttpContext.Request.Form.Files; if (archivo.Length > 0) { //Nuevo imagen var nombreFoto = Guid.NewGuid().ToString(); var subidas = Path.Combine(rutaPrincipal, @"fotos"); var extension = Path.GetExtension(archivos[0].FileName); using (var fileStreams = new FileStream(Path.Combine(subidas, nombreFoto + extension), FileMode.Create)) { archivos[0].CopyTo(fileStreams); } peliculaDTO.RutaImagen = @"\fotos\" + nombreFoto + extension; } var pelicula = _mapper.Map <Pelicula>(peliculaDTO); if (!_pelRepo.CrearPelicula(pelicula)) { ModelState.AddModelError("", $"Algo salio mal guardando el registro{pelicula.Nombre}"); return(StatusCode(500, ModelState)); } return(CreatedAtRoute("GetPelicula", new { peliculaId = pelicula.Id }, pelicula)); }
public async Task <Response <PeliculaDTO> > InsertAsync(PeliculaCreateDTO peliculaCreateDCreateDTO) { var response = new Response <PeliculaDTO>(); try { var entidad = _mapper.Map <Pelicula>(peliculaCreateDCreateDTO); if (peliculaCreateDCreateDTO.Poster != null) { using (var memoryStream = new MemoryStream()) { await peliculaCreateDCreateDTO.Poster.CopyToAsync(memoryStream); var contenido = memoryStream.ToArray(); var extension = Path.GetExtension(peliculaCreateDCreateDTO.Poster.FileName); entidad.Poster = await _almacenadorArhivos.GuardarArchivo(contenido, extension, _contenedor, peliculaCreateDCreateDTO.Poster.ContentType); } } entidad = await _peliculasDomain.InsertAsync(entidad); response.Data = _mapper.Map <PeliculaDTO>(entidad); if (response.Data != null) { response.IsSuccess = true; response.Message = "Registro Exitoso!!!"; } } catch (Exception ex) { response.Message = ex.Message; } return(response); }