// Devuelve los perfiles del usuario loggeado. public static ICollection <string> ObtenerPerfiles() { Opiniometro_DatosEntities db = new Opiniometro_DatosEntities(); string correo_autenticado = IdentidadManager.obtener_correo_actual(); ICollection <String> perfiles; perfiles = db.ObtenerPerfilUsuario(correo_autenticado).ToList(); return(perfiles); }
public static string obtener_nombre_actual() { Opiniometro_DatosEntities db = new Opiniometro_DatosEntities(); ObjectParameter nombre = new ObjectParameter("Nombre", ""); ObjectParameter apellido = new ObjectParameter("Apellido", ""); db.SP_ObtenerNombre(obtener_correo_actual(), nombre, apellido); return((string)nombre.Value + " " + (string)apellido.Value); }
// GET: Enfasis public ActionResult VerEnfasis() { using (var context = new Opiniometro_DatosEntities()) { ViewEnfasis model = new ViewEnfasis(); model.ListaEnfasis = context.Enfasis.ToList(); model.ListaCarreras = context.Carrera.ToList(); model.ListaUnidades = context.Unidad_Academica.ToList(); var query = from u in model.ListaUnidades join c in model.ListaCarreras on u.Codigo equals c.CodigoUnidadAcademica join e in model.ListaEnfasis on c.Sigla equals e.SiglaCarrera select new ViewEnfasis { unidad = u, carrera = c, enfasis = e }; return(View("Ver Enfasis", query)); } }
public CursosMatriculadosController() { db = new Opiniometro_DatosEntities(); }
public AsignarPeriodoController(Opiniometro_DatosEntities db) { this.db = db; }
//prueba para mocking tests public AsignarPeriodoController() { db = new Opiniometro_DatosEntities(); }
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)); } }
public FormularioCursoController() { this.db = new Opiniometro_DatosEntities(); }
public VisualizarFormularioController() { db = new Opiniometro_DatosEntities(); }
public SeccionController() { db = new Opiniometro_DatosEntities(); }
public Formulario_RespuestaController(Opiniometro_DatosEntities db) { this.db = db; }
public Formulario_RespuestaController() { db = new Opiniometro_DatosEntities(); }
public AsignarFormulariosController(Opiniometro_DatosEntities db) { this.db = db; }
//prueba para mocking tests public AsignarFormulariosController() { db = new Opiniometro_DatosEntities(); }
// Para el filtro por cursos /// <summary> /// Retorna la lista de cursos que pueden ser elegidos en el filtro de cursos. /// </summary> /// <param name="anno">Año del ciclo en los que se imparten los cursos.</param> /// <param name="semestre">Semestre del ciclo en el que se imparten los cursos.</param> /// <param name="codigoUnidadAcadem">Código de la unidad academica a la que pertenecen los cursos.</param> /// <param name="siglaCarrera">Sigla de la carrera en la que se encuentran los cursos.</param> /// <param name="numEnfasis">Número del énfasis de la carrera en el que se encuentran los cursos.</param> /// <returns>Lista de los cursos que satisfacen los filtros utilizados como parámetros.</returns> public IQueryable <Curso> ObtenerCursos(short?anno, byte?semestre, String codigoUnidadAcadem, String siglaCarrera, byte?numEnfasis) { IQueryable <Curso> nombreCurso = from c in db.Curso select c; List <Curso> cursos = new List <Curso>(); if (semestre != null) { List <Curso> cursosSemestre = new List <Curso>(); Opiniometro_DatosEntities opi = new Opiniometro_DatosEntities(); var cur = opi.CursosSegunSemestre(semestre); foreach (var c in cur) { Curso nuevo = new Curso(); nuevo.CodigoUnidad = c.CodigoUnidad; nuevo.Tipo = c.Tipo; nuevo.Sigla = c.Sigla; nuevo.Nombre = c.Nombre; cursosSemestre.Add(nuevo); } cursos = cursosSemestre; nombreCurso = cursos.AsQueryable(); } if (anno != null) { List <Curso> cursosAnno = new List <Curso>(); Opiniometro_DatosEntities opi = new Opiniometro_DatosEntities(); var cur = opi.CursosSegunAnno(anno); if (semestre == null) { foreach (var c in cur) { Curso nuevo = new Curso(); nuevo.CodigoUnidad = c.CodigoUnidad; nuevo.Tipo = c.Tipo; nuevo.Sigla = c.Sigla; nuevo.Nombre = c.Nombre; cursosAnno.Add(nuevo); } } //Si ya se seleccionó algún otro filtro, se restringe la lista de cursos de acuerdo al mismo else { foreach (var c in cur) { Curso nuevo = new Curso(); nuevo = cursos.Find(cu => cu.Sigla.Equals(c.Sigla)); if (nuevo != null) { cursosAnno.Add(nuevo); } } } cursos = cursosAnno; nombreCurso = cursos.AsQueryable(); } if (!String.IsNullOrEmpty(codigoUnidadAcadem)) { if (semestre == null && anno == null) { var uni = from c in db.Curso where c.CodigoUnidad.Equals(codigoUnidadAcadem) select c; cursos = uni.ToList(); } //Si ya se seleccionó algún otro filtro, se restringe la lista de cursos de acuerdo al mismo else { cursos = cursos.Where(c => c.CodigoUnidad.Equals(codigoUnidadAcadem)).ToList(); } nombreCurso = cursos.AsQueryable(); } if (!String.IsNullOrEmpty(siglaCarrera)) { List <Curso> cursosCarrera = new List <Curso>(); Opiniometro_DatosEntities opi = new Opiniometro_DatosEntities(); var cur = opi.CursosSegunCarrera(siglaCarrera); if (semestre == null && anno == null && String.IsNullOrEmpty(codigoUnidadAcadem)) { foreach (var c in cur) { Curso nuevo = new Curso(); nuevo.CodigoUnidad = c.CodigoUnidad; nuevo.Tipo = c.Tipo; nuevo.Sigla = c.Sigla; nuevo.Nombre = c.Nombre; cursosCarrera.Add(nuevo); } } //Si ya se seleccionó algún otro filtro, se restringe la lista de cursos de acuerdo al mismo else { foreach (var c in cur) { Curso nuevo = new Curso(); nuevo = cursos.Find(cu => cu.Sigla.Equals(c.Sigla)); if (nuevo != null) { cursosCarrera.Add(nuevo); } } } cursos = cursosCarrera; nombreCurso = cursos.AsQueryable(); } ViewBag.nombreCurso = new SelectList(nombreCurso, "Nombre", "Nombre"); return(nombreCurso); }
public CursosMatriculadosController(Opiniometro_DatosEntities db) { this.db = db; }
public SeccionController(Opiniometro_DatosEntities db) { this.db = db; }
// GET: Categoria public CategoriaController() { db = new Opiniometro_DatosEntities(); }
public VisualizarFormularioController(Opiniometro_DatosEntities db) { this.db = db; }
public CategoriaController(Opiniometro_DatosEntities db) { this.db = db; }
public FormularioCursoController(Opiniometro_DatosEntities db) { this.db = db; }
// GET: SeleccionPermisos public ActionResult SeleccionarPermisos() { //Verificar si sesion esta activa if (IdentidadManager.verificar_sesion(this) == true) { //Verificar si es administrador if (IdentidadManager.obtener_perfil_actual() == "Administrador") { bool asignado; using (var context = new Opiniometro_DatosEntities()) { SeleccionPermisos model = new SeleccionPermisos(); model.ListaPerfiles = Perfil.ObtenerPerfilesMenosAdmin();//No se deben editar los permisos de administrador desde la aplicacion model.ListaPermisos = context.Permiso.ToList(); model.ListaPosee = context.Posee_Enfasis_Perfil_Permiso.ToList(); model.ListaEnfasis = context.Enfasis.ToList(); model.ListaAsoc = new List <SeleccionPermisos.Asociaciones>();//Contiene la listaPosee pero sin tuplas que repitan enfasis model.ListaGuardar = new List <SeleccionPermisos.GuardarPerm>(); foreach (var posee in model.ListaPosee) { SeleccionPermisos.Asociaciones asoc = new SeleccionPermisos.Asociaciones(posee.NombrePerfil, posee.IdPermiso); //Para verificar si ya existe la combinacion de permiso en una tupla solamente de permiso (id) y perfil (id) //para no insertarla en la lista ListaAsoc. Todo esto pues hay tuplas muy similares debido a que lo que difiere es el enfasis if (!model.ListaAsoc.Any(item => item.Perfil == asoc.Perfil && item.Permiso == asoc.Permiso)) { model.ListaAsoc.Add(asoc); } } //Se llena la listaGuardar tanto con las relaciones existentes como con las posibles que se pueden crear a partir de un seleccion de checkbox foreach (var perfil in model.ListaPerfiles) { foreach (var permiso in model.ListaPermisos) { asignado = false;//Para cada combinacion for (int cont = 0; cont < model.ListaAsoc.Count; cont++) { //Si existe la combinacion la agrega indicando que es existente if (perfil.Nombre == model.ListaAsoc[cont].Perfil && permiso.Id == model.ListaAsoc[cont].Permiso) { model.ListaGuardar.Add(new SeleccionPermisos.GuardarPerm(perfil.Nombre, permiso.Id, true)); asignado = true; } //Si no existe if (cont == model.ListaAsoc.Count - 1 && asignado == false) { model.ListaGuardar.Add(new SeleccionPermisos.GuardarPerm(perfil.Nombre, permiso.Id, false)); asignado = false; } } } } return(View(model)); } } //No tiene permiso entonces se redirige a Home else { return(RedirectToAction("Index", "Home")); } } //Si no entonces a re-autenticarse else { return(RedirectToAction("Login", "Auth")); } }