コード例 #1
0
        private async Task ShowExistingMessageFilters()
        {
            if (!this.IsControlsEnabled)
            {
                return;
            }

            ConnectionData connectionData = GetSelectedConnection();

            ToggleControls(connectionData, false, Properties.OutputStrings.LoadingSdkMessageFilter);

            string entityName  = string.Empty;
            string messageName = string.Empty;

            this.Dispatcher.Invoke(() =>
            {
                this._itemsSource.Clear();

                entityName  = cmBEntityName.Text?.Trim();
                messageName = txtBMessageFilter.Text.Trim();
            });

            IEnumerable <SdkMessageFilter> list = Enumerable.Empty <SdkMessageFilter>();

            try
            {
                var service = await GetService();

                if (service != null)
                {
                    var repository = new SdkMessageFilterRepository(service);

                    list = await repository.GetAllSdkMessageFiltersWithMessageAsync(messageName, entityName
                                                                                    , new ColumnSet
                                                                                    (
                                                                                        SdkMessageFilter.Schema.Attributes.primaryobjecttypecode
                                                                                        , SdkMessageFilter.Schema.Attributes.secondaryobjecttypecode
                                                                                        , SdkMessageFilter.Schema.Attributes.availability
                                                                                        , SdkMessageFilter.Schema.Attributes.customizationlevel
                                                                                        , SdkMessageFilter.Schema.Attributes.ismanaged
                                                                                        , SdkMessageFilter.Schema.Attributes.workflowsdkstepenabled
                                                                                        , SdkMessageFilter.Schema.Attributes.isvisible
                                                                                        , SdkMessageFilter.Schema.Attributes.iscustomprocessingstepallowed
                                                                                        , SdkMessageFilter.Schema.Attributes.restrictionlevel
                                                                                        , SdkMessageFilter.Schema.Attributes.sdkmessageid
                                                                                    )
                                                                                    );
                }
            }
            catch (Exception ex)
            {
                this._iWriteToOutput.WriteErrorToOutput(connectionData, ex);
            }

            LoadSdkMessageFilters(list);

            ToggleControls(connectionData, true, Properties.OutputStrings.LoadingSdkMessageFilterCompletedFormat1, list.Count());
        }
        private async Task ShowExistingMessages()
        {
            if (!this.IsControlsEnabled)
            {
                return;
            }

            ConnectionData connectionData = GetSelectedConnection();

            ToggleControls(connectionData, false, Properties.OutputStrings.LoadingSdkMessage);

            string entityName  = string.Empty;
            string messageName = string.Empty;

            this.Dispatcher.Invoke(() =>
            {
                this._messageTree.Clear();

                entityName  = cmBEntityName.Text?.Trim();
                messageName = txtBMessageFilter.Text.Trim();
            });

            IEnumerable <SdkMessageFilter> search = Enumerable.Empty <SdkMessageFilter>();

            try
            {
                var service = await GetService();

                if (service != null)
                {
                    var repository = new SdkMessageFilterRepository(service);

                    search = await repository.GetAllSdkMessageFiltersWithMessageAsync(messageName, entityName
                                                                                      , new ColumnSet
                                                                                      (
                                                                                          SdkMessageFilter.Schema.EntityPrimaryIdAttribute
                                                                                          , SdkMessageFilter.Schema.Attributes.primaryobjecttypecode
                                                                                          , SdkMessageFilter.Schema.Attributes.secondaryobjecttypecode
                                                                                          , SdkMessageFilter.Schema.Attributes.sdkmessageid
                                                                                      )
                                                                                      );
                }
            }
            catch (Exception ex)
            {
                this._iWriteToOutput.WriteErrorToOutput(connectionData, ex);
            }

            if (search != null)
            {
                this.trVMessageTree.Dispatcher.Invoke(() =>
                {
                    this.trVMessageTree.BeginInit();
                });

                switch (_currentView)
                {
                case View.ByMessage:
                    FillTreeByMessage(search);
                    break;

                case View.ByEntity:
                default:
                    FillTreeByEntity(search);
                    break;
                }

                ExpandNodes(_messageTree);

                this.trVMessageTree.Dispatcher.Invoke(() =>
                {
                    this.trVMessageTree.EndInit();
                });
            }

            ToggleControls(connectionData, true, Properties.OutputStrings.LoadingSdkMessageCompleted);
        }