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