Esempio n. 1
0
 public void OnUserActivated(object sender, UserAccountEventArgs args)
 {
     if (args.UserType == UserType.Member)
     {
         _membersHandler.OnMemberActivated(args.UserId);
     }
 }
Esempio n. 2
0
        /// <summary>
        /// Handles the UserAccountEventArgs received.
        /// </summary>
        /// <param name="userAccountEventArgs">User Account Event Args</param>
        public void handleUserAccountEventArgs(UserAccountEventArgs userAccountEventArgs)
        {
            IEnumerable <IUserAccountView> views = new List <IUserAccountView>();

            switch (userAccountEventArgs.UserAccountActionType)
            {
            case UserAccountActionType.UpdateUsers:
            case UserAccountActionType.AddUser:
            case UserAccountActionType.AddUserFailed:
            case UserAccountActionType.EditUser:
            case UserAccountActionType.EditUserFailed:
            case UserAccountActionType.UnlockUser:
            case UserAccountActionType.UnlockUserFailed:
            case UserAccountActionType.DeleteUser:
            case UserAccountActionType.DeleteUserFailed:
            case UserAccountActionType.SearchUsers:
                views = GetViews <IUserAccountView>();
                break;
            }

            foreach (IUserAccountView view in views)
            {
                view.UserAccountAction
                    (userAccountEventArgs.UserAccountActionType,
                    userAccountEventArgs.UserAccounts,
                    userAccountEventArgs.UserAccountLoggedIn,
                    userAccountEventArgs.UserAccountActionMessage);
            }
        }
Esempio n. 3
0
 public void OnUserDisabled(object sender, UserAccountEventArgs e)
 {
     if (e.UserType == UserType.Member)
     {
         Update(e.UserId);
     }
 }
Esempio n. 4
0
        /// <summary>
        /// Search for Users
        /// </summary>
        /// <param name="clientSearchCriteria">Search criteria.</param>
        /// <param name="keyWord">Search key word.</param>
        public void SearchUser(
            DCU.Enums.UserInfoSearchCriteria clientSearchCriteria,
            string keyWord)
        {
            // 1.) Get Service
            IUserManagementServices userManagementServices =
                ComponentManager.GetComponent <IUserManagementServices>();

            // 2.) Create Request
            DCO.Enums.UserInfoSearchCriteriaEnum coreSearchCriteria =
                UserAccountConverter.ConvertToCoreUserInfoSearchCriteria(clientSearchCriteria);

            UserManagementRequest request = UserManagementHelper.CreateUserManagementRequest(
                UserManagementActionType.SearchUsers,
                searchKeyWord: keyWord,
                userInfoSearchCriteria: coreSearchCriteria);

            // 3.) Send Request
            UserManagementResponse response =
                userManagementServices.UserManagementHandleRequest(request);


            // 4.) Handle Response
            List <DCO.Objects.UserAccount> coreUserAccounts = response.UserAccountsRetrieved;

            List <DCU.Objects.UserAccount> clientUserAccounts = new List <DCU.Objects.UserAccount>();

            foreach (DCO.Objects.UserAccount coreUserAccount in coreUserAccounts)
            {
                clientUserAccounts.Add(UserAccountConverter.CovertToClientUserAccount(coreUserAccount));
            }

            // Get the logged in user account that was used by the server
            // when handling the request.
            DCU.Objects.UserAccount clientUserAccountLoggedIn =
                UserAccountConverter.CovertToClientUserAccount(response.RequestorUserAccount);

            UserAccountEventArgs userAccountEventArgs =
                createUserAccountEventArgs(
                    UserAccountActionType.SearchUsers,
                    clientUserAccounts,
                    clientUserAccountLoggedIn,
                    response.ResponseErrorMessage);

            // Broadcast to UserAccountEventArgs that a search user was triggered.
            EventBus <UserAccountEventArgs> .Broadcast(
                this,
                userAccountEventArgs);
        }
