예제 #1
0
        public ActionResult EditJSJason(Guid Id)
        {
            var pregunta = new Repositorio <Pregunta>(db).Traer(Id);
            var model    = new ViewModelRP(pregunta);

            return(Json(new { Id = Id, model = model }, JsonRequestBehavior.AllowGet));
        }
예제 #2
0
        public ActionResult EditJSJason(ViewModelRP model)
        {
            var errores = new List <string>();

            if (string.IsNullOrEmpty(model.Nombre))
            {
                errores.Add("Debe completar el Nombre");
            }
            //  if (!model.FechaNacimiento.HasValue)
            //    errores.Add("Debe completar ll Fecha de Nacimiento");
            if (model.CategoriaSeleccionada == Guid.Empty)
            {
                errores.Add("Debe completar La categoria");
            }
            if (model.RespuestasSeleccionadas.Where(x => x.Eliminado != true).ToList().Count != 4)
            {
                errores.Add("La Pregunta debe tener Cuatro Respuestas");
            }
            var correctas = model.RespuestasSeleccionadas.Where(x => x.EsCorrecta).ToList();

            if (correctas.Count != 1)
            {
                errores.Add("Debe Existir una Respuesta correcta");
            }

            var groupBy = model.RespuestasSeleccionadas.GroupBy(r => r.Nombre).Select(a => new {
                Cuenta = a.Count(),
            }).ToList();


            foreach (var item in groupBy)
            {
                if (item.Cuenta > 1)
                {
                    errores.Add("No puede haber dos respuestas con el mismo Nombre");
                }
            }


            if (!errores.Any())
            {
                //var pelicula = new Pelicula(model, db);
                //new Repositorio<Pelicula>(db).Crear(pelicula);

                var repo     = new Repositorio <Pregunta>(db);
                var pregunta = repo.Traer(model.Id);
                pregunta.ModificarJs(model, db);
                repo.Modificar(pregunta);
            }
            if (errores.Any())
            {
                return(Json(new { Result = "", Error = errores }, JsonRequestBehavior.AllowGet));
            }

            return(Json(new { Result = "OK", Error = "" }, JsonRequestBehavior.AllowGet));
        }
예제 #3
0
        public Pregunta(ViewModelRP viewmodel, ApplicationDbContext db)
        {
            Nombre = viewmodel.Nombre;

            if (viewmodel.CategoriaSeleccionada != Guid.Empty)
            {
                Categoria = new Repositorio <Categoria>(db).Traer(viewmodel.CategoriaSeleccionada);
            }

            if (Respuestas == null)
            {
                Respuestas = new List <Respuesta>();
            }

            foreach (var resId in viewmodel.RespuestasSeleccionadas)
            {
                var respuesta = new Respuesta(resId, db);
                new Repositorio <Respuesta>(db).Crear(respuesta);
                Respuestas.Add(new Repositorio <Respuesta>(db).Traer(respuesta.Id));
            }
            //if (viewmodel.FechaNacimiento.HasValue)
            //    FechaNacimiento = viewmodel.FechaNacimiento.Value;
        }
예제 #4
0
        public void ModificarJs(ViewModelRP viewmodel, ApplicationDbContext db)
        {
            Nombre = viewmodel.Nombre;
            if (viewmodel.CategoriaSeleccionada != Guid.Empty)
            {
                Categoria = new Repositorio <Categoria>(db).Traer(viewmodel.CategoriaSeleccionada);
            }
            else
            {
                Categoria = null;
            }


            if (Respuestas == null)
            {
                Respuestas = new List <Respuesta>();
            }

            var respuestaPrevios      = Respuestas.Select(a => a.Id).ToList();
            var respuestaEliminados   = viewmodel.RespuestasSeleccionadas.Where(x => x.Eliminado == true && x.Id != Guid.Empty).Select(a => a.Id).ToList();
            var respuestaNoEliminados = viewmodel.RespuestasSeleccionadas.Where(x => x.Eliminado == false).ToList();


            foreach (var actorEliminado in respuestaEliminados)
            {
                var item = Respuestas.First(a => a.Id == actorEliminado);
                respuestaPrevios.Remove(item.Id);
                Respuestas.Remove(item);
            }
            bool previo = false;

            foreach (var actNoeli in respuestaNoEliminados)
            {
                foreach (var resId in respuestaPrevios)
                {
                    if (resId.ToString() == actNoeli.Id.ToString())
                    {
                        //var repo = new Repositorio<Actor>(db);
                        //var actoraux = repo.Traer(actId);
                        var item = Respuestas.First(a => a.Id == resId);
                        item.ModificarJs(actNoeli, db);
                        //repo.Modificar(actoraux);

                        //Actores.Remove(item);
                        //new Repositorio<Actor>(db).Crear(actor);
                        //Actores.Add(new Repositorio<Actor>(db).Traer(actoraux.Id));
                        previo = true;
                        break;
                    }
                }
                if (previo == false)
                {
                    var respuesta = new Respuesta(actNoeli, db);
                    new Repositorio <Respuesta>(db).Crear(respuesta);
                    Respuestas.Add(new Repositorio <Respuesta>(db).Traer(respuesta.Id));
                }
                previo = false;
            }
            //{
            //    Actores.Add(new Repositorio<Actor>(db).Traer(actId));
            //}
            //if (viewmodel.FechaNacimiento.HasValue)
            //    FechaNacimiento = viewmodel.FechaNacimiento.Value;
            //else
            //    FechaNacimiento = null;
        }
예제 #5
0
        public ActionResult Create()
        {
            var model = new ViewModelRP();

            return(View(model));
        }