private void LoadEntities(IEnumerable <LinkedEntities <WebResource> > results)
        {
            this.lstVwWebResources.Dispatcher.Invoke(() =>
            {
                foreach (var link in results
                         .OrderBy(ent => ent.Entity1.WebResourceType.Value)
                         .ThenBy(ent => ent.Entity1.Name)
                         .ThenBy(ent => ent.Entity1.DisplayName)
                         .ThenBy(ent => ent.Entity2?.Name)
                         .ThenBy(ent => ent.Entity2?.DisplayName)
                         )
                {
                    var item = new EntityViewItem(
                        link.Entity1.Name
                        , link.Entity1.FormattedValues[WebResource.Schema.Attributes.webresourcetype]
                        , link.Entity1.DisplayName
                        , link.Entity2?.DisplayName
                        , link);

                    this._itemsSource.Add(item);
                }

                if (this.lstVwWebResources.Items.Count == 1)
                {
                    this.lstVwWebResources.SelectedItem = this.lstVwWebResources.Items[0];
                }
            });

            ToggleControls(true, Properties.OutputStrings.LoadingWebResourcesCompletedFormat1, results.Count());
        }
        private void ContextMenu_Opened(object sender, RoutedEventArgs e)
        {
            if (!(sender is ContextMenu contextMenu))
            {
                return;
            }

            var items = contextMenu.Items.OfType <Control>();

            ConnectionData connectionData = GetSelectedConnection();

            FillLastSolutionItems(connectionData, items, true, AddToCrmSolutionLast_Click, "contMnAddToSolutionLast");

            EntityViewItem nodeItem = GetItemFromRoutedDataContext <EntityViewItem>(e);

            ActivateControls(items, (nodeItem.SavedQueryVisualization.IsCustomizable?.Value).GetValueOrDefault(true), "controlChangeEntityAttribute");

            bool hasEntity = nodeItem.SavedQueryVisualization.PrimaryEntityTypeCode.IsValidEntityName();

            ActivateControls(items, hasEntity, "contMnEntity");

            FillLastSolutionItems(connectionData, items, hasEntity, AddToCrmSolutionLastIncludeSubcomponents_Click, "contMnAddEntityToSolutionLastIncludeSubcomponents");

            FillLastSolutionItems(connectionData, items, hasEntity, AddToCrmSolutionLastDoNotIncludeSubcomponents_Click, "contMnAddEntityToSolutionLastDoNotIncludeSubcomponents");

            FillLastSolutionItems(connectionData, items, hasEntity, AddToCrmSolutionLastIncludeAsShellOnly_Click, "contMnAddEntityToSolutionLastIncludeAsShellOnly");

            ActivateControls(items, hasEntity && connectionData.LastSelectedSolutionsUniqueName != null && connectionData.LastSelectedSolutionsUniqueName.Any(), "contMnAddEntityToSolutionLast");
        }
예제 #3
0
    private static SkinModelInfo GetSkinInfoFromEntityViewItem(EntityViewItem ite)
    {
        SkinModelInfo inf = new SkinModelInfo();

        inf.nSkinID    = ite.nSkinID;
        inf.strPatch   = ite.szModelPath;
        inf.SkinType   = (ENTITY_TYPE)ite.EntityType;
        inf.fSkinScale = ite.fSkinScale;
        return(inf);
    }
