Ejemplo n.º 1
0
        public ActionResult ValidaUsuario(clsSeguridad objSeguridad)
        {
            var lstSucursales = new SelectList(new List <string>());


            try
            {
                var msgSP = entity.Database.SqlQuery <clsMensajesSP>("call spUsuario({0},{1},{2},{3},{4})", new object[] { objSeguridad.Usuario, objSeguridad.Contrasena, "1", objSeguridad.CatSucursalesSelect.ToString(), "0" }).ToList();

                //Evaluamos si existe el usuario en la base
                if (msgSP != null && msgSP.Count() > 0)
                {
                    Warning(msgSP[0].msg);
                }
                else if (msgSP != null && msgSP.Count() == 0)
                {
                    //Si encuentra el usuario
                    //if (objSeguridad.CatSucursalesSelect != 3 || objSeguridad.CatSucursalesSelect != 4)


                    //validamos permisos de ususario
                    var permisos = entity.Database.SqlQuery <clsPermisosUsr>("call spUsuarioPermiso({0},{1})", new object[] { objSeguridad.Usuario, "1" }).ToList();
                    if (permisos != null && permisos.Count() > 0)
                    {
                        var nombre = permisos.Where(p => p.Nombre == "PMServicioDomicilio").Select(p => p.Nombre);

                        if ((permisos[0].Grupo == "SD-TECNICO" && nombre.Count() > 0) || permisos[0].Grupo == "ADMINISTRADOR")
                        {
                            var usrSuc = (from s in entity.sucursals
                                          where s.Sucursal1 == objSeguridad.CatSucursalesSelect
                                          select s).FirstOrDefault();
                            var usrData = (from u in entity.usuarios
                                           where u.Usuario1 == objSeguridad.Usuario
                                           select u).FirstOrDefault();


                            Session["Usuario"]     = objSeguridad.Usuario;
                            Session["UserName"]    = usrData.Nombre;
                            Session["UsrSucursal"] = usrSuc.Nombre;
                            Session["IdSuc"]       = usrSuc.Sucursal1;

                            return(RedirectToAction("Index", "SDM"));
                        }
                        else
                        {
                            Warning("No tiene permisos para acceder a la aplicación.Favor contacte al administrador del sistema");
                        }
                    }
                }
            }
            catch (Exception e)
            {
                Danger(Resources.MsjError + " - [" + e.Message + "]");
            }

            //De la siguiente manera llenamos manualmente,
            //Siendo el campo Text lo que ve el usuario y
            //el campo Value lo que en realidad vale nuestro valor


            objSeguridad.CatSucursales       = lstSucursales;
            objSeguridad.CatSucursalesSelect = 1;
            return(View("Index", objSeguridad));
        }