示例#1
0
        public override void RefreshValues()
        {
            base.RefreshValues();

            // WORKAROUND IN 1.5.9
            if (_brothel == null)
            {
                _brothel = new CEBrothel(Workshop.Settlement);
            }

            Name = _brothel.Name.ToString();
            WorkshopType workshopType = WorkshopType.Find("pottery_shop");

            WorkshopTypeId = workshopType.StringId;
            Location       = _brothel.Settlement.Name.ToString();
            Income         = (int)(Math.Max(0, _brothel.ProfitMade) / Campaign.Current.Models.ClanFinanceModel.RevenueSmoothenFraction()) * (_brothel.Level + 1);

            IncomeValueText = DetermineIncomeText(Income);
            InputsText      = new TextObject("{=CEBROTHEL0985}Description").ToString();
            OutputsText     = new TextObject("{=CEBROTHEL0994}Notable Prostitutes").ToString();
            ActionList.Clear();
            ItemProperties.Clear();
            PopulateActionList();
            PopulateStatsList();
        }
 private bool CanShowProperties(MetadataViewModelBase obj)
 {
     if (obj == null)
     {
         ItemProperties.Clear();
     }
     return(obj != null);
 }
 private void ShowProperties(MetadataViewModelBase obj)
 {
     ItemProperties.Clear();
     if (obj.Model.IsPropertyLoaded)
     {
         ItemProperties.AddRange(obj.Model.Properties);
     }
 }
        private async void LoadProperties(MetadataViewModelBase obj)
        {
            if (obj.Model.IsPropertyLoaded)
            {
                obj.Root.RefreshProperties(obj);
            }
            await obj.Root.LoadProperties(obj);

            ItemProperties.Clear();
            ItemProperties.AddRange(obj.Model.Properties);
        }
示例#5
0
        private void CatalogsControl_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            switch (e.PropertyName)
            {
            case "Type":
            case "Norm":
            {
                var t = _integrationBase.ApiCore.Catalogs.GetAll($"Type={Type}&Norm={Norm}");

                ItemProperties.Clear();
                CatalogItems.Clear();
                _catalogs.Clear();

                if (t != null && t.Count > 0)
                {
                    foreach (var item in t)
                    {
                        Catalogs.Add(new CatalogGroup
                            {
                                Id          = item.Id,
                                Name        = item.Name,
                                Description = item.Description
                            });
                        if (Type == "CrossSection")
                        {
                            var serviceUrl = $"{_integrationBase.ServerName}/v2/content/crosssectiondefinitions/{item.Id}";
                            try
                            {
                                var cd = BimPlus.LightCaseClient.GenericProxies.RestGet <DtoCrossSectionDefinition>(serviceUrl, _integrationBase.ClientConfiguration);
                                if (cd == null || cd.Shapes?.Count == 0)
                                {
                                    continue;
                                }
                                foreach (var shape in cd.Shapes)
                                {
                                    Catalogs.Add(new CatalogGroup
                                        {
                                            Id          = shape.Id,
                                            Description = shape.Name,
                                            Name        = ""
                                        });
                                }
                            }
                            catch (Exception ex)
                            {
                                Trace.WriteLine(string.Format("Get catalogs: {0}", ex.Message));
                            }
                        }
                    }
                }
                break;
            }

            case "SelectedCatalog":
            {
                var catalog = SelectedCatalog as CatalogGroup;
                if (catalog == null)
                {
                    break;
                }
                var items = _integrationBase.ApiCore.Catalogs.GetAllCatalogItems(catalog.Id);
                ItemProperties.Clear();
                CatalogItems.Clear();
                foreach (var item in items)
                {
                    CatalogItems.Add(new CatalogGroup
                        {
                            Id          = item.Id,
                            Name        = item.Name,
                            Description = item.Description
                        });
                }
                break;
            }

            case "SelectedItem":
            {
                var item = SelectedItem as CatalogGroup;
                if (item == null)
                {
                    break;
                }
                var properties = _integrationBase.ApiCore.Catalogs.GetCatalogItem(item.Id);
                ItemProperties.Clear();
                foreach (var property in properties.Properties)
                {
                    ItemProperties.Add(new CatalogProperty
                        {
                            Id             = property.Key,
                            Name           = ContentAttributes.Find(x => x.Id == property.Key)?.Name ?? property.Key.ToString(),
                            AttributeValue = property.Value
                        });
                }
                break;
            }
            }
            //base.PropertyChanged(sender, e);
        }