예제 #4
0
    /// <summary>
    /// 创建实体
    /// </summary>
    /// <param name="id">实体ID</param>
    /// <param name="SkinModelInfo">模型信息</param>
    /// <returns></returns>
    public static ENTITY_ID entry_createEntry(EntityViewItem item)
    {
        if (item.EntityType <= (int)ENTITY_TYPE.TYPE_ENTITY || item.EntityType >= (int)ENTITY_TYPE.TYPE_MAX)
        {
            Trace.Error("创建实体时实体类型不合法! type=" + item.EntityType);
            return(0);
        }


        //已经有了,不创建
        EntityView objev = EntityFactory.Instance.m_entityContainer.Get(item.EntityID);

        if (null != objev)
        {
            return(item.EntityID);
        }

        objev = new EntityView((ENTITY_ID)item.EntityID, (ENTITY_TYPE)item.EntityType);
        if (LogicDataCenter.pkDataManager.BIsPK && item.EntityID == EntityFactory.MainHeroView.StateMachine.PK_targetID)
        {
            item.byCampFlag = (byte)CampFlag.CampFlag_Enemy;
        }
        objev.createinfo = item;

        bool isHero = item.byIsHero == 1;

        //主角不管
        if (!isHero)
        {
            m_NeedToLoadEntity.Add(item.EntityID);
        }

        EntityFactory.Instance.m_entityContainer.Add(objev);

        // 设置主角
        if ((ENTITY_TYPE)item.EntityType == ENTITY_TYPE.TYPE_PLAYER_ROLE)
        {
            EntityFactory.Instance.ActorNum++;

            if (isHero)
            {
                Trace.LogWarning("设置了主角ID, id=" + item.EntityID.ToString());
                MainHeroID = item.EntityID;
            }
        }
        else if ((ENTITY_TYPE)item.EntityType == ENTITY_TYPE.TYPE_MONSTER)
        {
            EntityFactory.Instance.MonsterNum++;
        }
        LogicDataCenter.warMinimapDataManager.AddObject(objev);
        LogicDataCenter.warOBDataManager.AddObject(objev);
        //Trace.Log(string.Format("==================entry_createEntry===================" + item.EntityID.ToString()));
        EntityFactory.Instance.EntityNum++;
        return(item.EntityID);
    }
예제 #5
0
        private void lstVwEntities_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            if (e.ChangedButton == MouseButton.Left)
            {
                EntityViewItem item = GetItemFromRoutedDataContext <EntityViewItem>(e);

                if (item != null)
                {
                    ExecuteAction(item.Organization, PerformExportMouseDoubleClick);
                }
            }
        }
예제 #6
0
    /// <summary>
    /// 加载皮肤
    /// </summary>
    /// <param name="ite">实体信息</param>
    /// <returns></returns>
    public static bool LoadSkin(EntityViewItem ite)
    {
        SkinModelInfo info = GetSkinInfoFromEntityViewItem(ite);

        if (m_SkinConfigMap.ContainsKey(info.nSkinID))
        {
            Trace.LogWarning("加载皮肤模型重复,ID:" + info.nSkinID + ",路径:" + info.strPatch + ",请请[--策划--]删除重复的ID");
            return(true);
        }
        m_SkinConfigMap.Add(info.nSkinID, info);
        return(true);
    }
