Ejemplo n.º 1
0
 private static List<CedEntidades.Usuario> ArmarLista(DataView DV, CedEntidades.Sesion Sesion)
 {
     List<CedEntidades.Usuario> usuarioLista = new List<CedEntidades.Usuario>();
     for (int i = 0; i < DV.Table.Rows.Count; i++)
     {
         CedEntidades.Usuario u = new CedEntidades.Usuario();
         u.IdUsuario = Convert.ToString(DV.Table.Rows[i]["IdUsuario"]);
         u.Nombre = Convert.ToString(DV.Table.Rows[i]["Nombre"]);
         u.Activo = Convert.ToBoolean(DV.Table.Rows[i]["Activo"]);
         if (DV.Table.Rows[i]["Alias"] != System.DBNull.Value)
         {
             u.Alias = Convert.ToString(DV.Table.Rows[i]["Alias"]);
         }
         else
         {
             u.Alias = String.Empty;
         }
         u.FecAlta = Convert.ToDateTime(DV.Table.Rows[i]["FecAlta"]);
         u.FecBaja = Convert.ToDateTime(DV.Table.Rows[i]["FecBaja"]);
         if (DV.Table.Rows[i]["Email"] != System.DBNull.Value)
         {
             u.Email = Convert.ToString(DV.Table.Rows[0]["Email"]);
         }
         else
         {
             u.Email = String.Empty;
         }
         usuarioLista.Add(u);
     }
     return usuarioLista;
 }
Ejemplo n.º 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);
			}
		}
Ejemplo n.º 3
0
		public Sesion()
		{
			usuario = new Usuario();
		}