public int[] SelectedCityIdsByName(string nameQuery) { if (ShippingCountriesHierarchies.Any()) { return(SelectedIdsForType(TerritoryAdministrativeType.City, nameQuery)); } return(new int[] { }); }
public TerritoryHierarchyPart GetConfiguredHierarchy(string culture = "") { if (string.IsNullOrWhiteSpace(culture)) { culture = _workContextAccessor.GetContext().CurrentCulture; } return(GetFromCache(_hierarchyForCultureBaseCacheKey + culture, () => { var localizedHierarchy = ShippingCountriesHierarchies .FirstOrDefault(thp => // localizable thp.Is <LocalizationPart>() // desired culture && thp.As <LocalizationPart>() .Culture.Culture .Equals(culture, StringComparison.InvariantCultureIgnoreCase)); return localizedHierarchy ?? ShippingCountriesHierarchy; })); }
private int[] SelectedIdsForType(TerritoryAdministrativeType adminType) { var hierarchyIds = ShippingCountriesHierarchies .Select(h => h.Record.Id) .ToArray(); return(_contentManager .Query <TerritoryAdministrativeTypePart, TerritoryAdministrativeTypePartRecord>() .Where(tatpr => tatpr.AdministrativeType == adminType) .Join <TerritoryPartRecord>() .Where(tpr => hierarchyIds .Contains(tpr.Hierarchy.Id)) .List() .Where(tp => tp.Record.TerritoryInternalRecord != null) .Select(tp => tp.Record.TerritoryInternalRecord.Id) .Distinct() .ToArray()); }