예제 #7
0
        private async void lstVwEntities_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            if (e.ChangedButton == MouseButton.Left)
            {
                EntityViewItem item = GetItemFromRoutedDataContext <EntityViewItem>(e);

                if (item != null)
                {
                    await ExecuteAction(item.Link, PerformShowingDifference);
                }
            }
        }
        private async void lstVwMessages_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            if (e.ChangedButton == MouseButton.Left)
            {
                EntityViewItem item = GetItemFromRoutedDataContext <EntityViewItem>(e);

                if (item != null)
                {
                    await ExecuteAction(item.SdkMessage.Id, item.SdkMessage.Name, PerformExportMouseDoubleClick);
                }
            }
        }
        private async void hyperlinkPresentationDescription_Click(object sender, RoutedEventArgs e)
        {
            EntityViewItem item = GetItemFromRoutedDataContext <EntityViewItem>(e);

            if (item == null)
            {
                return;
            }

            var entity = item.SavedQueryVisualization;

            await ExecuteActionEntity(entity.Id, entity.PrimaryEntityTypeCode, entity.Name, SavedQueryVisualization.Schema.Attributes.presentationdescription, SavedQueryVisualization.Schema.Headers.presentationdescription, PerformExportXmlToFile);
        }
        private async void hyperlinkClientJson_Click(object sender, RoutedEventArgs e)
        {
            EntityViewItem item = GetItemFromRoutedDataContext <EntityViewItem>(e);

            if (item == null)
            {
                return;
            }

            var entity = item.CustomControl;

            await ExecuteActionEntityAsync(entity.Id, entity.Name, CustomControl.Schema.Attributes.clientjson, CustomControl.Schema.Headers.clientjson, FileExtension.json, PerformExportXmlToFileAsync);
        }
        private async void hyperlinkBodyBinary_Click(object sender, RoutedEventArgs e)
        {
            EntityViewItem item = GetItemFromRoutedDataContext<EntityViewItem>(e);

            if (item == null)
            {
                return;
            }

            var entity = item.Report;

            await ExecuteActionEntity(entity.Id, entity.Name, entity.FileName, Report.Schema.Attributes.bodybinary, Report.Schema.Headers.bodybinary, PerformExportBodyBinary);
        }
        private async void hyperlinkFormattedResults_Click(object sender, RoutedEventArgs e)
        {
            EntityViewItem item = GetItemFromRoutedDataContext <EntityViewItem>(e);

            if (item == null)
            {
                return;
            }

            var entity = item.ImportJob;

            await ExecuteAction(entity.Id, entity.SolutionName, entity.CreatedOn, PerformExportFormattedResults);
        }
        private async void hyperlinkData_Click(object sender, RoutedEventArgs e)
        {
            EntityViewItem item = GetItemFromRoutedDataContext <EntityViewItem>(e);

            if (item == null)
            {
                return;
            }

            var entity = item.ImportJob;

            await ExecuteActionEntity(entity.Id, entity.SolutionName, entity.CreatedOn, ImportJob.Schema.Attributes.data, ImportJob.Schema.Headers.data, PerformExportXmlToFile);
        }
예제 #14
0
        private void lstVwEntities_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            if (e.ChangedButton == MouseButton.Left)
            {
                EntityViewItem item = GetItemFromRoutedDataContext <EntityViewItem>(e);

                if (item != null)
                {
                    this.SelectedReportId = item.Report.Id;

                    this.DialogResult = true;

                    this.Close();
                }
            }
        }
        private async void lstVwEntities_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            if (e.ChangedButton == MouseButton.Left)
            {
                EntityViewItem item = GetItemFromRoutedDataContext <EntityViewItem>(e);

                if (item != null)
                {
                    var service = await GetService();

                    if (service != null)
                    {
                        service.UrlGenerator.OpenSolutionComponentInWeb(ComponentType.CustomControl, item.CustomControl.Id);
                    }
                }
            }
        }
예제 #16
0
        private async void lstVwEntities_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            if (e.ChangedButton == MouseButton.Left)
            {
                EntityViewItem item = GetItemFromRoutedDataContext <EntityViewItem>(e);

                if (item != null)
                {
                    var service = await GetService();

                    if (service != null)
                    {
                        service.ConnectionData.OpenEntityInstanceInWeb(TeamTemplate.EntityLogicalName, item.TeamTemplate.Id);
                    }
                }
            }
        }
        private void LoadReports(IEnumerable <Report> results)
        {
            this.lstVwReports.Dispatcher.Invoke(() =>
            {
                foreach (var report in results)
                {
                    var item = new EntityViewItem(report);

                    this._itemsSource.Add(item);
                }

                if (this.lstVwReports.Items.Count == 1)
                {
                    this.lstVwReports.SelectedItem = this.lstVwReports.Items[0];
                }
            });
        }
예제 #18
0
        private void LoadPluginAssemblies(IEnumerable <PluginAssembly> results)
        {
            this.lstVwPluginAssemblies.Dispatcher.Invoke(() =>
            {
                foreach (var entity in results.OrderBy(ent => ent.Name))
                {
                    var item = new EntityViewItem(entity);

                    _itemsSource.Add(item);
                }

                if (this.lstVwPluginAssemblies.Items.Count == 1)
                {
                    this.lstVwPluginAssemblies.SelectedItem = this.lstVwPluginAssemblies.Items[0];
                }
            });
        }
        private void LoadImportJobs(IEnumerable <ImportJob> results)
        {
            this.lstVwImportJobs.Dispatcher.Invoke(() =>
            {
                foreach (var entity in results)
                {
                    var item = new EntityViewItem(entity);

                    this._itemsSource.Add(item);
                }

                if (this.lstVwImportJobs.Items.Count == 1)
                {
                    this.lstVwImportJobs.SelectedItem = this.lstVwImportJobs.Items[0];
                }
            });
        }
