public async Task <IActionResult> Edit(int id, [Bind("RespuestaEvaluacionId,Respuesta")] RespuestaEvaluacion respuestaEvaluacion) { if (id != respuestaEvaluacion.RespuestaEvaluacionId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(respuestaEvaluacion); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!RespuestaEvaluacionExists(respuestaEvaluacion.RespuestaEvaluacionId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(respuestaEvaluacion)); }
public async Task <IActionResult> Create([Bind("RespuestaEvaluacionId,Respuesta")] RespuestaEvaluacion respuestaEvaluacion) { if (ModelState.IsValid) { _context.Add(respuestaEvaluacion); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(respuestaEvaluacion)); }
public async Task <IActionResult> Respuesta([Bind] ContestarPreguntaViewModel contestacion, string BackUrl) { if (!await MiGrupoEstaHabilitado()) { return(View("GrupoInhabilitado")); } StringBuilder errores = new StringBuilder(); if (contestacion.AspiranteId == 0 || contestacion.CompetenciaId == 0 || contestacion.PreguntaId == 0 || contestacion.RespuestaId == 0) { errores.Append("Falta uno de los parametros para poder recibir una Respuesta a la pregunta"); //if (contestacion.AspiranteId == 0) errores.AppendLine("Falta Aspirante"); if (contestacion.CompetenciaId == 0) { errores.AppendLine("Falta Competencia"); } if (contestacion.PreguntaId == 0) { errores.AppendLine("Falta Pregunta"); } if (contestacion.RespuestaId == 0) { errores.AppendLine("Falta Respuesta"); } } else { //var aspirante = await _context.Users // .FirstOrDefaultAsync(u => // u.Id == contestacion.AspiranteId // ); var aspirante = await AspiranteActual(); var pregunta = await _context.Preguntas .FirstOrDefaultAsync(p => p.CompetenciaId == contestacion.CompetenciaId && p.PreguntaId == contestacion.PreguntaId ); var respuesta = await _context.Respuestas .FirstOrDefaultAsync(r => r.CompetenciaId == contestacion.CompetenciaId && r.PreguntaId == contestacion.PreguntaId && r.RespuestaPreguntaId == contestacion.RespuestaId ); if (aspirante == null) { errores.AppendLine("El aspirante no existe"); } if (pregunta == null) { errores.AppendLine("La pregunta no existe"); } if (respuesta == null) { errores.AppendLine("La respuesta no existe"); } var respuestaEvaluacion = await _context.RespuestasEvaluaciones.FirstOrDefaultAsync(re => re.Aspirante == aspirante && re.Pregunta == pregunta); if (respuestaEvaluacion == null) { var newRespuesta = new RespuestaEvaluacion { Aspirante = aspirante, Pregunta = pregunta, RespuestaPregunta = respuesta, FechaCreacion = DateTime.Now, FechaModificacion = DateTime.Now, UsuarioCreacion = aspirante.NormalizedUserName, UsuarioModificacion = aspirante.NormalizedUserName }; await _context.RespuestasEvaluaciones.AddAsync(newRespuesta); } else { respuestaEvaluacion.FechaModificacion = DateTime.Now; respuestaEvaluacion.UsuarioModificacion = aspirante.NormalizedUserName; respuestaEvaluacion.RespuestaPregunta = respuesta; } try { await _context.SaveChangesAsync(); } catch (Exception e) { errores.AppendLine(e.Message); if (!string.IsNullOrEmpty(errores.ToString())) { TempData["MensajeErrorPregunta" + contestacion.PreguntaId.ToString().PadLeft(3, '0')] = errores.ToString(); } return(Redirect(Url.RouteUrl(new { controller = "Evaluacion", Action = "Competencia", id = contestacion.NombreCompetencia }) + $"#pregunta{contestacion.PreguntaId.ToString().PadLeft(3, '0')}")); //return RedirectToLocal(BackUrl); } } if (!string.IsNullOrEmpty(errores.ToString())) { TempData["MensajeErrorPregunta" + contestacion.PreguntaId.ToString().PadLeft(3, '0')] = errores.ToString(); } return(Redirect(Url.RouteUrl(new { controller = "Evaluacion", Action = "Competencia", id = contestacion.NombreCompetencia }) + $"#pregunta{contestacion.PreguntaId.ToString().PadLeft(3, '0')}")); //return RedirectToLocal(BackUrl); }