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)); }
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)); }
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; }
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; }
public ActionResult Create() { var model = new ViewModelRP(); return(View(model)); }