예제 #20
0
        private void LoadSavedOrganizations(IEnumerable <Organization> results)
        {
            this.lstVwOrganizations.Dispatcher.Invoke(() =>
            {
                foreach (var entity in results.OrderBy(ent => ent.Name))
                {
                    var item = new EntityViewItem(entity);

                    this._itemsSource.Add(item);
                }

                if (this.lstVwOrganizations.Items.Count == 1)
                {
                    this.lstVwOrganizations.SelectedItem = this.lstVwOrganizations.Items[0];
                }
            });
        }
예제 #21
0
        private void LoadEntities(IEnumerable <LinkedEntities <PluginAssembly> > results)
        {
            this.lstVwPluginAssemblies.Dispatcher.Invoke(() =>
            {
                foreach (var link in results.OrderBy(ent => ent.Entity1.Name))
                {
                    var item = new EntityViewItem(link);

                    this._itemsSource.Add(item);
                }

                if (this.lstVwPluginAssemblies.Items.Count == 1)
                {
                    this.lstVwPluginAssemblies.SelectedItem = this.lstVwPluginAssemblies.Items[0];
                }
            });

            ToggleControls(true, Properties.WindowStatusStrings.LoadingPluginAssembliesCompletedFormat1, results.Count());
        }
        private void LoadReports(IEnumerable <Report> results)
        {
            this.lstVwReports.Dispatcher.Invoke(() =>
            {
                foreach (var report in results)
                {
                    var item = new EntityViewItem(report);

                    _itemsSource.Add(item);
                }

                if (this.lstVwReports.Items.Count == 1)
                {
                    this.lstVwReports.SelectedItem = this.lstVwReports.Items[0];
                }
            });

            ToggleControls(true, Properties.WindowStatusStrings.LoadingReportsCompletedFormat1, results.Count());
        }
