示例#1
0
        public JsonResult GetChildren(int territoryId = 0)
        {
            var parent = _addressConfigurationService
                         .SingleTerritory(territoryId);

            if (parent == null)
            {
                // this is an error
                return(null);
            }
            else
            {
                return(Json(new {
                    Success = true,
                    Territories = parent.Children
                                  .Select(ci => {
                        var tp = ci.As <TerritoryPart>();
                        var id = tp.Record.TerritoryInternalRecord.Id;
                        var adminTypePart = tp.As <TerritoryAdministrativeTypePart>();
                        var adminType = TerritoryAdministrativeType.None;
                        if (adminTypePart != null)
                        {
                            adminType = adminTypePart.AdministrativeType;
                        }
                        var isCountry = adminType == TerritoryAdministrativeType.Country;
                        var isProvince = adminType == TerritoryAdministrativeType.Province;
                        var isCity = adminType == TerritoryAdministrativeType.City;
                        var isNone = adminType == TerritoryAdministrativeType.None;
                        var recordsChildrenCount = _territoryPartRecordService.GetTerritoriesChildCount(tp);
                        return new {
                            Id = id,
                            DisplayText = _contentManager
                                          .GetItemMetadata(ci).DisplayText
                                          + " " + T("(Administrative type: {0})", administrativeTypeNames[adminType]),
                            IsCountry = isCountry,
                            IsProvince = isProvince,
                            IsCity = isCity,
                            IsNone = isNone,
                            HasChildren = recordsChildrenCount > 0 ? true : false,
                            ChildrenCount = recordsChildrenCount
                        };
                    })
                }));
            }
        }
示例#2
0
        public AddressConfigurationTerritoryViewModel(
            TerritoryPart part,
            IEnumerable <int> countries,
            IEnumerable <int> provinces,
            IEnumerable <int> cities,
            ITerritoryPartRecordService _territoryPartRecordService) : this()
        {
            _contentManager = part.ContentItem.ContentManager;

            Territory   = part;
            TerritoryId = part.Record.TerritoryInternalRecord.Id;

            var adminTypePart = part.As <TerritoryAdministrativeTypePart>();

            if (adminTypePart != null)
            {
                AdministrativeType = adminTypePart.AdministrativeType;
            }
            else
            {
                AdministrativeType = TerritoryAdministrativeType.None;
            }

            IsCountry  = AdministrativeType == TerritoryAdministrativeType.Country;
            IsProvince = AdministrativeType == TerritoryAdministrativeType.Province;
            IsCity     = AdministrativeType == TerritoryAdministrativeType.City;

            DisplayText = _contentManager
                          .GetItemMetadata(part)
                          .DisplayText;
            if (string.IsNullOrWhiteSpace(DisplayText))
            {
                DisplayText = part.Record.TerritoryInternalRecord.Name;
            }

            ChildrenCount = _territoryPartRecordService.GetTerritoriesChildCount(part); //part.Record.Children.Count();
        }