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() }); } } }
private void button_Create_Click(object sender, EventArgs e) { int wayLength; if (string.IsNullOrEmpty(LengthField.Text) || int.TryParse(LengthField.Text, out wayLength) == false) { MessageBox.Show("Поле длины поездки должно быть не пустым, а также должно быть числом."); return; } int price; if (string.IsNullOrEmpty(PriceField.Text) || int.TryParse(PriceField.Text, out price) == false) { MessageBox.Show("Поле стоймости поездки должно быть не пустым, а также должно быть числом."); return; } var waybillDate = (DateTime)dateTimePicker_SelectDate.Value; Waybills.addWaybill(new WaybillModel() { DriverId = drivers[comboBox_SelectDriver.SelectedIndex].Id, TransportId = transport[comboBox_SelectTransport.SelectedIndex].Id, Distance = wayLength, Price = price, Date = waybillDate.ToString("dd/MM/yyyy") }); MessageBox.Show("Путевой лист был успешно добавлен."); Close(); }
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 }); } }
public void AddWaybill([MarshalAs(UnmanagedType.IDispatch)] object waybill) { Waybills.Add((Waybill)waybill); }
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(); }
public List <IAccountingDocumentBase> FindAccountingDocuments(string number, string date, string butin, string butrrc, string cuuid, string ctin, string ctrrc, bool corrective, bool incomingTaxInvoice, bool outgoingTaxInvoice, bool contractStatement, bool waybill, bool universalTransferDocument) { var result = AccountingDocumentBases.GetAll() .Where(a => incomingTaxInvoice && IncomingTaxInvoices.Is(a) || outgoingTaxInvoice && OutgoingTaxInvoices.Is(a) || contractStatement && ContractStatements.Is(a) || waybill && Waybills.Is(a) || universalTransferDocument && UniversalTransferDocuments.Is(a)); // Фильтр по НОР. if (string.IsNullOrWhiteSpace(butin) || string.IsNullOrWhiteSpace(butrrc)) { return(new List <IAccountingDocumentBase>()); } var businessUnit = Sungero.Company.BusinessUnits.GetAll().FirstOrDefault(x => x.TIN == butin && x.TRRC == butrrc); if (businessUnit == null) { return(new List <IAccountingDocumentBase>()); } else { result = result.Where(x => Equals(x.BusinessUnit, businessUnit)); } // Фильтр по номеру. var relevantNumbers = this.GetRelevantNumbers(number); result = result.Where(x => relevantNumbers.Contains(x.RegistrationNumber)); // Фильтр по дате. DateTime parsedDate; if (!string.IsNullOrWhiteSpace(date) && DateTime.TryParseExact(date, "dd'.'MM'.'yyyy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out parsedDate)) { result = result.Where(x => x.RegistrationDate == parsedDate); } // Фильтр по контрагенту. var counterparties = Sungero.Parties.PublicFunctions.Module.Remote.FindCounterparty(cuuid, ctin, ctrrc, string.Empty); if (counterparties.Any()) { result = result.Where(x => counterparties.Contains(x.Counterparty)); } // Фильтр корректировочный или нет. result = result.Where(x => x.IsAdjustment == corrective); return(result.ToList()); }