public EditTransport(RattlerTransport transport, WindowType type) { InitializeComponent(); Type = type; Transport = transport; if (type == WindowType.EDIT) { BoxName.Text = transport.name; BoxCapacity.Text = transport.capacity.ToString(); BoxSpeed.Text = transport.averageSpeed.ToString(); BoxTram.IsEnabled = false; BoxMetro.IsEnabled = false; BoxTrain.IsEnabled = false; BoxExpressTrain.IsEnabled = false; convertFromType(transport.getType()).IsChecked = true; } else { BoxCapacity.Text = "0"; BoxSpeed.Text = 0.1D.ToString(); } }
public override RattlerStore ReadJson( JsonReader reader, Type objectType, RattlerStore existingValue, bool hasExistingValue, JsonSerializer serializer ) { if (reader.TokenType.Equals(JsonToken.StartObject)) { JObject obj = JObject.Load(reader); core.store.maxTransportId = obj["max-transport-id"] != null ? obj["max-transport-id"].Value <long>() : 1; core.store.maxTransportId = obj["max-station-id"] != null ? obj["max-station-id"].Value <long>() : 1; // Load stations List <RattlerStation> stations = new List <RattlerStation>(); if (obj["stations"] != null) { foreach (JToken jToken in obj["stations"]) { RattlerStation station = JsonConvert.DeserializeObject <RattlerStation>(jToken.ToString()); core.stationService.addStation(station); } } // Load links List <LinkStation> links = new List <LinkStation>(); if (obj["links"] != null) { foreach (JToken jToken in obj["links"]) { LinkStation link = JsonConvert.DeserializeObject <LinkStation>(jToken.ToString()); core.stationService.addLink(link); } } // Load transport List <RattlerTransport> transports = new List <RattlerTransport>(); if (obj["transports"] != null) { foreach (JToken jToken in obj["transports"]) { RattlerTransport transport = JsonConvert.DeserializeObject <RattlerTransport>(jToken.ToString()); core.transportService.addTransport(transport); } } return(core.store); } throw new JsonException("Неудалось прочесть"); }
public void addTransport(RattlerTransport transport) { if (transport.id == 0) { transport.id = core.store.maxTransportId++; } else { if (transport.id > core.store.maxTransportId) { core.store.maxTransportId = transport.id + 1; } } core.store.transports.Add(transport); }
private void done(object sender, RoutedEventArgs e) { string name; int capacity = 0; double averageSpeed = 0; if (BoxName.Text.Trim().Length > 0) { name = BoxName.Text; } else { new ErrorWindow("Ошибка в имени").Show(); return; } try { var boxCapacityText = BoxCapacity.Text; capacity = int.Parse(boxCapacityText); } catch (Exception ex) { new ErrorWindow("Ошибка вместимости: " + ex.Message).Show(); return; } try { var BoxSpeedText = BoxSpeed.Text; averageSpeed = double.Parse(BoxSpeedText); } catch (Exception ex) { new ErrorWindow("Ошибка ср. скорости: " + ex.Message).Show(); return; } if (Type == WindowType.CREATE) { if (RattlerTransportType.TRAM.Equals(transportType)) { Transport = new Tram(name); } else if (RattlerTransportType.METRO.Equals(transportType)) { Transport = new Tram(name); } else if (RattlerTransportType.TRAIN.Equals(transportType)) { Transport = new Tram(name); } else if (RattlerTransportType.EXPRESS_TRAIN.Equals(transportType)) { Transport = new Tram(name); } else { new ErrorWindow("Не выбран тип транспорта!").Show(); return; } MainWindow.core.transportService.addTransport(Transport); } else { Transport.name = name; } Transport.averageSpeed = averageSpeed; Transport.capacity = capacity; MainWindow.main.updateGrids(); Close(); }
public void removeTransport(RattlerTransport transport) { core.store.transports.Remove(transport); }