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));
        }
Ejemplo n.º 4
0
        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);
                }
            }
        }
Ejemplo n.º 5
0
 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();
 }
Ejemplo n.º 6
0
        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));
        }