public void SelectAndClose(UserNode selectedNode)
        {
            if (selectedNode != null)
            {
                try
                {
                    UserSettingsChangedEventArgs args = new UserSettingsChangedEventArgs();

                    EventTopic userSettingsTopic = WorkItem.EventTopics.Get(Imi.SupplyChain.UX.UXEventTopicNames.UserSettingsChangedTopic);

                    if (userSettingsTopic != null)
                    {
                        userSettingsTopic.Fire(this, args, WorkItem, PublicationScope.Descendants);

                        if (args.OpenDialogs.Count > 0)
                        {
                            if (ShellInteractionService.ShowMessageBox(this.View.Title, string.Format(LocalResources.ChangeUserSettings_CloseAll, string.Join("\n", args.OpenDialogs)), null, MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.No)
                            {
                                Close();
                                return;
                            }
                        }
                    }

                    ShellInteractionService.ShowProgress();

                    UserSessionService.NodeId = selectedNode.NodeIdentity;

                    ModifyUserDetailsParameters modifyUserDetailsParameters = new ModifyUserDetailsParameters();
                    modifyUserDetailsParameters.UserIdentity       = UserSessionService.UserId;
                    modifyUserDetailsParameters.LastLogonTime      = DateTime.Now;
                    modifyUserDetailsParameters.RecentNodeIdentity = selectedNode.NodeIdentity;

                    ModifyUserDetailsRequest serviceRequest = new ModifyUserDetailsRequest();
                    serviceRequest.ModifyUserDetailsParameters = modifyUserDetailsParameters;
                    Service.ModifyUserDetails(serviceRequest);

                    if (userSettingsTopic != null)
                    {
                        UserSettingsChangedEventArgs userSettingsChangedEventArgs = new UserSettingsChangedEventArgs(true);
                        userSettingsTopic.Fire(this, userSettingsChangedEventArgs, WorkItem, PublicationScope.Descendants);
                    }

                    // Set the selected Warehouse and ClientId on statusrow in container
                    ShellInteractionService.ContextInfo = string.Format(LocalResources.STATUSBAR_GATEWAYTMS_NODE,
                                                                        selectedNode.NodeIdentity,
                                                                        selectedNode.NodeName);
                    Close();
                }
                catch (Exception ex)
                {
                    ShellInteractionService.HideProgress();
                    ShellInteractionService.ShowMessageBox(StringResources.ActionException_Text, ex.Message, ex.ToString(), MessageBoxButton.Ok, MessageBoxImage.Error);
                }
                finally
                {
                    ShellInteractionService.HideProgress();
                }
            }
        }
        public void ModifyUserDetails(ModifyUserDetailsRequest request)
        {
            AuthenticationActions.ModifyUserDetailsAction action = PolicyInjection.Create <AuthenticationActions.ModifyUserDetailsAction>();

            action.Execute(
                Translators.ModifyUserDetailsTranslator.TranslateFromServiceToBusiness(request.ModifyUserDetailsParameters));
        }
示例#3
0
        public void ModifyUserDetails(ModifyUserDetailsRequest request)
        {
            AuthenticationServiceAdapter adapter = PolicyInjection.Create <AuthenticationServiceAdapter>();

            adapter.ModifyUserDetails(request);
        }