public static void Invoke() { var selectDialog = new GenericSelectEntitiesDialog <TransportSystem>( "Выберите транспортную систему", TransportSystem.PropertyMatcher(), App.DataBase.GetCollection <TransportSystem>().FindAll()); if (selectDialog.Selected == null) { return; } _selectedSystem = selectDialog.Selected[0]; _availableRoadTypes = App.DataBase.GetCollection <RoadTypes>().FindOne(ct => ct.IsPrimary); _idToNameCitiesMap = App.DataBase.GetCitiesOfTransportSystem(_selectedSystem) .ToDictionary(c => c.Id, c => c.Name); _nameToIdCitiesMap = _idToNameCitiesMap .ToDictionary(kv => kv.Value, kv => kv.Key); _dialog = new GenericEntityDialog <Road>() { Title = "Маршруты", ListTitle = "Доступные маршруты", OpenAddNewItemWindowButtonTitle = "Открыть окно для добавления маршрута", AddNewItemWindowTitle = "Добавить маршрут", UpdateItemWindowTitle = "Обновить маршрут", AddItemFunction = AddRoad, UpdateItemFunction = UpdateRoad, RemoveItemFunction = RemoveRoad, UpdateCollectionFunction = UpdateCollection }; _dialog.AddColumns(Road.PropertyMatcher(_idToNameCitiesMap)); InitFromCityProperty(); InitToCityProperty(); InitLengthProperty(); InitCostProperty(); InitTimeProperty(); InitRoadTypeProperty(); InitTimeTableProperty(); UpdateCollection(); _dialog.ShowDialog(); }
// init methods private void InitTransportSystemsProperty() { _transportSystemsControl = new GenericTableRowControl <TransportSystem>() { TitleValue = "Транспортные системы", TitleToolTip = "Представляет собой набор транпортных систем по которым будет работать алгоритм", OnAdd = alreadyUsedTransportSystems => { var dialog = new GenericSelectEntitiesDialog <TransportSystem>( "Выберите транспортные системы учавствующие в работе алгоритма", TransportSystem.PropertyMatcher(), _availableTransportSystems.Where(ts => !alreadyUsedTransportSystems.Contains(ts))); return(dialog.Selected); }, Value = _config.TransportSystems }; _transportSystemsControl.AddColumns(TransportSystem.PropertyMatcher()); PropertiesPanelLeft.Children.Add(_transportSystemsControl.GetUiElement); }
private void InitUnusedRoadTypesProperty() { _roadUnusedTypesControl = new GenericTableRowControl <RoadType>() { TitleValue = "Фильтр не используемых маршрутов", TitleToolTip = "Представляет собой набор типов маршрутов, маршрут имеющий тип из списка не будет использоваться в работе алгоритма", OnAdd = alreadyUsedRoadTypes => { var dialog = new GenericSelectEntitiesDialog <RoadType>( "Выборите не используемые маршруты", RoadType.PropertyMatcher(), _availableRoadTypes.Values.Where(rt => !alreadyUsedRoadTypes.Contains(rt))); return(dialog.Selected); }, Value = _config.RoadTypes }; _roadUnusedTypesControl.AddColumns(RoadType.PropertyMatcher()); PropertiesPanelRight.Children.Add(_roadUnusedTypesControl.GetUiElement); }
private void InitCityTagsProperty() { _cityTagsControl = new GenericTableRowControl <CityTag>() { TitleValue = "Выбор центральных нас. пунктов", TitleToolTip = "Представляет собой набор тэгов, нас. пункт имеющий хотя-бы 1 тег из списка будет считаться центральным", OnAdd = alreadyUsedCityTags => { var dialog = new GenericSelectEntitiesDialog <CityTag>( "Выберите типы центральных населенных пунктов", CityTag.PropertyMatcher(), _availableCityTags.Values.Where(ct => !alreadyUsedCityTags.Contains(ct))); return(dialog.Selected); }, Value = _config.CityTags }; _cityTagsControl.AddColumns(CityTag.PropertyMatcher()); PropertiesPanelRight.Children.Add(_cityTagsControl.GetUiElement); }
private static void InitTagsProperty() { _tagsControl = new GenericTableRowControl <CityTag>() { TitleValue = "Тэги нас. пункта", TitleToolTip = "Представляет собой набор тэгов которые принадлежат данному нас. пункту, используется при спецификации алгоритма", OnAdd = alreadyUsedCityTags => { var dialog = new GenericSelectEntitiesDialog <CityTag>( "Добавить тэги к населенному пункту", CityTag.PropertyMatcher(), _availableCityTags.Values.Where(ct => !alreadyUsedCityTags.Contains(ct))); return(dialog.Selected); } }; _tagsControl.AddColumns(CityTag.PropertyMatcher()); _dialog.AddProperty( _tagsControl.GetUiElement, () => _tagsControl.Value = new List <CityTag>(), c => _tagsControl.Value = c.Tags); }
private static void InitTransportSystemsProperty() { _transportSystemsControl = new GenericTableRowControl <TransportSystem>() { TitleValue = "Транспортные системы", TitleToolTip = "Список транспортных систем к которым принадлежит данный населенный пункт", OnAdd = alreadyUsedTransportSystems => { var dialog = new GenericSelectEntitiesDialog <TransportSystem>( "Добавить транспортные системы к населенному пункту", TransportSystem.PropertyMatcher(), _availableTransportSystems.Where(ts => !alreadyUsedTransportSystems.Contains(ts))); return(dialog.Selected); } }; _transportSystemsControl.AddColumns(TransportSystem.PropertyMatcher()); _dialog.AddProperty( _transportSystemsControl.GetUiElement, () => _transportSystemsControl.Value = new List <TransportSystem>(), c => _transportSystemsControl.Value = _availableTransportSystems.Where(ts => c.TransportSystemIds.Contains(ts.Id)).ToList()); }