private void DoCarStatx() { try { List <Auto> kicsik = new List <Auto>(), nagyok = new List <Auto>(); int[] valos5 = new int[3], valos10 = new int[3], fuvarok = new int[3]; int nsz, index5, index10, elvett5, elvett10, csere5 = 0, csere10 = 0; foreach (Auto a in cars) { //if (!a.IsJozsaiAuto) { if (a.Kapacitas <= WorkData.BigCapacityLimit) { kicsik.Add(a); if (a.KettenUlnek) { csere5++; } } else { nagyok.Add(a); if (a.KettenUlnek) { csere10++; } } } } valos10[0] = (cimosz.Elsofuvar - cimosz.ElsoLE5); valos10[1] = (cimosz.Delelott - cimosz.DeLE5); valos10[2] = (cimosz.Delutan - cimosz.DuLE5); valos5[0] = cimosz.ElsoLE5; valos5[1] = cimosz.DeLE5; valos5[2] = cimosz.DuLE5; fuvarok[0] = cimosz.Elsofuvar; fuvarok[1] = cimosz.Delelott; fuvarok[2] = cimosz.Delutan; Comparison <Auto> koltsegCompare = new Comparison <Auto>(CompareByKoltseg); kicsik.Sort(koltsegCompare); nagyok.Sort(koltsegCompare); Auto tnagy; for (nsz = 0; nsz < 3; nsz++) { atlag5[nsz] = (int)Math.Round(valos5[nsz] / (float)kicsik.Count); atlag10[nsz] = (int)Math.Round(valos10[nsz] / (float)nagyok.Count); try { index5 = 0; elvett5 = valos5[nsz]; if (atlag5[nsz] > 0) { while (elvett5 > 0) { kicsik[index5].SetNapszakFordulok(nsz, kicsik[index5].GetNapszakFordulok(nsz) + Math.Min(atlag5[nsz], elvett5)); elvett5 -= atlag5[nsz]; index5++; if (index5 == kicsik.Count) { index5 = 0; } } } else { while (elvett5 > 0) { kicsik[index5].SetNapszakFordulok(nsz, kicsik[index5].GetNapszakFordulok(nsz) + 1); elvett5--; index5++; if (index5 == kicsik.Count) { index5 = 0; } } } } catch (Exception x) { AppLogger.WriteException(x); AppLogger.WriteEvent("A kivétel elkapva."); } try { index10 = 0; elvett10 = valos10[nsz]; if (atlag10[nsz] > 0) { while (elvett10 > 0) { nagyok[index10].SetNapszakFordulok(nsz, nagyok[index10].GetNapszakFordulok(nsz) + Math.Min(atlag10[nsz], elvett10)); elvett10 -= atlag10[nsz]; index10++; if (index10 == nagyok.Count) { index10 = 0; } } } else { while (elvett10 > 0) { nagyok[index10].SetNapszakFordulok(nsz, nagyok[index10].GetNapszakFordulok(nsz) + 1); elvett10--; index10++; if (index10 == nagyok.Count) { index10 = 0; } } } } catch (Exception y) { AppLogger.WriteException(y); AppLogger.WriteEvent("A kivétel elkapva."); } for (int a = 0; a < csere5; a++) { if (kicsik[a].GetNapszakFordulok(nsz) > atlag5[nsz]) { continue; } tnagy = FindNext(nsz, a, kicsik); if (tnagy != null) { kicsik[a].SetNapszakFordulok(nsz, kicsik[a].GetNapszakFordulok(nsz) + 1); tnagy.SetNapszakFordulok(nsz, tnagy.GetNapszakFordulok(nsz) - 1); } } for (int a = 0; a < csere10; a++) { if (nagyok[a].GetNapszakFordulok(nsz) > atlag10[nsz]) { continue; } tnagy = FindNext(nsz, a, nagyok); if (tnagy != null) { nagyok[a].SetNapszakFordulok(nsz, nagyok[a].GetNapszakFordulok(nsz) + 1); tnagy.SetNapszakFordulok(nsz, tnagy.GetNapszakFordulok(nsz) - 1); } } } } catch (Exception ex) { AppLogger.WriteException(ex); AppLogger.WriteEvent("A kivétel elkapva."); } }
private void LoadMapData(object sender, FormClosingEventArgs e) { DataUpdater updater = sender as DataUpdater; try { Reset(); List <WorkData> tmp = updater.WorkData; //Mégse gomb meg lett nyomva if (tmp == null) { return; } dao.GetFoldLatLng(tmp); vehicles = updater.Autok; summary = updater.Cimosszesito; if (vehicles.Count == 0) { MessageBox.Show("Nincs megjelenítendő adat.", "Nincs adat", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); ResetLabels(); UpdateBottomPanel(); return; } else { using (ZeroCso zcs = new ZeroCso(tmp, dao)) { zcs.ShowDialog(); } vehicles.Sort(); using (CarDataGridPane cu = new CarDataGridPane(vehicles, summary, true, dao)) { if (cu.ShowDialog() == DialogResult.Cancel) { return; } } } unbig[0] = summary.ElsofuvarNagyDeb; unbig[1] = summary.DelelottNagyDeb; unbig[2] = summary.DelutanNagyDeb; unbig[3] = summary.ElsoTizesJozsa; unbig[4] = summary.DeTizesJozsa; unbig[5] = summary.DuTizesJozsa; unfive[0] = summary.ElsofuvarKisDeb; unfive[1] = summary.DelelottKisDeb; unfive[2] = summary.DelutanKisDeb; unfive[3] = summary.ElsoLE5Jo; unfive[4] = summary.DeLE5Jo; unfive[5] = summary.DuLE5Jo; m3small[0] = summary.Kism3Deb; m3small[1] = summary.Kism3Jozsa; m3big[0] = summary.Nagym3Deb; m3big[1] = summary.Nagym3Jozsa; LoadMarkersFromData(tmp); AppLogger.WriteEvent(string.Format("Kiosztás: {0}", dateChooser.Value.ToShortDateString())); } catch (Exception ex) { AppLogger.WriteException(ex); AppLogger.WriteEvent("A kivétel elkapva."); } }
void goodcars_CellEndEdit(object sender, DataGridViewCellEventArgs e) { try { string val = goodcars[e.ColumnIndex, e.RowIndex].Value == null ? "0" : goodcars[e.ColumnIndex, e.RowIndex].Value.ToString(); int intVal; float floatVal; if (select == null) { return; } switch (e.ColumnIndex) { case 1: try { intVal = int.Parse(val); if (intVal < 0) { MessageBox.Show("'Tartályméret' értéke nem lehet negatív", "Hibás érték", MessageBoxButtons.OK, MessageBoxIcon.Error); throw new FormatException(); } /*if (select.IsJozsaiAuto && intVal < select.Kapacitas) * { * MessageBox.Show("A jármű tartálymérete nem csökkenthető, mivel a jármű fel nem szabadítható címeket szolgál ki.", "Hibás érték", MessageBoxButtons.OK, MessageBoxIcon.Error); * throw new FormatException(); * }*/ if (BeforeKapacitasChg != null && !BeforeKapacitasChg(select, intVal)) { throw new FormatException(); } AppLogger.WriteAutoChange(select.Rendszam, "Tartályméret", select.Kapacitas.ToString(), intVal.ToString()); select.Kapacitas = intVal; } catch (FormatException) { goodcars[e.ColumnIndex, e.RowIndex].Value = select.Kapacitas; } DoCarUpdate(); break; case 2: try { intVal = int.Parse(val); if (intVal < 0) { MessageBox.Show("'Első fuvar' értéke nem lehet negatív", "Hibás érték", MessageBoxButtons.OK, MessageBoxIcon.Error); throw new FormatException(); } if (BeforeElsoFuvarChg != null && !BeforeElsoFuvarChg(select, intVal)) { throw new FormatException(); } AppLogger.WriteAutoChange(select.Rendszam, "Első fuvar", select.GetNapszakFordulok(0).ToString(), intVal.ToString()); select.SetNapszakFordulok(0, intVal); if (select.IsJozsaiAuto) { goodcars[2, e.RowIndex].Value = string.Format("{0} [{1}]", select.GetNapszakFordulok(0), select.GetNapszakJozsa(0)); goodcars[Osszfuvar.Index, e.RowIndex].Value = string.Format("{0} [{1}]", select.OsszFordulo, select.OsszCimJozsa); } else { goodcars[Osszfuvar.Index, e.RowIndex].Value = select.OsszFordulo; } DoSumma(); } catch (FormatException) { if (select.IsJozsaiAuto) { goodcars[2, e.RowIndex].Value = string.Format("{0} [{1}]", select.GetNapszakFordulok(0), select.GetNapszakJozsa(0)); } else { goodcars[Osszfuvar.Index, e.RowIndex].Value = select.OsszFordulo; } } break; case 3: try { intVal = int.Parse(val); if (intVal < 0) { MessageBox.Show("'Délelőtt' értéke nem lehet negatív", "Hibás érték", MessageBoxButtons.OK, MessageBoxIcon.Error); throw new FormatException(); } if (BeforeDelelottChg != null && !BeforeDelelottChg(select, intVal)) { throw new FormatException(); } AppLogger.WriteAutoChange(select.Rendszam, "Délelőtt", select.GetNapszakFordulok(1).ToString(), intVal.ToString()); select.SetNapszakFordulok(1, intVal); if (select.IsJozsaiAuto) { goodcars[3, e.RowIndex].Value = string.Format("{0} [{1}]", select.GetNapszakFordulok(1), select.GetNapszakJozsa(1)); goodcars[Osszfuvar.Index, e.RowIndex].Value = string.Format("{0} [{1}]", select.OsszFordulo, select.OsszCimJozsa); } else { goodcars[Osszfuvar.Index, e.RowIndex].Value = select.OsszFordulo; } DoSumma(); } catch (FormatException) { if (select.IsJozsaiAuto) { goodcars[3, e.RowIndex].Value = string.Format("{0} [{1}]", select.GetNapszakFordulok(1), select.GetNapszakJozsa(1)); } else { goodcars[Osszfuvar.Index, e.RowIndex].Value = select.OsszFordulo; } } break; case 4: try { intVal = int.Parse(val); if (intVal < 0) { MessageBox.Show("'Délután' értéke nem lehet negatív", "Hibás érték", MessageBoxButtons.OK, MessageBoxIcon.Error); throw new FormatException(); } if (BeforeDelutanChg != null && !BeforeDelutanChg(select, intVal)) { throw new FormatException(); } AppLogger.WriteAutoChange(select.Rendszam, "Délután", select.GetNapszakFordulok(2).ToString(), intVal.ToString()); select.SetNapszakFordulok(2, intVal); if (select.IsJozsaiAuto) { goodcars[4, e.RowIndex].Value = string.Format("{0} [{1}]", select.GetNapszakFordulok(2), select.GetNapszakJozsa(2)); goodcars[Osszfuvar.Index, e.RowIndex].Value = string.Format("{0} [{1}]", select.OsszFordulo, select.OsszCimJozsa); } else { goodcars[Osszfuvar.Index, e.RowIndex].Value = select.OsszFordulo; } DoSumma(); } catch (FormatException) { if (select.IsJozsaiAuto) { goodcars[4, e.RowIndex].Value = string.Format("{0} [{1}]", select.GetNapszakFordulok(2), select.GetNapszakJozsa(2)); } else { goodcars[Osszfuvar.Index, e.RowIndex].Value = select.OsszFordulo; } } break; case 7: try { floatVal = float.Parse(val); if (floatVal < 0) { MessageBox.Show("'Fogyasztás' értéke nem lehet negatív", "Hibás érték", MessageBoxButtons.OK, MessageBoxIcon.Error); throw new FormatException(); } AppLogger.WriteAutoChange(select.Rendszam, "Fogyasztás", select.Fogyasztas.ToString(), floatVal.ToString()); select.Fogyasztas = floatVal; goodcars[osszkoltseg.Index, e.RowIndex].Value = (select.Lizingdij + select.Ber) / Properties.Settings.Default.workDays; } catch (FormatException) { goodcars[e.ColumnIndex, e.RowIndex].Value = select.Fogyasztas; } break; case 8: try { floatVal = float.Parse(val); if (floatVal < 0) { MessageBox.Show("'Lízing' értéke nem lehet negatív", "Hibás érték", MessageBoxButtons.OK, MessageBoxIcon.Error); throw new FormatException(); } AppLogger.WriteAutoChange(select.Rendszam, "Lízing", select.Lizingdij.ToString(), floatVal.ToString()); select.Lizingdij = floatVal; goodcars[osszkoltseg.Index, e.RowIndex].Value = (select.Lizingdij + select.Ber) / Properties.Settings.Default.workDays; goodcars.CurrentCell.Value = floatVal / Properties.Settings.Default.workDays; } catch (FormatException) { goodcars[e.ColumnIndex, e.RowIndex].Value = select.Lizingdij; } break; } } catch (Exception ex) { AppLogger.WriteException(ex); AppLogger.WriteEvent("A kivétel elkapva."); } }
private void DoCarUpdate() { goodcars.Rows.Clear(); swapCombo.Items.Clear(); cars.Sort(kapCompare); int a = 0, kicsi = 0, nagy = 0; float tBer, tLizing; for (; a < cars.Count; a++) { goodcars.Rows.Add(); if (cars[a].IsJozsaiAuto) { goodcars.Rows[a].DefaultCellStyle.ForeColor = Color.Red; } if (cars[a].KettenUlnek) { goodcars.Rows[a].DefaultCellStyle.Font = boldStyle; } goodcars[0, a].Value = cars[a].Rendszam; goodcars[1, a].Value = cars[a].Kapacitas; if (cars[a].IsJozsaiAuto) { goodcars.Rows[a].DefaultCellStyle.ForeColor = Color.Red; goodcars[2, a].Tag = cars[a].GetNapszakFordulok(0); goodcars[3, a].Tag = cars[a].GetNapszakFordulok(1); goodcars[4, a].Tag = cars[a].GetNapszakFordulok(2); goodcars[2, a].Value = string.Format("{0} [{1}]", cars[a].GetNapszakFordulok(0), cars[a].GetNapszakJozsa(0)); goodcars[3, a].Value = string.Format("{0} [{1}]", cars[a].GetNapszakFordulok(1), cars[a].GetNapszakJozsa(1)); goodcars[4, a].Value = string.Format("{0} [{1}]", cars[a].GetNapszakFordulok(2), cars[a].GetNapszakJozsa(2)); goodcars[Osszfuvar.Index, a].Value = string.Format("{0} [{1}]", cars[a].OsszFordulo, cars[a].OsszCimJozsa); } else { goodcars[2, a].Value = cars[a].GetNapszakFordulok(0); goodcars[3, a].Value = cars[a].GetNapszakFordulok(1); goodcars[4, a].Value = cars[a].GetNapszakFordulok(2); goodcars[Osszfuvar.Index, a].Value = cars[a].OsszFordulo; } int nap = Properties.Settings.Default.workDays; tBer = cars[a].Ber / nap; tLizing = cars[a].Lizingdij / nap; goodcars[berjarulek.Index, a].Value = tBer; goodcars[uzamanyag.Index, a].Value = cars[a].Fogyasztas; goodcars[lizing.Index, a].Value = tLizing; goodcars[osszkoltseg.Index, a].Value = tBer + tLizing; swapCombo.Items.Add(cars[a].Rendszam); if (cars[a].Kapacitas <= WorkData.BigCapacityLimit) { kicsi++; } else { nagy++; } } try { DataGridViewRow emptyRow = new DataGridViewRow(); emptyRow.ReadOnly = true; emptyRow.DefaultCellStyle.BackColor = Color.AntiqueWhite; if (cars.Count > 0) { swapCombo.SelectedIndex = 0; } if (kicsi > 0) { goodcars.Rows.Insert(kicsi, kisOsszeg); } if (kicsi * nagy > 0) { goodcars.Rows.Insert(kicsi + 1, emptyRow); } if (nagy > 0) { goodcars.Rows.Add(nagyOsszeg); } if (select == null && cars.Count > 0) { select = cars[0]; } DoSumma(); } catch (Exception x) { AppLogger.WriteException(x); AppLogger.WriteEvent("A kivétel elkapva."); } }
public override void Init() { try { cultInfo.DateTimeFormat.DateSeparator = "-"; cultInfo.NumberFormat.NumberDecimalSeparator = "."; cultInfo.DateTimeFormat.ShortDatePattern = "yyyy-MM-dd"; updateCar.Connection = connection; getLatLongData.Connection = connection; getRealVolume.Connection = connection; insertCar.Connection = connection; deleteCar.Connection = connection; insertKobmeter.Connection = updateKobmeter.Connection = connection; insertLatLng.Connection = connection; updateLatLng.Connection = connection; getCar.Connection = connection; allCars.Connection = connection; allUtca.Connection = connection; selectProbUtca.Connection = connection; selectProbCim.Connection = connection; updateCar.Parameters.Add("@kapa", OleDbType.UnsignedTinyInt, 1, "Kapacitas"); updateCar.Parameters.Add("@koltseg", OleDbType.Integer, 4, "Koltseg"); updateCar.Parameters.Add("@lizing", OleDbType.Integer, 4, "Lizing"); updateCar.Parameters.Add("@rendszam", OleDbType.VarChar, 10, "Rendszam"); getRealVolume.Parameters.Add("@r_cim", OleDbType.VarChar, 255, "Cim"); insertCar.Parameters.Add("@rsz", OleDbType.VarChar, 10, "Rendszam"); insertCar.Parameters.Add("@kap", OleDbType.UnsignedTinyInt, 1, "Kapacitas"); insertCar.Parameters.Add("@ilizing", OleDbType.Single, 4, "Lizing"); insertCar.Parameters.Add("@ikoltseg", OleDbType.Single, 4, "Koltseg"); getLatLongData.Parameters.Add("@latutca", OleDbType.VarChar, 255, "Utca"); deleteCar.Parameters.Add("@rsz", OleDbType.VarChar, 10, "Rendszam"); insertLatLng.Parameters.Add("@ujutca", OleDbType.VarChar, 255, "Utca"); insertLatLng.Parameters.Add("@ujlat", OleDbType.Double, 8, "Lat"); insertLatLng.Parameters.Add("@ujlng", OleDbType.Double, 8, "Lng"); updateLatLng.Parameters.Add("@uplat", OleDbType.Double, 8, "Lat"); updateLatLng.Parameters.Add("@uplng", OleDbType.Double, 8, "Lng"); updateLatLng.Parameters.Add("@uputca", OleDbType.VarChar, 255, "Utca"); getCar.Parameters.Add("@getrsz", OleDbType.VarChar, 10, "Rendszam"); selectProbCim.Parameters.Add("@prcim", OleDbType.VarChar, 255, "Cim"); selectProbUtca.Parameters.Add("@prutca", OleDbType.VarChar, 255, "Utca"); insertKobmeter.Parameters.Add("@tmi_cim", OleDbType.VarChar, 255, "Cim"); insertKobmeter.Parameters.Add("@tmi_tm3", OleDbType.UnsignedSmallInt, 2, "Tm3"); insertKobmeter.Parameters.Add("@tmi_dat", OleDbType.DBDate, 16, "Datum"); updateKobmeter.Parameters.Add("@tmu_tm3", OleDbType.UnsignedSmallInt, 2, "Tm3"); updateKobmeter.Parameters.Add("@tmu_cim", OleDbType.VarChar, 255, "Cim"); updateKobmeter.Parameters.Add("@tmu_dat", OleDbType.DBDate, 16, "Datum"); } catch (Exception e) { AppLogger.WriteException(e); AppLogger.WriteEvent("A kivétel elkapva."); } }
public List <Auto> GetCars() { OleDbTransaction trans = null; OleDbDataReader kapReader = null; List <Auto> ret = new List <Auto>(); Auto tmp; try { if (connection == null) { GetConnection(); } trans = connection.BeginTransaction(); allCars.Transaction = trans; kapReader = allCars.ExecuteReader(); while (kapReader.Read()) { tmp = new Auto(kapReader.GetString(0)); tmp.Kapacitas = kapReader.GetByte(1); tmp.Fogyasztas = kapReader.GetFloat(3); tmp.Lizingdij = kapReader.GetFloat(2); ret.Add(tmp); } trans.Commit(); } catch (OleDbException ex) { MessageBox.Show("Adatbázis elérési hiba.\nKérem ellenőrizze, hogy az adatbázist más alkalmazás nem használja-e!", "Hiba", MessageBoxButtons.OK, MessageBoxIcon.Error); AppLogger.WriteException(ex); AppLogger.WriteEvent("A kivétel elkapva."); trans.Rollback(); } catch (InvalidOperationException inv) { } catch (Exception e) { AppLogger.WriteException(e); AppLogger.WriteEvent("A kivétel elkapva."); trans.Rollback(); } finally { if (kapReader != null) { kapReader.Close(); } trans = null; } return(ret); }
public List <WorkData> GetWorkData(DateTime date, out List <Auto> autok, out CimOsszesito osszCim) { DateTime tempDate; object realm3; float rm3; string auth = ""; string host; string tmpRsz; string tmpRow; List <WorkData> data = new List <WorkData>(); WorkData tempData = null; Dictionary <string, Auto> autoData = new Dictionary <string, Auto>(); autok = new List <Auto>(); osszCim = new CimOsszesito(); OleDbDataReader latReader = null; OleDbDataReader kapReader = null; OleDbTransaction trans = null; Auto fordAuto; int forduloszam; int kapacitas; int counter = 0; if (connection == null) { GetConnection(); } try { Auto.AutoIndex = 0; System.Net.ServicePointManager.CertificatePolicy = new MyPolicy(); //if (Properties.Settings.Default.userName != "" && Properties.Settings.Default.password != "") { auth = string.Format("{0}:{1}", Properties.Settings.Default.userName, Properties.Settings.Default.password); } host = string.Format("{0}{1}&ok=OK", Properties.Settings.Default.updateURL, date.ToString("yyyy-MM")); try { using (WebClient client = new WebClient(), cl2 = new WebClient()) { cl2.Headers.Set("Authorization", "Basic " + Convert.ToBase64String(Encoding.UTF8.GetBytes(auth))); client.Headers.Set("Authorization", "Basic " + Convert.ToBase64String(Encoding.UTF8.GetBytes(auth))); using (StreamReader reader = new StreamReader(cl2.OpenRead(new Uri(string.Format("https://213.178.99.161/new/letoltes.php?honap={0}&ok=OK", date.ToString("yyyy-MM")))))) { } using (Stream dataStream = client.OpenRead(host)) { using (StreamReader reader = new StreamReader(dataStream, Encoding.UTF7)) { while (!reader.EndOfStream) { tmpRow = reader.ReadLine().Replace('õ', 'ő').Replace('û', 'ű').Replace('Õ', 'Ő').Replace('Û', 'Ű'); string[] parts = tmpRow.Split('\t'); if (parts.Length == 1) { if (parts[0].Trim() == "") { continue; } if (tempData != null) { tempData.Megjegyzes += " " + parts[0]; } } if (parts.Length != 14) { continue; } try { tempDate = DateTime.Parse(parts[4]); } catch (FormatException) { continue; } if (tempDate.Date > date.Date) { break; } if (tempDate.Date == date.Date) { tempData = new WorkData(); tempData.WorksheetNumber = long.Parse(parts[0]); tempData.Number = counter; tmpRsz = parts[1]; if (tmpRsz == "") { tmpRsz = "???"; } try { kapacitas = int.Parse(parts[8]); } catch (Exception) { kapacitas = 5; } if (autoData.ContainsKey(tmpRsz)) { fordAuto = autoData[tmpRsz]; } else { fordAuto = new Auto(tmpRsz); getCar.Parameters[0].Value = tmpRsz; kapReader = getCar.ExecuteReader(); if (kapReader.Read()) { fordAuto.Kapacitas = kapReader.GetByte(0); fordAuto.Fogyasztas = kapReader.GetFloat(1); fordAuto.Lizingdij = kapReader.GetFloat(2); } else { fordAuto.Kapacitas = kapacitas; } kapReader.Close(); fordAuto.Index = Auto.AutoIndex++; fordAuto.Sofor = parts[2]; fordAuto.Seged = parts[3]; autoData.Add(tmpRsz, fordAuto); } try { tempData.IranyitoSzam = int.Parse(parts[5]); } catch (FormatException) { } tempData.Utca = parts[6]; tempData.HazSzam = parts[7]; try { selectProbUtca.Parameters[0].Value = tempData.Utca; if (selectProbUtca.ExecuteScalar() != null) { tempData.Problematic = true; } else { selectProbCim.Parameters[0].Value = tempData.Cim; if (selectProbCim.ExecuteScalar() != null) { tempData.Problematic = true; } } } catch (OleDbException hadit) { } getRealVolume.Parameters[0].Value = tempData.Cim; realm3 = getRealVolume.ExecuteScalar(); try { rm3 = (realm3 == DBNull.Value || realm3 == null) ? 0 : float.Parse(realm3.ToString()); } catch (FormatException) { rm3 = 0; } tempData.TenylegesKobmeter = (int)Math.Ceiling(rm3); tempData.WorkCapacity = kapacitas; try { tempData.Napszak = int.Parse(parts[11]); } catch (FormatException) { } if (tempData.Napszak > 3 || tempData.Napszak < 1) { using (NapszakCorrector nc = new NapszakCorrector(tempData)) { nc.ShowDialog(); } } try { tempData.CsoHossz = int.Parse(parts[9]); } catch (FormatException) { } tempData.CsoStr = parts[9]; tempData.Megjegyzes = parts[13]; osszCim.UpdateWith(tempData); /*if (tempData.Jozsai) * { * forduloszam = fordAuto.GetNapszakFordulok(tempData.Napszak - 1); * fordAuto.SetNapszakFordulok(tempData.Napszak - 1, forduloszam + 1); * fordAuto.AddJozsaiFuvar(tempData); * }*/ GetLatLng(tempData, trans); data.Add(tempData); counter++; } } } } } foreach (string s in autoData.Keys) { autok.Add(autoData[s]); } } catch (WebException se) { MessageBox.Show("A program nem tudott kapcsolatba lépni a távoli géppel.\nEllenőrízze az internetkapcsolatot és a Beállítások panelen levő értékeket!", "Hiba", MessageBoxButtons.OK, MessageBoxIcon.Error); throw; } catch (OleDbException ex) { MessageBox.Show("Adatbázis elérési hiba.\nKérem ellenőrizze, hogy az adatbázist más alkalmazás nem használja-e!", "Hiba", MessageBoxButtons.OK, MessageBoxIcon.Error); throw; } } catch (Exception e) { AppLogger.WriteException(e); AppLogger.WriteEvent("A kivétel elkapva."); data.Clear(); osszCim = new CimOsszesito(); if (ExceptionOccured != null) { ExceptionOccured(); } } finally { if (latReader != null) { latReader.Close(); } if (kapReader != null) { kapReader.Close(); } } return(data); }
public void statToPDF(List <Auto> autok, DateTime date) { using (SaveFileDialog fd = new SaveFileDialog()) { fd.CheckPathExists = fd.AddExtension = true; fd.Filter = "PDF fájl|*.pdf"; if (fd.ShowDialog() == DialogResult.OK) { try { iTextSharp.text.Font fon = FontFactory.GetFont("c:\\Windows\\Fonts\\arial.ttf", BaseFont.IDENTITY_H, true, Font.Size); iTextSharp.text.Font bold = FontFactory.GetFont("c:\\Windows\\Fonts\\arialbd.ttf", BaseFont.IDENTITY_H, true, Font.Size); Document doc = new Document(PageSize.A4, 30, 30, 72, 72); PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(fd.FileName, FileMode.Create, FileAccess.Write)); doc.Open(); Phrase w_cim = new Phrase("Összes cím", bold); Phrase w_rend = new Phrase("Rendszám", bold); Phrase w_km = new Phrase("Összes km", bold); Phrase w_kolt = new Phrase("Összes költség", bold); Phrase w_cso = new Phrase("Összes csőhossz", bold); PdfPTable table = new PdfPTable(5); PdfPCell cell = new PdfPCell(new Phrase("Járműstatisztika " + date.ToShortDateString(), bold)); cell.Colspan = 5; cell.HorizontalAlignment = 1; cell.Border = 0; cell.PaddingBottom = 20f; table.AddCell(cell); cell = new PdfPCell(w_rend); cell.BackgroundColor = iTextSharp.text.Color.LIGHT_GRAY; cell.HorizontalAlignment = 1; table.AddCell(cell); cell = new PdfPCell(w_cim); cell.BackgroundColor = iTextSharp.text.Color.LIGHT_GRAY; cell.HorizontalAlignment = 1; table.AddCell(cell); cell = new PdfPCell(w_km); cell.BackgroundColor = iTextSharp.text.Color.LIGHT_GRAY; cell.HorizontalAlignment = 1; table.AddCell(cell); cell = new PdfPCell(w_kolt); cell.BackgroundColor = iTextSharp.text.Color.LIGHT_GRAY; cell.HorizontalAlignment = 1; table.AddCell(cell); cell = new PdfPCell(w_cso); cell.BackgroundColor = iTextSharp.text.Color.LIGHT_GRAY; cell.HorizontalAlignment = 1; table.AddCell(cell); float[] vals = new float[4]; foreach (Auto auto in autok) { table.AddCell(new Phrase(auto.Info, fon)); cell = new PdfPCell(new Phrase(auto.OsszCim.ToString(), fon)); vals[0] += auto.OsszCim; cell.HorizontalAlignment = 1; table.AddCell(cell); cell = new PdfPCell(new Phrase(auto.OsszTavolsag.ToString(), fon)); cell.HorizontalAlignment = 1; vals[1] += auto.OsszTavolsag; table.AddCell(cell); cell = new PdfPCell(new Phrase(auto.Csohossz.ToString(), fon)); cell.HorizontalAlignment = 1; vals[2] += auto.Csohossz; table.AddCell(cell); cell = new PdfPCell(new Phrase(auto.OsszKoltseg.ToString(), fon)); cell.HorizontalAlignment = 1; vals[3] += auto.OsszKoltseg; table.AddCell(cell); } cell = new PdfPCell(new Phrase("Mindösszesen:", bold)); table.AddCell(cell); for (int a = 0; a < 4; a++) { cell = new PdfPCell(new Phrase(vals[a].ToString(), bold)); cell.HorizontalAlignment = 1; table.AddCell(cell); } cell = new PdfPCell(new Phrase("Telítettségi cél %: " + Properties.Settings.Default.telitettCel.ToString(), bold)); cell.Colspan = 5; cell.HorizontalAlignment = 1; cell.Border = 0; cell.PaddingTop = 20f; table.AddCell(cell); doc.Add(table); doc.Close(); MessageBox.Show("A mentés sikerült!", "Mentés kész", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception e) { AppLogger.WriteException(e); MessageBox.Show("A mentés nem sikerült!", "Hiba", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }
public void gyujtoToPDF(List <Auto> autok, DateTime date) { using (SaveFileDialog fd = new SaveFileDialog()) { fd.CheckPathExists = fd.AddExtension = true; fd.Filter = "PDF fájl|*.pdf"; if (fd.ShowDialog() == DialogResult.OK) { try { iTextSharp.text.Font fon = FontFactory.GetFont("c:\\Windows\\Fonts\\arial.ttf", BaseFont.IDENTITY_H, true, Font.Size - 1); iTextSharp.text.Font bold = FontFactory.GetFont("c:\\Windows\\Fonts\\arialbd.ttf", BaseFont.IDENTITY_H, true, Font.Size); Document doc = new Document(PageSize.A4, 30, 30, 30, 30); PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(fd.FileName, FileMode.Create, FileAccess.Write)); doc.Open(); PdfPTable table; int napszakfuvar; PdfPCell cell; int count = 0; foreach (Auto auto in autok) { if (auto.OsszM3 == 0) { continue; } table = new PdfPTable(2); table.DefaultCell.Border = 0; table.SetWidths(new float[] { .8f, .2f }); cell = new PdfPCell(new Phrase("Gyűjtő - " + auto.Rendszam, bold)); cell.Border = 0; table.AddCell(cell); cell = new PdfPCell(new Phrase(date.ToShortDateString(), bold)); cell.Border = 0; cell.HorizontalAlignment = 2; table.AddCell(cell); cell = new PdfPCell(new Phrase("Járművezető: " + auto.Sofor + " Segéd: " + (auto.KettenUlnek ? auto.Seged : "Nincs"), bold)); cell.Colspan = 2; cell.Border = 0; table.AddCell(cell); for (int a = 0; a < 3; a++) { List <WorkData> lapok = auto.OsszesMunkalap(a); if (lapok.Count > 0) { cell = new PdfPCell(new Phrase(Enum.GetNames(typeof(Napszak))[a], bold)); cell.Border = 0; cell.PaddingTop = cell.PaddingBottom = 10f; table.AddCell(cell); cell = new PdfPCell(new Phrase("Tényl. m3", bold)); cell.HorizontalAlignment = 2; cell.Border = 0; cell.PaddingTop = cell.PaddingBottom = 10f; table.AddCell(cell); napszakfuvar = 1; foreach (WorkData wd in lapok) { table.AddCell(new Phrase(string.Format("{0}. {1} - {2} m cső", napszakfuvar++, wd.GetInfo(true, true, false, true), wd.CsoHossz), fon)); cell = new PdfPCell(new Phrase(wd.TenylegesKobmeter.ToString(), fon)); cell.HorizontalAlignment = 2; cell.Border = 0; table.AddCell(cell); } } } cell = new PdfPCell(new Phrase("Megrendelt mennyiség (tonna): " + auto.OsszM3.ToString(), bold)); cell.PaddingTop = 20f; cell.Colspan = 2; cell.Border = 0; table.AddCell(cell); cell = new PdfPCell(new Phrase("Telítettségi cél %: " + Properties.Settings.Default.telitettCel.ToString(), bold)); cell.Colspan = 2; cell.Colspan = 2; cell.Border = 0; table.AddCell(cell); cell = new PdfPCell(new Phrase("Beszállított mennyiség (tonna): " + auto.OsszM3 * Properties.Settings.Default.telitettCel / 100, bold)); cell.Colspan = 2; cell.Border = 0; table.AddCell(cell); cell = new PdfPCell(new Phrase("Összes csőhossz (m): " + auto.Csohossz.ToString(), bold)); cell.Colspan = 2; cell.Border = 0; table.AddCell(cell); cell = new PdfPCell(new Phrase("Összes km: " + auto.OsszTavolsag.ToString(), bold)); cell.Colspan = 2; cell.Border = 0; table.AddCell(cell); doc.Add(table); if (count < autok.Count - 1) { doc.NewPage(); } count++; } doc.Close(); MessageBox.Show("A mentés sikerült!", "Mentés kész", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception e) { AppLogger.WriteException(e); MessageBox.Show("A mentés nem sikerült!\nEllenőrízze, a kiválasztott fájl nincs-e mással megnyitva", "Hiba", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }
/// <summary> /// A kiosztás aktuális állapotát XML formátumban mentjük. Az XML 3 részből áll: /// - járműhöz rendelt címek /// - hozzárendeletlen címek /// - számlálók értékei /// </summary> /// <param name="filename">A mentés után előálló állomány neve.</param> public void SaveState(string destFile) { try { Dictionary <int, WorkData> allData = fullRepo.GetOsszAdat(); using (CustomXmlWriter xml = new CustomXmlWriter(destFile)) { xml.Formatting = Formatting.Indented; xml.IndentChar = '\t'; xml.WriteStartDocument(); xml.WriteStartElement("mapping"); xml.WriteAttributeString("date", dateChooser.Value.ToShortDateString()); xml.WriteStartElement("mappedData"); foreach (Auto car in vehicles) { xml.WriteStartElement("vehicle"); xml.WriteAttributeString("idString", car.Rendszam); xml.WriteAttributeString("capacity", car.Kapacitas.ToString()); xml.WriteAttributeString("maxFirstPeriod", car.GetNapszakFordulok(0).ToString()); xml.WriteAttributeString("maxSecondPeriod", car.GetNapszakFordulok(1).ToString()); xml.WriteAttributeString("maxThirdPeriod", car.GetNapszakFordulok(2).ToString()); xml.WriteAttributeString("vehicleIndex", car.Index.ToString()); xml.WriteAttributeString("driver", car.Sofor); xml.WriteAttributeString("helper", car.Seged); xml.WriteAttributeString("leasingCost", car.Lizingdij.ToString()); xml.WriteAttributeString("fuelIntake", car.Fogyasztas.ToString()); for (int period = 0; period < 3; period++) { for (int a = 0; a < car.NapszakForduloSzam(period); a++) { xml.WriteStartElement("workUnitGroup"); xml.WriteAttributeString("distance", car.FuvarHossz(period, a).ToString()); foreach (WorkData wd in car.GetFuvarAt(period, a)) { try { wd.WriteXmlTo(xml); allData.Remove(wd.Number); } catch (Exception ex) { AppLogger.WriteException(ex); AppLogger.WriteEvent("A kivétel elkapva"); } } xml.WriteEndElement(); } } xml.WriteEndElement(); //vehicle } xml.WriteEndElement(); //Még nem hozzárendelt címek xml.WriteStartElement("unmappedData"); foreach (WorkData wd in allData.Values) { wd.WriteXmlTo(xml); } xml.WriteEndElement(); xml.WriteEndElement(); xml.Flush(); xml.Close(); statlabel.Text = string.Format("{0} mentése kész, idő: {1}", destFile, DateTime.Now.ToShortTimeString()); savedState = 0; } AppLogger.WriteSave(destFile); WavPlayer.PlaySound(SoundType.MentésKész); } catch (Exception ex) { MessageBox.Show("A mentés sikertelen!\nEllenőrizze, más nem dolgozik-e az állományon!", "Hiba", MessageBoxButtons.OK, MessageBoxIcon.Error); AppLogger.WriteException(ex); AppLogger.WriteEvent("A kivétel elkapva."); } }
private void RestoreState(string sourceFile) { Reset(); fileName = sourceFile; List <WorkData> allWork = new List <WorkData>(); Auto car; XmlDocument sourceDoc = new XmlDocument(); WorkData wd; int maxVehIndex = 0; try { FileStream fs = new FileStream(sourceFile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); sourceDoc.Load(fs); DateTime sourceDate = DateTime.Parse(sourceDoc.DocumentElement.Attributes["date"].Value); dateChooser.Value = sourceDate; //Autók XmlNode xmlNode = sourceDoc.DocumentElement.ChildNodes[0]; List <WorkData> workList = new List <WorkData>(); int dest; foreach (XmlNode node in xmlNode.ChildNodes) { car = new Auto(node.Attributes[0].Value); car.Kapacitas = int.Parse(node.Attributes[1].Value); car.Lizingdij = float.Parse(node.Attributes[8].Value); car.Fogyasztas = float.Parse(node.Attributes[9].Value); car.SetNapszakFordulok(0, int.Parse(node.Attributes[2].Value)); car.SetNapszakFordulok(1, int.Parse(node.Attributes[3].Value)); car.SetNapszakFordulok(2, int.Parse(node.Attributes[4].Value)); car.Index = int.Parse(node.Attributes[5].Value); if (car.Index > maxVehIndex) { maxVehIndex = car.Index; } car.Sofor = node.Attributes[6].Value; car.Seged = node.Attributes[7].Value; //Fordulók foreach (XmlNode groupNode in node.ChildNodes) { workList.Clear(); dest = int.Parse(groupNode.Attributes[0].Value); foreach (XmlNode workNode in groupNode.ChildNodes) { wd = new WorkData(); wd.ParseFromXml(workNode); wd.ParseFold(workNode); wd.ParseKoord(workNode); summary.UpdateWith(wd); workList.Add(wd); allWork.Add(wd); } car.AddFuvar(workList, dest); } vehicles.Add(car); } if (!Properties.Settings.Default.mentettAuto) { dao.GetAutoAdat(vehicles); } Auto.AutoIndex = maxVehIndex + 1; //Csórikák xmlNode = sourceDoc.DocumentElement.ChildNodes[1]; foreach (XmlNode cimNode in xmlNode.ChildNodes) { wd = new WorkData(); wd.ParseFromXml(cimNode); wd.ParseFold(cimNode); wd.ParseKoord(cimNode); summary.UpdateWith(wd); allWork.Add(wd); if (wd.WorkCapacity <= WorkData.BigCapacityLimit) { if (!wd.Jozsai) { unfive[wd.Napszak - 1]++; m3small[0] += wd.WorkCapacity; } else { unfive[wd.Napszak + 2]++; m3small[1] += wd.WorkCapacity; } } else { if (!wd.Jozsai) { unbig[wd.Napszak - 1]++; m3big[0] += wd.WorkCapacity; } else { unbig[wd.Napszak + 2]++; m3big[1] += wd.WorkCapacity; } } } if (!Properties.Settings.Default.mentettFold) { dao.GetFoldLatLng(allWork); } if (!Properties.Settings.Default.mentettKoord) { dao.GetLatLng(allWork); } Properties.Settings.Default.lastDir = sourceFile.Substring(0, sourceFile.LastIndexOf('\\')); LoadMarkersFromData(allWork); } catch (Exception ex) { MessageBox.Show("Állomány megnyitása sikertelen.\nEz a verzió valószínűleg nem kompatibilis a régebbi mentésekkel.", "Megnyitás sikertelen", MessageBoxButtons.OK, MessageBoxIcon.Error); AppLogger.WriteException(ex); AppLogger.WriteEvent("A kivétel elkapva."); Reset(); } AppLogger.WriteOpen(fileName); }