예제 #1
0
        public LinkStation(RattlerStation A, RattlerStation B, double distance)
        {
            if (A.Equals(B))
            {
                throw new ArgumentException("Станция A и станция B одинаковы!");
            }

            if (!A.getType().Equals(B.getType()))
            {
                throw new ArgumentException("Соедиенение станций возможно лишь когда они одного типа!");
            }

            if (distance <= 0)
            {
                throw new ArgumentException("Дистанция должна быть положительной");
            }

            this.type = A.getType();

            this.A        = A;
            this.B        = B;
            this.distance = distance;
        }
예제 #2
0
        public void addStation(RattlerStation station) {
            if (!station.getType().Equals(getType()))
                throw new ArgumentException("Тип станции не подходит для данного транспорта!");

            if (stations.Count > 0) {
                RattlerStation last = stations[stations.Count - 1];
                if (last.hasLink(getType(), last, station)) {
                    stations.Add(station);
                } else {
                    throw new ApplicationException("Путь между станциями не найден!");
                }
            } else {
                stations.Add(station);
            }
        }
예제 #3
0
        public EditStation(RattlerStation station, WindowType type)
        {
            InitializeComponent();
            Type    = type;
            Station = station;

            if (type == WindowType.EDIT)
            {
                BoxName.Text = station.name;

                BoxTram.IsEnabled         = false;
                BoxMetro.IsEnabled        = false;
                BoxTrain.IsEnabled        = false;
                BoxExpressTrain.IsEnabled = false;
                BoxComplex.IsEnabled      = false;

                convertFromType(station.getType()).IsChecked = true;
            }
        }