Example #1
0
        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.");
            }
        }
Example #2
0
        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.");
            }
        }
Example #3
0
        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.");
            }
        }
Example #4
0
        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.");
            }
        }
Example #5
0
        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.");
            }
        }
Example #6
0
        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);
        }
Example #7
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();

            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);
        }
Example #8
0
        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);
                    }
                }
            }
        }
Example #9
0
        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);
                    }
                }
            }
        }
Example #10
0
        /// <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.");
            }
        }
Example #11
0
        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);
        }