public PerfilSeguridad GetPerfilbyId(int id) { PerfilSeguridad perfil = new PerfilSeguridad(); try { using (var db = new DataContext()) { perfil = db.PerfilSeguridad.Where(x => x.Id == id).FirstOrDefault(); } } catch (Exception ex) { throw; } return(perfil); }
/// <summary> /// Inicializamos Valores /// </summary> private void inicializamosValores(UsuarioSesion objUsuarioSesion) { //Referenciando al usuario de la sesión actual using (Usuario u = (Usuario)Session["usuario"]) { //Nombre de Usuario lkbUsuario.Text = u.nombre; //Fecha de Inicio de Sesión lkbInicioSesion.Text = "Inicio Sesión: " + objUsuarioSesion.fecha_inicio.ToString("dd/MM/yyyy HH:mm"); //Obteniendo el perfil de seguridad actual del usuario SAT_CL.Seguridad.PerfilSeguridadUsuario perfilActivo = SAT_CL.Seguridad.PerfilSeguridadUsuario.ObtienePerfilActivo(u.id_usuario); using (SAT_CL.Seguridad.PerfilSeguridad perfil = new PerfilSeguridad(perfilActivo.id_perfil)) { //Perfil lkbPerfil.Text = string.Format("Perfil: {0}", perfil.descripcion); } //Instanciamos Compañia de la sesión actual using (CompaniaEmisorReceptor objCompania = new CompaniaEmisorReceptor(((UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor)) { lkbCompania.Text = "Compañía: " + objCompania.nombre_corto; } //Validamos exista dias de Vigencia (0 = Sin vigencia, es permanente) if (u.dias_vigencia > 0) { //Si la vigencia ha caducado if (DateTime.Today.CompareTo(u.fecha_contrasena.Date.AddDays(u.dias_vigencia)) > 0) { //Redireccionamos a pagina Cambio de Contraseña Response.Redirect("~/CambioContrasena.aspx"); } } } }
/// <summary> /// Eventos Producido al Seleccionar el Perfil de Usuario /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void lnkSeleccionar_Click(object sender, EventArgs e) { //Validando que Existan Perfiles if (gvPerfilesUsuario.DataKeys.Count > 0) { //Seleccionando Fila Controles.SeleccionaFila(gvPerfilesUsuario, sender, "lnk", false); //Declarando Objeto de Retorno RetornoOperacion result = new RetornoOperacion(); //Inicializando Bloque Transaccional using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted)) { //Instanciando Perfil de Usuario using (SAT_CL.Seguridad.PerfilSeguridadUsuario psu = new SAT_CL.Seguridad.PerfilSeguridadUsuario(Convert.ToInt32(gvPerfilesUsuario.SelectedDataKey["IdPerfilUsuario"]))) { //Validando que Exista el Perfil if (psu.id_perfil_usuario > 0) { //Instanciando Perfil de Usuario using (SAT_CL.Seguridad.PerfilSeguridadUsuario pActivo = SAT_CL.Seguridad.PerfilSeguridadUsuario.ObtienePerfilActivo(this._id_usuario)) { //Validando que Exista un Perfil Activo if (pActivo.id_perfil_usuario > 0) { //Validando que sean Distintos if (pActivo.id_perfil_usuario != psu.id_perfil_usuario) { //Actualizando Perfil Activo result = pActivo.EditaPerfilSeguridadUsuario(pActivo.id_perfil, pActivo.id_usuario, false, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); //Validando que la Operación fuese Exitosa if (result.OperacionExitosa) { //Actualizando Perfil Actual result = psu.EditaPerfilSeguridadUsuario(psu.id_perfil, psu.id_usuario, true, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); } } else { //Actualizando Perfil Actual result = psu.EditaPerfilSeguridadUsuario(psu.id_perfil, psu.id_usuario, true, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); } } else { //Actualizando Perfil Actual result = psu.EditaPerfilSeguridadUsuario(psu.id_perfil, psu.id_usuario, true, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); } //Validando que la Operación fuese Exitosa if (result.OperacionExitosa) { //Instanciando Usuario using (SAT_CL.Seguridad.Usuario user = (SAT_CL.Seguridad.Usuario)Session["usuario"]) { //Actualizando Atributos if (user.ActualizaAtributos()) { //Actualizando Perfil de Usuario psu.ActualizaPerfilSeguridadUsuario(); //Instanciando Perfil using (SAT_CL.Seguridad.PerfilSeguridad ps = new PerfilSeguridad(psu.id_perfil)) { //Instanciando Perfil de Seguridad if (ps.id_perfil_seguridad > 0) { //Instanciando Forma using (SAT_CL.Seguridad.Forma form = new SAT_CL.Seguridad.Forma(ps.id_forma_inicio)) { //Completando Transacción trans.Complete(); //Inicializando variables de Sesión inicializaVariablesSesion(user); //Obteniendo Ruta Relativa string url = TSDK.Base.Cadena.RutaRelativaAAbsoluta(Page.AppRelativeVirtualPath, form.ruta_relativa); //Redireccionando a la Forma Inicio del Perfil Response.Redirect(url); } } } } } } } } } } } }