public NewRouteDTO CreateRoute(int driverId, int carId, int[] parcelIds) { NewRouteDTO dto; try { Route route = _routeService.CreateRoute(driverId, carId, parcelIds); foreach (RoutePoint point in route.RoutePoints) { _parcelService.AssignCourier(point.Parcel, driverId); _parcelService.ChangeParcelStatus(point.Parcel, Model.Enums.ParcelStatus.OnWayToTheCustomer); } dto = new NewRouteDTO() { Route = route, Status = Enums.NewRouteStatus.Success }; } catch (Exception ex) { dto = new NewRouteDTO() { ErrorMessage = ex.Message, Status = Enums.NewRouteStatus.Failure }; } return(dto); }
private void buttonCreateRoute_Click(object sender, EventArgs e) { if (comboBoxDriver.SelectedIndex == -1) { MessageBox.Show("Wybierz kierowcę.", "Nieprawdiłowy formularz", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (comboBoxVehicle.SelectedIndex == -1) { MessageBox.Show("Wybierz samochód.", "Nieprawdiłowy formularz", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (listViewVehicleParcels.Items.Count == 0) { MessageBox.Show("Wybierz paczki.", "Nieprawdiłowy formularz", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } int driverId = couriers.Employees.ToArray()[comboBoxDriver.SelectedIndex].Id; int carId = vehicles.Vehicles.ToArray()[comboBoxVehicle.SelectedIndex].Id; List <int> parcelIds = new List <int>(); foreach (ListViewItem item in listViewVehicleParcels.Items) { parcelIds.Add((int)item.Tag); } NewRouteDTO dto = _routeController.CreateRoute(driverId, carId, parcelIds.ToArray()); if (dto.Status == Api.Enums.NewRouteStatus.Failure) { MessageBox.Show(dto.ErrorMessage, "Problem", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (dto.Status == Api.Enums.NewRouteStatus.Success) { MessageBox.Show("Trasa została utworzona", "Sukces", MessageBoxButtons.OK, MessageBoxIcon.Information); DialogResult = DialogResult.OK; } }