//[ValidateAntiForgeryToken] public PartialViewResult AgregarConformado(Conformado_Item_Sec_Form conformado) { if (ModelState.IsValid) { Conformado_For_Sec conf_for_sec = new Conformado_For_Sec(); conf_for_sec.CodigoFormulario = conformado.CodigoFormulario; conf_for_sec.TituloSeccion = conformado.TituloSeccion; List <Conformado_Item_Sec_Form> conf = db.Conformado_Item_Sec_Form.Where(m => m.ItemId == conformado.ItemId && m.TituloSeccion == conformado.TituloSeccion && m.CodigoFormulario == conformado.CodigoFormulario).ToList(); if (conf.Count == 0) { db.Conformado_Item_Sec_Form.Add(conformado); if (db.Conformado_For_Sec.Where(m => m.TituloSeccion == conf_for_sec.TituloSeccion && m.CodigoFormulario == conf_for_sec.CodigoFormulario).Count() == 0) { db.Conformado_For_Sec.Add(conf_for_sec); db.SaveChanges(); } db.SaveChanges(); } else { return(null); } } //A List <Conformado_Item_Sec_Form> conformados = db.Conformado_Item_Sec_Form .Include("Item") .Where(m => m.CodigoFormulario == conformado.CodigoFormulario && m.TituloSeccion == conformado.TituloSeccion) .OrderBy(m => m.Orden_Item) .ToList(); return(PartialView("ConformadoVParcial", conformados)); }
public ActionResult Create([Bind(Include = "ItemID,TextoPregunta,TieneObservacion,TipoPregunta,NombreCategoria,EtiquetaObservacion")] Item item, string[] DynamicTextBox) { if (ModelState.IsValid) { db.Item.Add(item); db.SaveChanges(); if (DynamicTextBox != null && item.TipoPregunta == 2) { //Uso del procedimiento almacenado para insertar en una sección. db.SP_Insertar_Seleccion_Unica(item.ItemId, false); //Uso del procedimiento almancenado para insertar todas las opciones de respuesta en la tabla Selección Única. for (short index = 1; index <= DynamicTextBox.Length; ++index) { db.SP_Insertar_Opciones_De_Respuestas_Seleccion_Unica(item.ItemId, index, DynamicTextBox[index - 1]); } } ViewBag.ItemID = new SelectList(db.Seleccion_Unica, "ItemID", "ItemID", item.ItemId); ViewBag.ItemID = new SelectList(db.Texto_Libre, "ItemId", "ItemId", item.ItemId); return(RedirectToAction("Index")); } return(View("Create", item)); }
public ActionResult Create([Bind(Include = "CodigoFormulario,Nombre")] Formulario formulario) { if (ModelState.IsValid) { db.Formulario.Add(formulario); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(formulario)); }
public ActionResult Create([Bind(Include = "NombreCategoria")] Categoria categoria) { if (ModelState.IsValid) { db.Categoria.Add(categoria); db.SaveChanges(); return(RedirectToAction("Index")); } return(View("Create", categoria)); }
public ActionResult Create([Bind(Include = "Titulo,Descripcion")] Seccion seccion) { if (ModelState.IsValid) { db.Seccion.Add(seccion); db.SaveChanges(); return(RedirectToAction("Index")); } return(View("Create", seccion)); }
public ActionResult Create([Bind(Include = "ItemId,CodigoFormulario,TituloSeccion,NombreFormulario,Orden_Item,Orden_Seccion")] Conformado_Item_Sec_Form conformado_Item_Sec_Form) { if (ModelState.IsValid) { db.Conformado_Item_Sec_Form.Add(conformado_Item_Sec_Form); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.CodigoFormulario = new SelectList(db.Formulario, "CodigoFormulario", "Nombre", conformado_Item_Sec_Form.CodigoFormulario); ViewBag.ItemId = new SelectList(db.Item, "ItemId", "TextoPregunta", conformado_Item_Sec_Form.ItemId); ViewBag.TituloSeccion = new SelectList(db.Seccion, "Titulo", "Descripcion", conformado_Item_Sec_Form.TituloSeccion); return(View(conformado_Item_Sec_Form)); }
public ActionResult Create([Bind(Include = "Fecha,CodigoFormulario,CedulaPersona,CedulaProfesor,AnnoGrupo,SemestreGrupo,NumeroGrupo,SiglaGrupo,Completado")] Formulario_Respuesta formulario_Respuesta) { if (ModelState.IsValid) { db.Formulario_Respuesta.Add(formulario_Respuesta); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.CodigoFormulario = new SelectList(db.Formulario, "CodigoFormulario", "Nombre", formulario_Respuesta.CodigoFormulario); ViewBag.SiglaGrupo = new SelectList(db.Grupo, "SiglaCurso", "SiglaCurso", formulario_Respuesta.SiglaGrupo); ViewBag.CedulaPersona = new SelectList(db.Persona, "Cedula", "Nombre", formulario_Respuesta.CedulaPersona); ViewBag.CedulaProfesor = new SelectList(db.Profesor, "CedulaProfesor", "CedulaProfesor", formulario_Respuesta.CedulaProfesor); return(View(formulario_Respuesta)); }
public ActionResult DeleteConfirmed(Grupo GrupoElim, Formulario FormularioElim, Fecha_Corte PeriodoElim) { Tiene_Grupo_Formulario tiene_Grupo_Formulario = db.Tiene_Grupo_Formulario.Find(GrupoElim, FormularioElim, PeriodoElim); db.Tiene_Grupo_Formulario.Remove(tiene_Grupo_Formulario); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult BorrarConfirmado(string id) { // No se puede eliminar el perfil administrador. if (id != "Administrador") { Perfil perfil = db.Perfil.Find(id); db.Perfil.Remove(perfil); db.SaveChanges(); // Desplegar alert hasta que se cargue la pagina por completo. TempData["msg"] = "<script> $(document).ready(function(){ alert('El perfil se ha borrado exitosamente.');}); </script>"; return(RedirectToAction("Borrar")); } else { return(new HttpStatusCodeResult(HttpStatusCode.NotAcceptable)); } }
public void GuardarRespuestas(string CedulaEstudiante, string CedulaProfesor, string Grupo, string CodigoFormulario, string Respuestas) { //Debug.WriteLine("\n\nGrupo: \"" + Grupo + "\"\n\n"); var cedulaEst = JsonConvert.DeserializeObject <string>(CedulaEstudiante); var cedulaProf = JsonConvert.DeserializeObject <string>(CedulaProfesor); var grupoParcial = JsonConvert.DeserializeAnonymousType(Grupo, new { Anno = "", Semestre = "", SiglaCurso = "", NumeroGrupo = "" }); var grupoEval = new Grupo { AnnoGrupo = Convert.ToInt16(grupoParcial.Anno), SemestreGrupo = Convert.ToByte(grupoParcial.Semestre), SiglaCurso = grupoParcial.SiglaCurso, Numero = Convert.ToByte(grupoParcial.NumeroGrupo) }; var codigoF = JsonConvert.DeserializeObject <string>(CodigoFormulario); var fecha = DateTime.Now; var listaRespuestas = JsonConvert.DeserializeObject <RespuestaModel[]>(Respuestas); // tuplas contiene todas las tuplas por insertar a la base. var tuplas = new List <Responde>(); foreach (RespuestaModel respuesta in listaRespuestas) { foreach (var hileraRespuesta in respuesta.HilerasDeRespuesta) { tuplas.Add(new Responde { ItemId = respuesta.IdItem, TituloSeccion = respuesta.TituloSeccion, FechaRespuesta = fecha, CodigoFormularioResp = codigoF, CedulaPersona = cedulaEst, CedulaProfesor = cedulaProf, AnnoGrupoResp = grupoEval.AnnoGrupo, SemestreGrupoResp = grupoEval.SemestreGrupo, NumeroGrupoResp = grupoEval.Numero, SiglaGrupoResp = grupoEval.SiglaCurso, Observacion = respuesta.Observacion, Respuesta = hileraRespuesta, RespuestaProfesor = null }); } } var formResp = new Formulario_Respuesta { Fecha = fecha, CodigoFormulario = codigoF, CedulaPersona = cedulaEst, CedulaProfesor = cedulaProf, AnnoGrupo = grupoEval.AnnoGrupo, SemestreGrupo = grupoEval.SemestreGrupo, NumeroGrupo = grupoEval.Numero, SiglaGrupo = grupoEval.SiglaCurso, Completado = true }; if (ModelState.IsValid) { db.Formulario_Respuesta.Add(formResp); db.Responde.AddRange(tuplas.AsEnumerable()); db.SaveChanges(); } }
public string EfectuarAsignaciones(string Grupos, string PeriodosIndicados) { string mensajes = ""; int numErrores = 0; var FormulariosConPeriodos = JsonConvert.DeserializeObject <TipoPeriodosIndicados[]>(PeriodosIndicados); var GruposEnLista = JsonConvert.DeserializeObject <Grupo[]>(Grupos); DateTime ahora = DateTime.Now; //Almacena los cursos a los que se le deben enviar los correos. List <Curso> CursosCorreos = new List <Curso>(); List <Tiene_Grupo_Formulario> asignaciones = new List <Tiene_Grupo_Formulario>(); foreach (var fcp in FormulariosConPeriodos) { DateTime inicioPeriodo = new DateTime(), finPeriodo = new DateTime(); bool fechaIEsCorrecta = DateTime.TryParseExact(fcp.FechaInicio, "yyyy-MM-ddThh:mm", CultureInfo.CurrentCulture, DateTimeStyles.None, out inicioPeriodo); bool fechaFEsCorrecta = DateTime.TryParseExact(fcp.FechaFinal, "yyyy-MM-ddThh:mm", CultureInfo.CurrentCulture, DateTimeStyles.None, out finPeriodo); //bool fechaIEsCorrecta = DateTime.TryParse(fcp.FechaInicio, CultureInfo.CurrentCulture, DateTimeStyles.AssumeLocal, out inicioPeriodo); //bool fechaFEsCorrecta = DateTime.TryParse(fcp.FechaFinal, CultureInfo.CurrentCulture, DateTimeStyles.AssumeLocal, out finPeriodo); if (fechaIEsCorrecta && fechaFEsCorrecta) { //Debug.WriteLine("Fecha inicio: {0}\nFecha fin: {1}\n\n", inicioPeriodo.ToString(), finPeriodo.ToString()); if (ahora < inicioPeriodo) { if (inicioPeriodo < finPeriodo) { if ((from fc in db.Fecha_Corte where (fc.FechaInicio == inicioPeriodo && fc.FechaFinal == finPeriodo) select fc).Count() == 0) { if (ModelState.IsValid) { db.Fecha_Corte.Add(new Fecha_Corte { FechaInicio = inicioPeriodo, FechaFinal = finPeriodo }); db.SaveChanges(); } } foreach (var g in GruposEnLista) { asignaciones.Add(new Tiene_Grupo_Formulario { SiglaCurso = g.SiglaCurso, Numero = g.Numero, Anno = g.AnnoGrupo, Ciclo = g.SemestreGrupo, Codigo = fcp.CodigoForm, FechaInicio = inicioPeriodo, FechaFinal = finPeriodo }); //Para enviar los correos a los cursos respectivos Curso curso = db.Curso.Find(g.SiglaCurso); CursosCorreos.Add(curso); } } else // El periodo inicia después de que termina { ++numErrores; mensajes += "- El inicio del periodo para el formulario " + fcp.CodigoForm + " debe corresponder a una fecha anterior al final del mismo periodo.\n"; } } else // Inicio del periodo NO es posterior a la fecha actual { ++numErrores; mensajes += "- El periodo para el formulario " + fcp.CodigoForm + " debe comenzar en una fecha posterior a la actual\n"; } } else { //Debug.Write("\n\nFecha incorrecta /\n\n"); ++numErrores; mensajes += "- Ingrese correctamente el periodo de aplicación para el formulario " + fcp.CodigoForm + "\n"; } } if (numErrores > 0) { mensajes += "\nPor favor corrija lo indicado antes de realizar las asignaciones.\n"; } else { if (ModelState.IsValid) { db.Tiene_Grupo_Formulario.AddRange(asignaciones); db.SaveChanges(); //Se envían los correos foreach (var e in CursosCorreos) { EnviarCorreoFormulario(e); } } else { mensajes += "Hubo un error al guardar las asignaciones. Por favor contacte a soporte técnico.\n"; } } return(JsonConvert.SerializeObject(mensajes == ""? null : mensajes)); }
public ActionResult Guardar(SeleccionPermisos mod) { using (var context = new Opiniometro_DatosEntities()) { SeleccionPermisos model = new SeleccionPermisos(); model.ListaPerfiles = Perfil.ObtenerPerfilesMenosAdmin(); model.ListaPermisos = context.Permiso.ToList(); model.ListaEnfasis = context.Enfasis.ToList(); model.ListaPosee = context.Posee_Enfasis_Perfil_Permiso.ToList(); foreach (var item in mod.ListaGuardar) { if (item.Existe)//Si quedo seleccionado la intenta agregar si ya existe o no { //Si esta checked hay que ver si esta ya en la base o no //Para todos los enfasis se intenta insertar foreach (var enf in model.ListaEnfasis) { //Verificar si NO existe en la tabla para insertarlo if (!model.ListaPosee.Any(tupla => tupla.NombrePerfil == item.Perfil && tupla.IdPermiso == item.Permiso && tupla.SiglaCarrera == enf.SiglaCarrera && tupla.NumeroEnfasis == enf.Numero)) { var NumeroEnf = new SqlParameter("@NumeroEnf", enf.Numero); var Sigla = new SqlParameter("@Sigla", enf.SiglaCarrera); var NombrePerf = new SqlParameter("@NombrePerf", item.Perfil); var IdPermiso = new SqlParameter("@IdPermiso", item.Permiso); var Numero_Error = new SqlParameter("@Numero_Error", 0); Numero_Error.Direction = ParameterDirection.Output; Numero_Error.SqlDbType = SqlDbType.Int; context.Database.ExecuteSqlCommand(TransactionalBehavior.DoNotEnsureTransaction, "EXEC SP_InsertaTablaPosee @NumeroEnf, @Sigla, @NombrePerf, @IdPermiso, @Numero_Error OUT", NumeroEnf, Sigla, NombrePerf, IdPermiso, Numero_Error); if ((int)Numero_Error.Value != 0)//Significa que hubo un error con la transaccion { ModelState.AddModelError("ErrorInsertaPosee", "Error al insertar en tabla Posee"); } } } } else//Si no fue seleccionado o fue deseleccionado intenta borrar la tupla si existe o no en la tabla { //Si esta unchecked se fija para ver si esta en la base para quitarla sino no hace nada pues no estaba previamente //Hay que tratar de hacer borrado para todos los enfasis foreach (var enf in model.ListaEnfasis) { var consulta = (from p in context.Posee_Enfasis_Perfil_Permiso where p.IdPermiso == item.Permiso && p.NombrePerfil == item.Perfil && p.NumeroEnfasis == enf.Numero && p.SiglaCarrera == enf.SiglaCarrera select p).FirstOrDefault(); //Si no esta vacio significa que existe y por ende hay que quitarla de la tabla if (consulta != null) { context.Posee_Enfasis_Perfil_Permiso.Remove(consulta); } } } } if (ModelState.IsValid) { //Notificacion de que todo sale bien context.SaveChanges(); TempData["msg"] = "<script> $(document).ready(function(){ alert('Se han guardado los cambios a los permisos exitosamente.');}); </script>"; return(RedirectToAction("SeleccionarPermisos")); } return(View(model)); } }