public Category(EkCarTypeEnum carType) { CarType = carType; Type = CategoryTypeEnum.CarGroup; Id = carType.ToString(); switch (carType) { case EkCarTypeEnum.Car: Name = "Легковые"; break; case EkCarTypeEnum.Truck: Name = "Грузовые"; break; case EkCarTypeEnum.Bus: Name = "Автобусы"; break; case EkCarTypeEnum.Special: Name = "Спецтехника"; break; case EkCarTypeEnum.Moto: Name = "Мототехника"; break; default: throw new ArgumentOutOfRangeException(nameof(carType), carType, null); } IsGroup = true; }
public Category(EkCarTypeEnum carType, EkCarManufacturer carManufacturer) { Assure.ArgumentNotNull(carManufacturer, nameof(carManufacturer)); CarManufacturer = carManufacturer; Type = CategoryTypeEnum.CarManufacturer; Id = $"{carType}_{carManufacturer.Id}"; Name = string.IsNullOrEmpty(carManufacturer.DisplayName) ? carManufacturer.Name : carManufacturer.DisplayName; IsGroup = true; }
private static EkCarManufacturer[] GetManufacturers(EkCarTypeEnum carType, ModelRecord[] records, Dictionary <string, int> manufacturerIds) { var popularBrands = File.ReadAllLines($"{carType}Brands.txt") .Where(x => !string.IsNullOrWhiteSpace(x)) .ToHashSet(); return(records .GroupBy(x => x.BrandName) .Where(x => popularBrands.Contains(x.Key)) .Select(x => new EkCarManufacturer() { Id = manufacturerIds[x.Key], Name = x.Key, CarModels = GetCarModels(x.ToArray()) }) .OrderBy(x => x.Name) .ToArray()); }