コード例 #1
0
        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();
                }
            }
        }
コード例 #2
0
        public void OnChooseDefaultWarehouseDialog(object sender, EventArgs args)
        {
            try
            {
                IChooseDefaultWarehouseView chooseWarehouse = WorkItem.SmartParts.AddNew <ChooseDefaultWarehouseView>();

                chooseWarehouse.hideClientId = true;

                if (chooseWarehouse.ShowDialog() == true)
                {
                    _activityMonitorUserSessionService.ClientId    = chooseWarehouse.SelectedClientId;
                    _activityMonitorUserSessionService.WarehouseId = chooseWarehouse.SelectedWarehouseId;

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

                    if (userSettingsTopic != null)
                    {
                        UserSettingsChangedEventArgs userSettingsChangedEventArgs = new UserSettingsChangedEventArgs(true);
                        userSettingsTopic.Fire(this, userSettingsChangedEventArgs, WorkItem, PublicationScope.Descendants);
                    }
                }
            }
            finally
            {
                if ((_activityMonitorUserSessionService.ClientId == null) || (_activityMonitorUserSessionService.WarehouseId == null))
                {
                    ShellInteractionService.ShowMessageBox(LocalResources.ChangeUserSettings_Caption, LocalResources.ChangeUserSettings_Message, null, MessageBoxButton.Ok, MessageBoxImage.Warning);
                }
            }
        }
        public void SelectAndClose(Imi.SupplyChain.OutputManager.Services.Initialization.DataContracts.OutputManager selectedOutputManager)
        {
            if (selectedOutputManager != 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(false);
                                return;
                            }
                        }
                    }



                    ShellInteractionService.ShowProgress();

                    // Get the application
                    IShellModule module = WorkItem.Items.FindByType <IShellModule>().First();
                    OutputManagerSessionService.OutputManagerId = selectedOutputManager.OutputManagerIdentity;

                    // Set the selected Output Manager
                    ShellInteractionService.ContextInfo = string.Format(LocalResources.STATUSBAR_OM_CLIENT,
                                                                        selectedOutputManager.OutputManagerIdentity,
                                                                        selectedOutputManager.OutputManagerName);
                    Close(true);
                }
                catch (Exception ex)
                {
                    ShellInteractionService.HideProgress();
                    ShellInteractionService.ShowMessageBox(StringResources.ActionException_Text, ex.Message, ex.ToString(), MessageBoxButton.Ok, MessageBoxImage.Error);
                }
                finally
                {
                    ShellInteractionService.HideProgress();
                }
            }
        }
コード例 #4
0
        public void OnChooseDefaultOutputManagerDialog(object sender, EventArgs args)
        {
            try
            {
                IChooseDefaultOutputManagerView chooseOutputManager = WorkItem.SmartParts.AddNew <ChooseDefaultOutputManagerView>();

                UXSettingsService settingsServiceLoad = WorkItem.Items.AddNew <UXSettingsService>("IChooseDefaultOutputManagerView");
                settingsServiceLoad.ContainerName = "IChooseDefaultOutputManagerView";
                settingsServiceLoad.AddProvider(chooseOutputManager, new ChooseDefaultOutputManagerSettingsProvider());
                settingsServiceLoad.LoadSettings();
                WorkItem.Items.Remove(settingsServiceLoad);

                if (chooseOutputManager.ShowDialog() == true)
                {
                    _OutputManagerUserSessionService.OutputManagerId = chooseOutputManager.SelectedOutputManagerId;

                    UXSettingsService settingsService = WorkItem.Items.AddNew <UXSettingsService>("IChooseDefaultOutputManagerView");
                    settingsService.ContainerName = "IChooseDefaultOutputManagerView";
                    settingsService.AddProvider(chooseOutputManager, new ChooseDefaultOutputManagerSettingsProvider());
                    settingsService.SaveSettings();
                    WorkItem.Items.Remove(settingsService);


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

                    if (userSettingsTopic != null)
                    {
                        UserSettingsChangedEventArgs userSettingsChangedEventArgs = new UserSettingsChangedEventArgs(true);
                        userSettingsTopic.Fire(this, userSettingsChangedEventArgs, WorkItem, PublicationScope.Descendants);
                    }
                }
            }
            finally
            {
                if (_OutputManagerUserSessionService.OutputManagerId == null)
                {
                    ShellInteractionService.ShowMessageBox(LocalResources.ChangeUserSettings_Caption, LocalResources.ChangeUserSettings_Message, null, Imi.SupplyChain.UX.Infrastructure.MessageBoxButton.Ok, Imi.SupplyChain.UX.Infrastructure.MessageBoxImage.Warning);
                }
            }
        }
コード例 #5
0
        public void SelectAndClose(UserWarehouse selectedWarehouse, UserCompany selectedCompany)
        {
            if ((selectedWarehouse != null) && (selectedCompany != 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(false);
                                return;
                            }
                        }
                    }

                    ShellInteractionService.ShowProgress();

                    // Get the application
                    IShellModule module = WorkItem.Items.FindByType <IShellModule>().First();

                    LogonParameters logonParameters = new LogonParameters();
                    logonParameters.UserIdentity        = UserSessionService.UserId;
                    logonParameters.CompanyIdentity     = selectedCompany.CompanyIdentity;
                    logonParameters.WarehouseIdentity   = selectedCompany.WarehouseIdentity;
                    logonParameters.TerminalIdentity    = UserSessionService.TerminalId;
                    logonParameters.ApplicationIdentity = module.Id;

                    LogonRequest logonRequest = new LogonRequest();

                    logonRequest.LogonParameters = logonParameters;

                    LogonResponse response = Service.Logon(logonRequest);

                    // Set the selected Warehouse and ClientId on statusrow in container
                    ShellInteractionService.ContextInfo = string.Format(LocalResources.STATUSBAR_WH_CLIENT,
                                                                        selectedWarehouse.WarehouseIdentity,
                                                                        selectedWarehouse.WarehouseName,
                                                                        selectedCompany.CompanyIdentity,
                                                                        selectedCompany.CompanyName);
                    Close(true);
                }
                catch (Exception ex)
                {
                    ShellInteractionService.HideProgress();
                    ShellInteractionService.ShowMessageBox(StringResources.ActionException_Text, ex.Message, ex.ToString(), MessageBoxButton.Ok, MessageBoxImage.Error);
                }
                finally
                {
                    ShellInteractionService.HideProgress();
                }
            }
        }