// GET: Capitulo/Edit/5 public async Task <IActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } var capitulo = await _context.Capitulos.FindAsync(id); if (capitulo == null) { return(NotFound()); } var capituloVM = new EdicionCapituloViewModel { Id = capitulo.Id, LibroId = capitulo.LibroId, NumeroCapitulo = capitulo.NumeroCapitulo, Contenido = null, Titulo = capitulo.Titulo, FechaDeVencimiento = capitulo.FechaDeVencimiento }; return(View(capituloVM)); }
public async Task <IActionResult> Edit(int id, [Bind("Id,LibroId,NumeroCapitulo,Contenido,Titulo,FechaDeVencimiento")] EdicionCapituloViewModel capitulo) { if (id != capitulo.Id) { return(NotFound()); } var capi = _context.Capitulos.FirstOrDefault(v => v.Id == id); if (this.existeCapitulo(capitulo.NumeroCapitulo, capitulo.Id, capi.LibroId)) { ModelState.AddModelError("NumeroCapitulo", "Este número ya se encuentra en uso para otro capítulo"); } if (ModelState.IsValid && (!this.existeCapitulo(capitulo.NumeroCapitulo, capitulo.Id, capi.LibroId) || this.numeroCapituloEditable(capitulo.NumeroCapitulo, capitulo.Id))) { try { capi.Id = capitulo.Id; capi.NumeroCapitulo = capitulo.NumeroCapitulo; capi.Contenido = this.checkearPorNull(capitulo.Contenido, capi.Contenido, "Libros"); capi.Titulo = capitulo.Titulo; capi.FechaDeVencimiento = capitulo.FechaDeVencimiento; _context.Update(capi); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CapituloExists(capitulo.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction("EditConCapitulos", "Libro", new { id = capi.LibroId })); } return(View(capitulo)); }