public ActionResult Edit(PreguntaRespuestaABMViewModel model) { var errores = new List <string>(); if (model.Respuestas.Count != CANT_RESPUESTAS) { errores.Add(ERROR_CANT_CORRECTAS); } if (!verificarCantCorrectas(model.Respuestas)) { errores.Add(ERROR_CANT_CORRECTAS); } if (!errores.Any()) { var repo = new Repositorio <Pregunta>(db); var pregunta = repo.Traer(model.Id); pregunta.ModificarJs(model, db); repo.Modificar(pregunta); return(Json(new { Result = "OK", Error = "" }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { Result = "", Error = errores }, JsonRequestBehavior.AllowGet)); } }
public ActionResult Create(PreguntaRespuestaABMViewModel model) { var errores = new List <string>(); if (model.Respuestas.Count != CANT_RESPUESTAS) { errores.Add(ERROR_CANT_CORRECTAS); } if (!verificarCantCorrectas(model.Respuestas)) { errores.Add(ERROR_CANT_CORRECTAS); } if (Guid.Empty == model.CategoriaSeleccionada) { errores.Add(ERROR_CATEGORIA_VACIA); } if (model.Nombre == null) { errores.Add(ERROR_NOMBRE_VACIO); } if (!errores.Any()) { var preguntaRespuesta = new Pregunta(model, db); new Repositorio <Pregunta>(db).Crear(preguntaRespuesta); return(Json(new { Result = "OK", Error = "" }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { Result = "", Error = errores }, JsonRequestBehavior.AllowGet)); } }
public ActionResult GetPregunta(Guid id) { var pregunta = new Repositorio <Pregunta>(db).Traer(id); var model = new PreguntaRespuestaABMViewModel(pregunta); return(Json(model, JsonRequestBehavior.AllowGet)); }
public void ModificarJs(PreguntaRespuestaABMViewModel model, ApplicationDbContext db) { var repoRespuesta = new Repositorio <Respuesta>(db); Nombre = model.Nombre; if (model.CategoriaSeleccionada != Guid.Empty) { Categoria = new Repositorio <Categoria>(db).Traer(model.CategoriaSeleccionada); } foreach (var item in model.Respuestas) { if (item.Eliminada == true) { var res = Respuestas.First(a => a.Id == item.Id); Respuestas.Remove(res); } else if (item.Editada == true) { var respuestaAux = Respuestas.FirstOrDefault(a => a.Id == item.Id); respuestaAux.Modificar(item); } else if (item.Nueva) { Respuesta respuesta = new Respuesta(item); repoRespuesta.Crear(respuesta); Respuestas.Add(respuesta); } } }
public Pregunta(PreguntaRespuestaABMViewModel model, ApplicationDbContext db) { Nombre = model.Nombre; Categoria = new Repositorio <Categoria>(db).Traer(model.CategoriaSeleccionada); Respuestas = model.Respuestas.Select(r => new Respuesta { Nombre = r.Nombre, EsCorrecta = r.EsCorrecta, }).ToList(); }
internal void Modificar(PreguntaRespuestaABMViewModel model, ApplicationDbContext db) { Nombre = model.Nombre; if (model.CategoriaSeleccionada != Guid.Empty) { Categoria = new Repositorio <Categoria>(db).Traer(model.CategoriaSeleccionada); } else { Categoria = null; } var RespuestasAnteriores = Respuestas.Select(a => a.Id).ToList(); foreach (var respuesta in RespuestasAnteriores) { var item = Respuestas.First(a => a.Id == respuesta); Respuestas.Remove(item); } }
public ActionResult Create() { var model = new PreguntaRespuestaABMViewModel(); return(View(model)); }