예제 #1
0
파일: Train.cs 프로젝트: herisant/t22-4
 public void Add(Wagon wagon) //Add a wagon to train
 {
     if (wagon != null)
     {
         Wagons.Add(wagon);
     }
     else
     {
         throw new ArgumentNullException("wagon");
     }
 }
예제 #2
0
 public bool WagonInUse(Wagon wagon) //check if wagon is in use
 {
     foreach (Train t in administration.Trains)
     {
         foreach (Wagon w in t.Wagons)
         {
             if (wagon.WagonNumber == w.WagonNumber)
             {
                 return(true);
             }
         }
     }
     return(false);
 }
예제 #3
0
        private void btnAddWagonToTrain_Click(object sender, EventArgs e)
        {
            int wagonNumber;
            int trainUnit;

            if (!int.TryParse(cmboBoxWagons.Text, out wagonNumber))
            {
                MessageBox.Show("Invalid input. Please only enter numbers");
            }
            else
            {
                if (lstViewTrains.SelectedItems.Count != 1)
                {
                    MessageBox.Show("Please select a train");
                }
                else
                {
                    if (int.TryParse(lstViewTrains.SelectedItems[0].SubItems[0].Text, out trainUnit))
                    {
                        Train findTrain = administration.FindTrain(trainUnit);
                        Wagon findWagon = administration.FindWagon(wagonNumber);

                        if (findTrain != null && findWagon != null)
                        {
                            if (!WagonInUse(findWagon))
                            {
                                findTrain.Wagons.Add(findWagon);
                                findWagon.AddWagonTo(findTrain); //add wagon to train
                                updateListViewTrains();
                            }
                            else
                            {
                                MessageBox.Show("Wagon is already in use");
                            }
                        }
                        else
                        {
                            MessageBox.Show("Could not find wagon. Wagon not added");
                        }
                    }
                }
            }
        }
예제 #4
0
        private void btnRemove_Click(object sender, EventArgs e) //remove wagon from train
        {
            int wagonNumber;
            int trainUnit;

            if (!int.TryParse(cmboBoxWagons.Text, out wagonNumber))
            {
                MessageBox.Show("Invalid input. Please only enter numbers");
            }
            else
            {
                if (lstViewTrains.SelectedItems.Count != 1)
                {
                    MessageBox.Show("Please select a train");
                }
                else
                {
                    if (int.TryParse(lstViewTrains.SelectedItems[0].SubItems[0].Text, out trainUnit))
                    {
                        Train findTrain = administration.FindTrain(trainUnit);
                        Wagon findWagon = administration.FindWagon(wagonNumber);

                        if (findTrain != null && findWagon != null)
                        {
                            if (findTrain.Wagons.Remove(findWagon))
                            {
                                findWagon.RemoveWagonFromTrain(); //remove wagon from train
                                updateListViewTrains();
                            }
                            else
                            {
                                MessageBox.Show("Selected train doesn't have that wagon");
                            }
                        }
                        else
                        {
                            MessageBox.Show("Could not find wagon.");
                        }
                    }
                }
            }
        }
예제 #5
0
        public bool Remove(Wagon wagon) // remove wagon
        {
            if (wagon == null)
            {
                throw new ArgumentNullException("wagon");
            }

            Wagon w = FindWagon(wagon.WagonNumber);

            if (w != null)
            {
                Wagons.Remove(w); //remove from list
                if (OnWagonUpdate != null)
                {
                    OnWagonUpdate(this, w, false);
                }
                return(true);
            }
            return(false);
        }
예제 #6
0
        public bool Add(Wagon wagon) //add wagon
        {
            if (wagon == null)
            {
                throw new ArgumentNullException("wagon");
            }

            Wagon w = FindWagon(wagon.WagonNumber);

            if (w == null)
            {
                Wagons.Add(wagon); //add to list

                if (OnWagonUpdate != null)
                {
                    OnWagonUpdate(this, wagon, true);
                }
                return(true);
            }
            return(false);
        }