public async Task <ActionResult> Form(Hijo usuario, bool readOnly = false, bool delete = false) { if (delete) { var resultado = servicio.EliminarAlumno(usuario.Id, usuario, usuarioLogueado); if (resultado.EsValido) { return(RedirectToAction("Index")); } TempData["Error"] = resultado; } if (ModelState.IsValid) { Resultado resultado = new Resultado(); usuario.Sala.Nombre = servicio.ObtenerSalasPorInstitucion(usuarioLogueado).Single(x => x.Id == usuario.Sala.Id).Nombre; if (usuario.Id == 0) { resultado = servicio.AltaAlumno(usuario, usuarioLogueado); } else { resultado = servicio.EditarAlumno(usuario.Id, usuario, usuarioLogueado); } if (resultado.EsValido) { return(RedirectToAction("Index")); } TempData["Error"] = resultado; } ViewBag.ReadOnly = readOnly; ViewBag.Delete = delete; ViewBag.Salas = new SelectList(servicio.ObtenerSalasPorInstitucion(usuarioLogueado), "Id", "Nombre", usuario?.Sala?.Id); return(View(usuario)); }