// 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);
        }
Esempio n. 3
0
        // 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));
            }
        }
Esempio n. 4
0
 public CursosMatriculadosController()
 {
     db = new Opiniometro_DatosEntities();
 }
 public AsignarPeriodoController(Opiniometro_DatosEntities db)
 {
     this.db = db;
 }
 //prueba para mocking tests
 public AsignarPeriodoController()
 {
     db = new Opiniometro_DatosEntities();
 }
Esempio n. 7
0
        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));
            }
        }
Esempio n. 8
0
 public FormularioCursoController()
 {
     this.db = new Opiniometro_DatosEntities();
 }
 public VisualizarFormularioController()
 {
     db = new Opiniometro_DatosEntities();
 }
 public SeccionController()
 {
     db = new Opiniometro_DatosEntities();
 }
Esempio n. 11
0
 public Formulario_RespuestaController(Opiniometro_DatosEntities db)
 {
     this.db = db;
 }
Esempio n. 12
0
 public Formulario_RespuestaController()
 {
     db = new Opiniometro_DatosEntities();
 }
Esempio n. 13
0
 public AsignarFormulariosController(Opiniometro_DatosEntities db)
 {
     this.db = db;
 }
Esempio n. 14
0
 //prueba para mocking tests
 public AsignarFormulariosController()
 {
     db = new Opiniometro_DatosEntities();
 }
Esempio n. 15
0
        // 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);
        }
Esempio n. 16
0
 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;
 }
Esempio n. 21
0
 public FormularioCursoController(Opiniometro_DatosEntities db)
 {
     this.db = db;
 }
Esempio n. 22
0
        // 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"));
            }
        }