Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }