Ejemplo n.º 1
0
 private static bool GrupoHabilitadoParaAcceso(string idGrupo, CedEntidades.WF Wf)
 {
     try
     {
         Cedeira.SV.db db = new Cedeira.SV.db(Wf.Sesion);
         List<CedEntidades.Grupo> listGrupos = db.WF_GruposXAcceso(Wf.Sesion.IdAcceso);
         listGrupos.Find(delegate(CedEntidades.Grupo e) { return e.Id == idGrupo; });
         return listGrupos.Count != 0;
     }
     catch
     {
         return false;
     }
 }
Ejemplo n.º 2
0
		public static List<CedEntidades.Grupo> GruposXAcceso(string IdAcceso, CedEntidades.Sesion Sesion)
		{
			Cedeira.SV.db db = new Cedeira.SV.db(Sesion);
			return db.WF_GruposXAcceso(IdAcceso);
        }
Ejemplo n.º 3
0
        public static void Crear(string IdUsuario, string Password, string Dominio, string CnnStr, string IdAcceso, string Version, string VersionParaControl, CedEntidades.Sesion Sesion)
		{
			Sesion.IdAcceso = IdAcceso;
			// Leo el CnnStr de la base de datos
			Sesion.CnnStr = CnnStr;
			Sesion.Version = Version;
			Sesion.VersionParaControl = VersionParaControl;
			// Chequeo de version del assembly
			VerificarAssemblyVersion(Sesion);
			Cedeira.SV.db db = new Cedeira.SV.db(Sesion);
            List<CedEntidades.Acceso> acceso = db.WF_Acceso_lst().FindAll(delegate(CedEntidades.Acceso e) { return e.IdAcceso == IdAcceso; });
			if (acceso.Count == 0)
			{
				throw new Microsoft.ApplicationBlocks.ExceptionManagement.Sesion.AplicInvalida();
			}
			try
			{
				// Verifico que el usuario tenga acceso a la base de datos 
				db.TesteoConexion(Sesion.CnnStr);
				// Obtengo Parametros
				Sesion.CXO = db.CXO();
				// Obtengo info del usuario
				CedEntidades.Usuario u = new CedEntidades.Usuario();
				u.IdUsuario = IdUsuario;
				Cedeira.SV.Usuario.Leer(u, Sesion);
				u.Password = Password;
				Sesion.Usuario = u;
				Sesion.Dominio = Dominio;
				// Chequeo si esta activo
				if (!Sesion.Usuario.Activo)
				{
					throw new Microsoft.ApplicationBlocks.ExceptionManagement.Sesion.Usuario.NoActivo();
				}
				// Chequeo si no esta dado de baja
				if (Sesion.Usuario.FecBaja.Date < DateTime.Now.Date)
				{
					throw new Microsoft.ApplicationBlocks.ExceptionManagement.Sesion.Usuario.DeBaja();
				}
				// Verifico si el usuario tiene acceso a la aplicacion
				List<CedEntidades.Grupo> gruposConAccPermitido = db.WF_GruposXAcceso(IdAcceso);
				bool PuedeEntrar = false;
				for (int i = 0; i < gruposConAccPermitido.Count; i++)
				{
					List<CedEntidades.GrupoXUsuario> perteneceAConAccPermitido = Sesion.Usuario.PerteneceA.FindAll(delegate(CedEntidades.GrupoXUsuario e)
					{
						return e.Id == gruposConAccPermitido[i].Id;
					});
					if (perteneceAConAccPermitido.Count > 0)
					{
						PuedeEntrar = true;
						break;
					}
				}
				if (!PuedeEntrar)
				{
					throw new Microsoft.ApplicationBlocks.ExceptionManagement.Sesion.Usuario.NoHabilitado();
				}
			}
			catch (Exception ex)
			{
				throw new Microsoft.ApplicationBlocks.ExceptionManagement.Sesion.Crear(ex);
			}
		}