private void LogisticsNewRouteForm_Shown(object sender, EventArgs e) { comboBoxDriver.Items.Clear(); comboBoxVehicle.Items.Clear(); listViewWarehouseParcels.Items.Clear(); listViewVehicleParcels.Items.Clear(); // TODO: show error message when no vehicles etc. to not crash app Position courierPosition = _positionController.GetPositionByName("Kurier"); currentWarehouse = _storePlaceController.GetAllWarehouses().StorePlaces[0]; RoutesDTO routes = _routeController.GetAllRoutes(); List <Vehicle> vehiclesTemp = new List <Vehicle>(); List <Employee> couriersTemp = new List <Employee>(); vehicles = _vehicleController.GetAllVehicles(); couriers = _employeeController.GetEmployeesByPositionId(courierPosition.Id); if (routes.Routes.Count() == 0) { foreach (var vehicle in vehicles.Vehicles) { comboBoxVehicle.Items.Add(string.Format( "{0} {1} ({2})", vehicle.Brand, vehicle.Model, vehicle.Registration )); } foreach (var courier in couriers.Employees) { comboBoxDriver.Items.Add(string.Format( "{0} {1}", courier.Name, courier.Surname )); } } else { foreach (var vehicle in vehicles.Vehicles) { bool isFree = true; foreach (var route in routes.Routes) { if (isFree && route.VehicleId == vehicle.Id) { foreach (var point in route.RoutePoints) { if (point.Parcel.ParcelStatus == Model.Enums.ParcelStatus.OnWayToTheCustomer) { isFree = false; break; } } } } if (isFree) { vehiclesTemp.Add(vehicle); } } /* * foreach (var item in routes.Routes) * { * * foreach (var vehicle in vehicles.Vehicles) * { * if (vehicle.Id != item.VehicleId) * vehiclesTemp.Add(vehicle); * } * } */ if (vehiclesTemp.Count() == 0) { MessageBox.Show("Za mała ilość danych w bazie. Brak pojazdów w danym magazynie.", "Błąd bazy danych", 0, MessageBoxIcon.Error); this.Close(); } else { foreach (var vehicle in vehiclesTemp) { comboBoxVehicle.Items.Add(string.Format( "{0} {1} ({2})", vehicle.Brand, vehicle.Model, vehicle.Registration )); } } foreach (var courier in couriers.Employees) { bool isFree = true; foreach (var route in routes.Routes) { if (isFree && route.EmployeeId == courier.Id) { foreach (var point in route.RoutePoints) { if (point.Parcel.ParcelStatus == Model.Enums.ParcelStatus.OnWayToTheCustomer) { isFree = false; break; } } } } if (isFree) { couriersTemp.Add(courier); } } /* * foreach (var item in routes.Routes) * { * foreach (var courier in couriers.Employees) * { * if (courier.Id != item.EmployeeId) * couriersTemp.Add(courier); * } * } */ if (couriersTemp.Count() == 0) { MessageBox.Show("Za mała ilość danych w bazie. Brak pracowników na stanowisku kurier", "Błąd bazy danych", 0, MessageBoxIcon.Error); this.Close(); } else { foreach (var courier in couriersTemp) { comboBoxDriver.Items.Add(string.Format( "{0} {1}", courier.Name, courier.Surname )); } } } parcels = _parcelController.GetParcelsFromStorePlaceByStatus(currentWarehouse, Model.Enums.ParcelStatus.InWarehouse); if (parcels.Length == 0) { MessageBox.Show("Za mała ilość danych w bazie. Brak paczek do doręczenia", "Błąd bazy danych", 0, MessageBoxIcon.Error); this.Close(); } else { foreach (var parcel in parcels) { Address addr = parcel.ReceiverData.PersonalAddress; string addressText = string.Format("{0} {1}/{2}, {3}, {4}", addr.Street, addr.HomeNumber, addr.ApartmentNumber, addr.PostCode, addr.City); int weight = (int)parcel.ParcelWeight; int volume = (int)(parcel.ParcelLength * parcel.ParcelHeight * parcel.ParcelWidth); ListViewItem item = new ListViewItem(new string[] { "", addressText, weight.ToString(), volume.ToString() }); item.Tag = parcel.Id; if (parcel.Priority > 0) { item.BackColor = Color.LightGoldenrodYellow; } listViewWarehouseParcels.Items.Add(item); } } ReordereOrdinNumbers(listViewWarehouseParcels); UpdateWeightVolumeInfo(); }
private void WarehouseForm_Load(object sender, EventArgs e) { chooseStorePlaceCombobox.Items.Clear(); _storePlacesDTO = _storePlaceController.GetAllWarehouses(); if (_storePlacesDTO.Status == Api.Enums.CollectionGetStatus.Success) { foreach (var storePlace in _storePlacesDTO.StorePlaces) { string storePlaceInfo = storePlace.Id + " " + storePlace.Name; chooseStorePlaceCombobox.Items.Add(storePlaceInfo); } } ////foreach (var parcel in parcels) ////{ //// string[] parcelInfo = { parcel.Id.ToString(), //// parcel.SenderData.PersonalAddress.Street +", "+ //// parcel.SenderData.PersonalAddress.ApartmentNumber+"/"+ //// parcel.SenderData.PersonalAddress.HomeNumber + ", "+ //// parcel.SenderData.PersonalAddress.PostCode+" "+ //// parcel.SenderData.PersonalAddress.City, //// parcel.ReceiverData.PersonalAddress.Street +", "+ //// parcel.ReceiverData.PersonalAddress.ApartmentNumber+"/"+ //// parcel.ReceiverData.PersonalAddress.HomeNumber + ", "+ //// parcel.ReceiverData.PersonalAddress.PostCode+" "+ //// parcel.ReceiverData.PersonalAddress.City}; //// parcelsListView.Items.Add(new ListViewItem(parcelInfo)); //// _availableParcels.Add(parcelsListView.Items[parcelsListView.Items.Count-1]); ////} //if (_employeeController.GetLoggedEmployee() != null) //{ // chooseVehicleTextbox.Text = "Id pracownika: " + _employeeController.GetLoggedEmployee().Id + // " Magazyn: " + "controller.getStorePlaceForEmployee(id).Id"; //} //string[] parcelInfo1 = { "1", "abc", "def" }; //string[] parcelInfo2 = { "2", "def", "ghi" }; //parcelsListView.Items.Add(new ListViewItem(parcelInfo1)); //parcelsListView.Items.Add(new ListViewItem(parcelInfo2)); //_availableParcels.Add(parcelsListView.Items[0]); //_availableParcels.Add(parcelsListView.Items[1]); ////StorePlace storePlace = employeeController.GetemployeesStorePlace(_employeeController.GetLoggedEmployee()); ////List<Parcel> parcels = parcelController.GetParcelsByStorePlace(storePlace); ////foreach (var parcel in parcels) ////{ //// string[] parcelInfo = { parcel.Id.ToString(), //// parcel.SenderData.PersonalAddress.Street +", "+ //// parcel.SenderData.PersonalAddress.ApartmentNumber+"/"+ //// parcel.SenderData.PersonalAddress.HomeNumber + ", "+ //// parcel.SenderData.PersonalAddress.PostCode+" "+ //// parcel.SenderData.PersonalAddress.City, //// parcel.ReceiverData.PersonalAddress.Street +", "+ //// parcel.ReceiverData.PersonalAddress.ApartmentNumber+"/"+ //// parcel.ReceiverData.PersonalAddress.HomeNumber + ", "+ //// parcel.ReceiverData.PersonalAddress.PostCode+" "+ //// parcel.ReceiverData.PersonalAddress.City}; //// parcelsListView.Items.Add(new ListViewItem(parcelInfo)); //// _availableParcels.Add(parcelsListView.Items[parcelsListView.Items.Count-1]); ////} ////load Vehicles to combobox ////List<Vehicles> vechicles = _vehicleController.getVehiclesByStorePlace(controller.getStorePlaceForEmployee(id).Id); //_availableVehicles.Clear(); //Vehicle v = new Vehicle(); //v.Brand = "MAN"; //v.Model = "TGX"; //v.Registration = "EPD3G53"; //Vehicle v1 = new Vehicle(); //v1.Brand = "MAN"; //v1.Model = "TGL"; //v1.Registration = "EPD3G54"; //_availableVehicles.Add(v); //_availableVehicles.Add(v1); //foreach (var vehicle in _availableVehicles) //{ // string vehicleInfo = vehicle.Brand + " " + vehicle.Model; // chooseVehicleCombobox.Items.Add(vehicleInfo); //} //if (_availableVehicles.Count != 0) //{ // //chooseVehicleCombobox.SelectedItem = chooseVehicleCombobox.Items[0]; //} }