Beispiel #1
0
		public static List<CedEntidades.Acceso> IdAccesoCombo(CedEntidades.Sesion Sesion)
		{
			Cedeira.SV.db db = new Cedeira.SV.db(Sesion);
			return db.WF_Acceso_lst();
		}
Beispiel #2
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);
			}
		}