public List <WorkData> ReadMassData(string file, out List <Auto> autok, out CimOsszesito[] osszCim) { object realm3; float rm3; string tmpRow; List <WorkData> data = new List <WorkData>(); WorkData tempData = null; Dictionary <string, Auto> autoData = new Dictionary <string, Auto>(); autok = new List <Auto>(); autok.Add(new Auto("TMX-000")); autok.Add(new Auto("TRZ-000")); osszCim = new CimOsszesito[2]; MySqlDataReader latReader = null; MySqlDataReader kapReader = null; MySqlTransaction trans = null; int kapacitas; int counter = 0; if (connection == null) { Init(); } try { try { using (StreamReader reader = new StreamReader(file, 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; } tempData = new WorkData(); tempData.WorksheetNumber = long.Parse(parts[0]); tempData.Number = counter; 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 (MySqlException 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); try { tempData.WorkCapacity = int.Parse(parts[8]); } catch (Exception) { tempData.WorkCapacity = 5; } 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]; tempData.Szolgaltato = parts[10]; if (tempData.IsTranzit) { osszCim[1].UpdateWith(tempData); } else { osszCim[0].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++; } } } catch (MySqlException 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[2]; if (ExceptionOccured != null) { ExceptionOccured(); } } finally { if (latReader != null) { latReader.Close(); } if (kapReader != null) { kapReader.Close(); } } return(data); }
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(); MySqlDataReader latReader = null; MySqlDataReader kapReader = null; MySqlTransaction trans = null; Auto fordAuto; int forduloszam; int kapacitas; int counter = 0; if (connection == null) { Init(); } try { Auto.AutoIndex = 0; host = SettingsPanel.UpdateURL; bool isSecure = host.StartsWith("https://"); //if (isSecure) { System.Net.ServicePointManager.CertificatePolicy = new MyPolicy(); auth = string.Format("{0}:{1}", Properties.Settings.Default.userName, Properties.Settings.Default.password); } try { using (WebClient client = new WebClient(), cl2 = new WebClient()) { //if (isSecure) { 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("{0}{1}", Properties.Settings.Default.updateURL2, 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 < 12) { 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 (MySqlException 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]; if (parts.Length >= 14) { 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 tudja az állományt megnyitni.\nEllenőrízze az internetkapcsolatot (vagy az állomány nincs-e más alkalmazással megnyitva) és a Beállítások panelen levő értékeket!", "Hiba", MessageBoxButtons.OK, MessageBoxIcon.Error); throw; } catch (MySqlException 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); }