Example #1
0
        private void editRoute_Click(object sender, RoutedEventArgs e)
        {
            // Instantiate the dialog box
            var dlg = new AddRouteDialogBox(_clientState);
            var r = ((Route)routesList.SelectedItem);
            if (r == null)
                return;

            dlg.Title = "Edit Route";

            //uneditable fields
            dlg.originComboBox.IsEnabled = false;
            dlg.originComboBox.Text = r.Origin.Country.Name;
            dlg.destComboBox.IsEnabled = false;
            dlg.destComboBox.Text = r.Destination.Country.Name;
            dlg.companyComboBox.IsEnabled = false;
            dlg.companyComboBox.Text = r.Company.Name;
            dlg.transportComboBox.IsEnabled = false;
            dlg.transportComboBox.Text = r.TransportType.ToString();

            //editable fields
            dlg.duration.Text = Convert.ToString(r.Duration);
            dlg.weightCost.Text = Convert.ToString(r.CostPerGram);
            dlg.volumeCost.Text = Convert.ToString(r.CostPerCm3);
            dlg.maxWeight.Text = Convert.ToString(r.MaxWeight);
            dlg.maxVolume.Text = Convert.ToString(r.MaxVolume);

            var timesForList = new List<DayMinuteHourHolder>();

            foreach (var time in r.DepartureTimes)
            {
                String day = "";
                switch (time.DayComponent)
                {
                    case DayOfWeek.Monday:
                        day = "Monday";
                        break;
                    case DayOfWeek.Tuesday:
                        day = "Tuesday";
                        break;
                    case DayOfWeek.Wednesday:
                        day = "Wednesday";
                        break;
                    case DayOfWeek.Thursday:
                        day = "Thursday";
                        break;
                    case DayOfWeek.Friday:
                        day = "Friday";
                        break;
                    case DayOfWeek.Saturday:
                        day = "Saturday";
                        break;
                    case DayOfWeek.Sunday:
                        day = "Sunday";
                        break;

                }

                timesForList.Add(new DayMinuteHourHolder()
                    {
                        Day = day,
                        Hour = time.HourComponent,
                        Minute = time.MinuteComponent
                    });
            }

            foreach (var dayMinuteHourHolder in timesForList)
            {
                dlg.timesGrid.Items.Add(dayMinuteHourHolder);
            }

            // Open the dialog box modally
            dlg.ShowDialog();

            if (dlg.DialogResult != false)
            {

                var times = new List<WeeklyTime>();
                foreach (DayMinuteHourHolder time in dlg.timesGrid.Items)
                {
                    DayOfWeek day = DayOfWeek.Monday;
                    switch (time.Day)
                    {
                        case "Monday":
                            day = DayOfWeek.Monday;
                            break;
                        case "Tuesday":
                            day = DayOfWeek.Tuesday;
                            break;
                        case "Wednesday":
                            day = DayOfWeek.Wednesday;
                            break;
                        case "Thursday":
                            day = DayOfWeek.Thursday;
                            break;
                        case "Friday":
                            day = DayOfWeek.Friday;
                            break;
                        case "Saturday":
                            day = DayOfWeek.Saturday;
                            break;
                        case "Sunday":
                            day = DayOfWeek.Sunday;
                            break;
                    }
                    times.Add(new WeeklyTime(day, time.Hour, time.Minute));

                    _clientCon.EditRoute(r.ID, Convert.ToInt32(dlg.weightCost.Text),
                                         Convert.ToInt32(dlg.volumeCost.Text), Convert.ToInt32(dlg.maxWeight.Text),
                                         Convert.ToInt32(dlg.maxVolume.Text), Convert.ToInt32(dlg.duration.Text), times);

                }
            }
        }
Example #2
0
        private void addRoute_Click(object sender, RoutedEventArgs e)
        {
            // Instantiate the dialog box
            var dlg = new AddRouteDialogBox(_clientState);

            // Open the dialog box modally
            dlg.ShowDialog();

            if (dlg.DialogResult != false)
            {
                ComboBoxItem origin = dlg.originComboBox.SelectedItem as ComboBoxItem;
                ComboBoxItem dest = dlg.destComboBox.SelectedItem as ComboBoxItem;
                ComboBoxItem company = dlg.companyComboBox.SelectedItem as ComboBoxItem;

                TransportType transport = TransportType.Land;
                switch (dlg.transportComboBox.Text)
                {
                    case "Air":
                        transport = TransportType.Air;
                        break;
                    case "Land":
                        transport = TransportType.Land;
                        break;
                    case "Sea":
                        transport = TransportType.Sea;
                        break;
                }

                var times = new List<WeeklyTime>();
                foreach (DayMinuteHourHolder time in dlg.timesGrid.Items)
                {
                    DayOfWeek day = DayOfWeek.Monday;
                    switch (time.Day)
                    {
                        case "Monday":
                            day = DayOfWeek.Monday;
                            break;
                        case "Tuesday":
                            day = DayOfWeek.Tuesday;
                            break;
                        case "Wednesday":
                            day = DayOfWeek.Wednesday;
                            break;
                        case "Thursday":
                            day = DayOfWeek.Thursday;
                            break;
                        case "Friday":
                            day = DayOfWeek.Friday;
                            break;
                        case "Saturday":
                            day = DayOfWeek.Saturday;
                            break;
                        case "Sunday":
                            day = DayOfWeek.Sunday;
                            break;
                    }
                    times.Add(new WeeklyTime(day, time.Hour, time.Minute));
                }

                if (origin == null || dest == null || company == null || dlg.weightCost.Text == String.Empty || dlg.volumeCost.Text == String.Empty || dlg.maxWeight.Text == String.Empty || dlg.maxVolume.Text == String.Empty || dlg.duration.Text == String.Empty)
                {
                    MessageBox.Show("Cannot have empty fields");
                    return;
                }

                try
                {
                    Int32.Parse(dlg.weightCost.Text);
                    Int32.Parse(dlg.volumeCost.Text);
                    Int32.Parse(dlg.maxVolume.Text);
                    Int32.Parse(dlg.maxWeight.Text);
                    Int32.Parse(dlg.duration.Text);

                }
                catch
                {
                    MessageBox.Show("You put NaN in a number field. Please enter integers where required");
                    return;
                }

                try
                {
                    _clientCon.AddRoute(Convert.ToInt32(origin.Tag), Convert.ToInt32(dest.Tag), Convert.ToInt32(company.Tag), transport, Convert.ToInt32(dlg.weightCost.Text), Convert.ToInt32(dlg.volumeCost.Text), Convert.ToInt32(dlg.maxWeight.Text), Convert.ToInt32(dlg.maxVolume.Text), Convert.ToInt32(dlg.duration.Text), times);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }

            }
        }