Esempio n. 5
0
        /// <summary>
        /// Unlocks a User Account
        /// </summary>
        /// <param name="userAccount">User Account to be unlocked.</param>
        public void UnlockUser(DCU.Objects.UserAccount userAccount)
        {
            // 1.) Get Service
            IUserManagementServices userManagementServices =
                ComponentManager.GetComponent <IUserManagementServices>();

            // 2.) Create Request
            UserManagementRequest request = UserManagementHelper.CreateUserManagementRequest(
                UserManagementActionType.UnlockUser,
                UserAccountConverter.CovertToCoreUserAccount(userAccount));

            // 3.) Send Request
            UserManagementResponse response =
                userManagementServices.UserManagementHandleRequest(request);

            // 4.) Handle Response
            UserAccountActionType userAccountActionType;
            string message;

            if (response.IsRequestSuccessful)
            {
                userAccountActionType = UserAccountActionType.UnlockUser;
                message = response.ResponseMessage;
            }
            else
            {
                userAccountActionType = UserAccountActionType.UnlockUserFailed;
                message = response.ResponseErrorMessage;
            }

            // Get the logged in user account that was used by the server
            // when handling the request.
            DCU.Objects.UserAccount clientUserAccountLoggedIn =
                UserAccountConverter.CovertToClientUserAccount(response.RequestorUserAccount);

            UserAccountEventArgs userAccountEventArgs =
                createUserAccountEventArgs(
                    userAccountActionType,
                    null,
                    clientUserAccountLoggedIn,
                    message);

            // Broadcast to UserAccountEventARgs that an unlock user was triggered.
            EventBus <UserAccountEventArgs> .Broadcast(
                this,
                userAccountEventArgs);
        }
Esempio n. 6
0
        /// <summary>
        /// Updates User Accounts
        /// </summary>
        /// <param name="actionType">Action Type</param>
        public void UpdateUsers(
            UserAccountActionType actionType = UserAccountActionType.UpdateUsers)
        {
            // 1.) Get Service
            IUserManagementServices userManagementServices =
                ComponentManager.GetComponent <IUserManagementServices>();


            // 2.) Create Request
            UserManagementRequest request = UserManagementHelper.CreateUserManagementRequest(
                UserManagementActionType.GetUsers);

            // 3.) Send Request
            UserManagementResponse response =
                userManagementServices.UserManagementHandleRequest(request);

            // 4.) Handle Response
            List <DCO.Objects.UserAccount> coreUserAccounts = response.UserAccountsRetrieved;

            List <DCU.Objects.UserAccount> clientUserAccounts = new List <DCU.Objects.UserAccount>();

            foreach (DCO.Objects.UserAccount coreUserAccount in coreUserAccounts)
            {
                clientUserAccounts.Add(UserAccountConverter.CovertToClientUserAccount(coreUserAccount));
            }

            // Get the logged in user account that was used by the server
            // when handling the request.
            DCU.Objects.UserAccount clientUserAccountLoggedIn =
                UserAccountConverter.CovertToClientUserAccount(response.RequestorUserAccount);

            UserAccountEventArgs userAccountEventArgs =
                createUserAccountEventArgs(
                    actionType,
                    clientUserAccounts,
                    clientUserAccountLoggedIn,
                    response.ResponseErrorMessage);

            // Broadcast to UserAccountEventArgs that update users was triggered.
            EventBus <UserAccountEventArgs> .Broadcast(
                this,
                userAccountEventArgs);
        }
Esempio n. 7
0
        /// <summary>
        /// Edits a User Account
        /// </summary>
        /// <param name="userAccount">User Account to be edited.</param>
        public void EditUser(DCU.Objects.UserAccount userAccount)
        {
            // 1.) Get Service
            IUserManagementServices userManagementServices =
                ComponentManager.GetComponent <IUserManagementServices>();

            // 2.) Create Request
            UserManagementRequest request = UserManagementHelper.CreateUserManagementRequest(
                UserManagementActionType.EditUser,
                UserAccountConverter.CovertToCoreUserAccount(userAccount));

            // 3.) Send Request
            UserManagementResponse response =
                userManagementServices.UserManagementHandleRequest(request);

            // 4.) Handle Response
            if (response.IsRequestSuccessful)
            {
                // Broadcast to UserAccountEventArgs that add was successful.
                UpdateUsers(UserAccountActionType.EditUser);
            }
            else
            {
                // Get the logged in user account that was used by the server
                // when handling the request.
                DCU.Objects.UserAccount clientUserAccountLoggedIn =
                    UserAccountConverter.CovertToClientUserAccount(response.RequestorUserAccount);

                UserAccountEventArgs userAccountEventArgs =
                    createUserAccountEventArgs(
                        UserAccountActionType.EditUserFailed,
                        null,
                        clientUserAccountLoggedIn,
                        response.ResponseErrorMessage);

                // Broadcast to UserAccountEventArgs that add failed.
                EventBus <UserAccountEventArgs> .Broadcast(
                    this,
                    userAccountEventArgs);
            }
        }