public InfoPage(String Login, String Role) { InitializeComponent(); label_Role.Text = Role; if (Role == "Driver") { var DriverInfo = Drivers.getDriverByLogin(Login); label_Category.Text = DriverInfo.Category; label_Fathername.Text = DriverInfo.Fathername; label_Name.Text = DriverInfo.Name; label_Salary.Text = DriverInfo.Salary.ToString(); label_Surname.Text = DriverInfo.Surname; WaybillTable.Visible = true; List <WaybillModel> waybills = Waybills.getWaybillList().Where(item => item.DriverId == DriverInfo.Id).ToList(); foreach (var item in waybills) { var currentTransport = Transport.getTransportById(item.TransportId); WaybillTable.Rows.Add(new string[] { currentTransport.Type, item.Distance.ToString(), item.Price.ToString() }); } } }
public void updateDataGrid() { dataGridView1.Rows.Clear(); List <WaybillModel> list = Waybills.getWaybillList(); foreach (var item in list) { var driverItem = Drivers.getDriverById(item.DriverId); dataGridView1.Rows.Add(new string[] { driverItem.Name, driverItem.Surname, driverItem.Fathername, item.Price.ToString(), item.Distance.ToString(), item.Date }); } }
private void button_Calc_Click(object sender, EventArgs e) { var waybills = Waybills.getWaybillList(); DateTime start = DateTime.Parse(((DateTime)StartDate.Value).ToString("dd/MM/yyyy")); DateTime end = DateTime.Parse(((DateTime)EndDate.Value).ToString("dd/MM/yyyy")); if (start > end) { MessageBox.Show("Начало не может быть позже конца."); return; } var validWays = new List <WaybillModel>(); foreach (var item in waybills) { if (start <= DateTime.Parse(item.Date) && DateTime.Parse(item.Date) <= end) { validWays.Add(item); } } var driverMap = new Dictionary <int, int>(); var transportMap = new Dictionary <int, int>(); foreach (var item in validWays) { if (driverMap.ContainsKey(item.DriverId) == false) { driverMap.Add(item.DriverId, item.Price - Drivers.getDriverById(item.DriverId).Salary *item.Distance); } else { driverMap[item.DriverId] += item.Price - Drivers.getDriverById(item.DriverId).Salary *item.Distance; } if (transportMap.ContainsKey(item.TransportId) == false) { transportMap.Add(item.TransportId, item.Price - Drivers.getDriverById(item.DriverId).Salary *item.Distance); } else { transportMap[item.TransportId] = Math.Max(item.Price - Drivers.getDriverById(item.DriverId).Salary *item.Distance, transportMap[item.TransportId]); } } int maxDriverValue = int.MinValue, maxDriverId = -1; foreach (var item in driverMap) { if (item.Value > maxDriverValue) { maxDriverValue = item.Value; maxDriverId = item.Key; } } if (maxDriverId != -1) { var driver = Drivers.getDriverById(maxDriverId); var reportDriver = new ReportDriver() { Name = driver.Name, Surname = driver.Surname, Fathername = driver.Fathername, Income = maxDriverValue, DateStartReport = start, DateEndReport = end }; reportDriver.saveToXml(); } foreach (var item in transportMap) { var transport = Transport.getTransportById(item.Key); var reportTransport = new ReportTransport() { Type = transport.Type, Income = item.Value, DateStartReport = start, DateEndReport = end }; reportTransport.saveToXml(); } Close(); }