예제 #23
0
        private void LoadCustomControls(IEnumerable <CustomControl> results)
        {
            this.lstVwCustomControls.Dispatcher.Invoke(() =>
            {
                foreach (var entity in results
                         .OrderBy(ent => ent.Name)
                         .ThenBy(ent => ent.CompatibleDataTypes)
                         )
                {
                    var item = new EntityViewItem(entity);

                    this._itemsSource.Add(item);
                }

                if (this.lstVwCustomControls.Items.Count == 1)
                {
                    this.lstVwCustomControls.SelectedItem = this.lstVwCustomControls.Items[0];
                }
            });
        }
        private void LoadSdkMessages(IEnumerable <SdkMessage> results)
        {
            this.lstVwMessages.Dispatcher.Invoke(() =>
            {
                foreach (var entity in results
                         .OrderBy(ent => ent.CategoryName, MessageComparer.Comparer)
                         .ThenBy(ent => ent.Name, MessageComparer.Comparer)
                         )
                {
                    var item = new EntityViewItem(entity);

                    _itemsSource.Add(item);
                }

                if (this.lstVwMessages.Items.Count == 1)
                {
                    this.lstVwMessages.SelectedItem = this.lstVwMessages.Items[0];
                }
            });
        }
        private void LoadSystemCharts(IEnumerable <SavedQueryVisualization> results)
        {
            this.lstVwCharts.Dispatcher.Invoke(() =>
            {
                foreach (var entity in results
                         .OrderBy(ent => ent.PrimaryEntityTypeCode)
                         .ThenBy(ent => ent.Name)
                         )
                {
                    var item = new EntityViewItem(entity);

                    this._itemsSource.Add(item);
                }

                if (this.lstVwCharts.Items.Count == 1)
                {
                    this.lstVwCharts.SelectedItem = this.lstVwCharts.Items[0];
                }
            });
        }
        private async void hyperlinkPublishEntity_Click(object sender, RoutedEventArgs e)
        {
            EntityViewItem item = GetItemFromRoutedDataContext <EntityViewItem>(e);

            if (item == null)
            {
                return;
            }

            var entity = item.SavedQueryVisualization;

            if (entity == null ||
                !entity.PrimaryEntityTypeCode.IsValidEntityName()
                )
            {
                return;
            }

            await ExecuteAction(entity.Id, entity.PrimaryEntityTypeCode, entity.Name, PerformPublishEntityAsync);
        }
        private void LoadSiteMaps(IEnumerable <SiteMap> results)
        {
            this.lstVwSiteMaps.Dispatcher.Invoke(() =>
            {
                foreach (var entity in results
                         .OrderBy(ent => ent.SiteMapNameUnique)
                         .ThenBy(ent => ent.SiteMapName)
                         .ThenBy(ent => ent.Id)
                         )
                {
                    var item = new EntityViewItem(entity);

                    this._itemsSource.Add(item);
                }

                if (this.lstVwSiteMaps.Items.Count == 1)
                {
                    this.lstVwSiteMaps.SelectedItem = this.lstVwSiteMaps.Items[0];
                }
            });
        }
        private void ContextMenu_Opened(object sender, RoutedEventArgs e)
        {
            if (!(sender is ContextMenu contextMenu))
            {
                return;
            }

            var items = contextMenu.Items.OfType<Control>();

            ConnectionData connectionData = null;

            cmBCurrentConnection.Dispatcher.Invoke(() =>
            {
                connectionData = cmBCurrentConnection.SelectedItem as ConnectionData;
            });

            FillLastSolutionItems(connectionData, items, true, AddToCrmSolutionLast_Click, "contMnAddToSolutionLast");

            EntityViewItem nodeItem = GetItemFromRoutedDataContext<EntityViewItem>(e);

            ActivateControls(items, (nodeItem.Report.IsCustomizable?.Value).GetValueOrDefault(true), "controlChangeEntityAttribute");
        }
        private void LoadEntities(IEnumerable <LinkedEntities <SavedQueryVisualization> > results)
        {
            this.lstVwCharts.Dispatcher.Invoke(() =>
            {
                foreach (var link in results
                         .OrderBy(ent => ent.Entity1.PrimaryEntityTypeCode)
                         .ThenBy(ent => ent.Entity1.Name)
                         .ThenBy(ent => ent.Entity2?.Name)
                         )
                {
                    var item = new EntityViewItem(link.Entity1.PrimaryEntityTypeCode, link.Entity1.Name, link.Entity2?.Name, link);

                    this._itemsSource.Add(item);
                }

                if (this.lstVwCharts.Items.Count == 1)
                {
                    this.lstVwCharts.SelectedItem = this.lstVwCharts.Items[0];
                }
            });

            ToggleControls(true, Properties.OutputStrings.LoadingChartsCompletedFormat1, results.Count());
        }
        private void ContextMenu_Opened(object sender, RoutedEventArgs e)
        {
            if (!(sender is ContextMenu contextMenu))
            {
                return;
            }

            EntityViewItem linkedEntityMetadata = GetItemFromRoutedDataContext <EntityViewItem>(e);

            var hasTwoEntities = linkedEntityMetadata != null &&
                                 linkedEntityMetadata.Link != null &&
                                 linkedEntityMetadata.Link.Entity1 != null &&
                                 linkedEntityMetadata.Link.Entity2 != null;

            var hasSecondEntity = linkedEntityMetadata != null &&
                                  linkedEntityMetadata.Link != null &&
                                  linkedEntityMetadata.Link.Entity2 != null;

            var items = contextMenu.Items.OfType <Control>();

            ActivateControls(items, hasTwoEntities, "menuContextDifference", "miCompareOrganizations");

            ActivateControls(items, hasSecondEntity, "menuContextConnection2", "miExplorers2");
        }