} // CanExecuteOk #endregion #region METHODS /// <summary> /// /// </summary> /// <remarks> /// Sin comentarios adicionales /// </remarks> public void ExecuteOk() { ApplicationContext.UserContext = new UserContextDto(); this.DialogResult = true; try { AuthenticationServiceClient loginSvc = new AuthenticationServiceClient(); int applicationId = 2; if (ConfigurationManager.AppSettings.AllKeys.Contains("applicationId")) { applicationId = int.Parse(ConfigurationManager.AppSettings["applicationId"]); } UserContextDto userContext = loginSvc.Login(new UserCredentialsDto(this.Login, this.Password, string.Empty, applicationId, string.Empty)); if (userContext != null) { ApplicationContext.UserContext = userContext; this.DialogResult = true; } else { this.DialogResult = false; } } catch (System.Exception ex) { this.DialogResult = false; } } // ExecuteOk
} // CanExecuteOk #endregion #region METHODS /// <summary> /// /// </summary> /// <remarks> /// Sin comentarios adicionales /// </remarks> public void ExecuteOk() { ApplicationContext.UserContext = new UserContextDto(); this.DialogResult = true; try { Inflexion.Framework.Application.Security.RemoteClient.WCF.AuthenticationService.AuthenticationServiceClient loginSvc = new Inflexion.Framework.Application.Security.RemoteClient.WCF.AuthenticationService.AuthenticationServiceClient(); // TODO: hay que cambiar esto por algo más elegante. int applicationId = 2; // este numeor de ide corresponde al que se guarda en la base de datos en la tabla de aplicaciones. if (ConfigurationManager.AppSettings.AllKeys.Contains("applicationId")) { applicationId = int.Parse(ConfigurationManager.AppSettings["applicationId"]); } UserContextDto userContext = loginSvc.Login(new UserCredentialsDto(this.Login, this.Password, string.Empty, applicationId, string.Empty)); if (userContext != null) { ApplicationContext.UserContext = userContext; this.DialogResult = true; } else { this.DialogResult = false; } } catch (System.Exception ex) { this.DialogResult = false; } } // ExecuteOk
/// <summary> /// Función pública encargada de obtener el nivel de acceso para el nombre /// del permiso de seguridad en interfaz proporcionado. /// </summary> /// <remarks> /// Sin comentarios adicionales. /// </remarks> /// <param name="permissionName"> /// Parámetro que indica el nombre del permiso de seguridad para interfaz. /// </param> /// <returns> /// Devuelve el nivel de acceso asignado.<see cref="AccessLevel"/> /// </returns> public AccessLevel GetAccessLevel(string permissionName) { // Comprobamos los parámetros de entrada. Guard.ArgumentNotNullOrEmpty(permissionName, "Permission name is null or empty."); // Obtenemos el contexto de usuario. UserContextDto userContext = ApplicationContext.UserContext; // Comprobamos los datos del contexto. Guard.ArgumentIsNotNull(userContext, "User context is null."); // Buscamos si el rol tiene el permiso especificado. var data = (from role in userContext.Roles from permission in role.ViewPermissions where permission.DataElementName == permissionName select permission).FirstOrDefault(); // Comprobamos los datos. if (data == null) return AccessLevel.Unassigned; // Devolvemos el resultado. return (AccessLevel)data.PermissionState; } // GetAccessLevel