예제 #1
0
        public void InsertCar(Auto auto)
        {
            if (connection == null)
            {
                Init();
            }

            try
            {
                insertCar.Parameters[0].Value = auto.Rendszam;
                insertCar.Parameters[1].Value = auto.Kapacitas;
                insertCar.Parameters[2].Value = auto.Lizingdij;
                insertCar.Parameters[3].Value = auto.Fogyasztas;

                insertCar.ExecuteNonQuery();
            }
            catch (MySqlException ole)
            {
                if (ole.Number == 1062)
                {
                    //Az autó már megvolt.
                }
                else
                {
                    MessageBox.Show("A költségek frissítése nem sikerült.\nKérem ellenőrizze, hogy az adatbázist más alkalmazás nem használja-e!", "Hiba", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    AppLogger.WriteException(ole);
                    AppLogger.WriteEvent("A kivétel elkapva.");
                }
            }
        }
예제 #2
0
        private void NapszakSelect()
        {
            try
            {
                if (statview.SelectedRows.Count > 0)
                {
                    partialRepo = fullRepo.GetNapszakAdat(activePeriod);

                    Auto aktivAuto = (Auto)statview.Tag;

                    remaining             = aktivAuto.SzabadCimek(activePeriod);
                    availableWorkTxt.Text = remaining.ToString();

                    browser.Document.InvokeScript("showGroup", new object[] { activePeriod + 1 });
                }

                actualWorkSet.Clear();

                if (leftTab.SelectedIndex == 1)
                {
                    UpdateCimlista();
                }
            }
            catch (Exception ex)
            {
                AppLogger.WriteException(ex);
                AppLogger.WriteEvent("A kivétel elkapva.");
            }
        }
예제 #3
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            try
            {
                app = new MainForm(Environment.GetCommandLineArgs());

                Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
                Application.Run(app);
            }
            catch (Exception ex)
            {
                try
                {
                    MessageBox.Show("A programban hiba történt, ezért befejezi a működését.",
                                    "Hiba", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    AppLogger.WriteException(ex);
                    AppLogger.WriteEvent("A kivétel elkapva.");
                }
                catch (Exception)
                {
                }
            }
        }
예제 #4
0
        public void UpdateKobmeter(List <WorkData> list, DateTime date)
        {
            if (connection == null)
            {
                GetConnection();
            }

            OleDbTransaction trans = null;

            try
            {
                trans = connection.BeginTransaction();
                insertKobmeter.Transaction = updateKobmeter.Transaction = trans;
                foreach (WorkData wd in list)
                {
                    insertKobmeter.Parameters[0].Value = wd.Cim;
                    insertKobmeter.Parameters[1].Value = wd.TenylegesKobmeter;
                    insertKobmeter.Parameters[2].Value = date;

                    try
                    {
                        insertKobmeter.ExecuteNonQuery();
                    }
                    catch (OleDbException ins)
                    {
                        if (ins.Errors.Count > 0 && ins.Errors[0].SQLState == "3022")
                        {
                            //már megvolt.
                            updateKobmeter.Parameters[1].Value = wd.Cim;
                            updateKobmeter.Parameters[0].Value = wd.TenylegesKobmeter;
                            updateKobmeter.Parameters[2].Value = date;

                            updateKobmeter.ExecuteNonQuery();
                        }
                        else
                        {
                            throw;
                        }
                    }
                }
                trans.Commit();
            }
            catch (Exception ole)
            {
                if (trans != null)
                {
                    trans.Rollback();
                }

                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(ole);
                AppLogger.WriteEvent("A kivétel elkapva.");
            }
        }
예제 #5
0
        public List <string> GetUtcak()
        {
            OleDbTransaction trans     = null;
            OleDbDataReader  kapReader = null;
            List <string>    ret       = new List <string>();

            try
            {
                if (connection == null)
                {
                    GetConnection();
                }


                trans = connection.BeginTransaction();
                allUtca.Transaction = trans;

                kapReader = allUtca.ExecuteReader();

                while (kapReader.Read())
                {
                    ret.Add(kapReader.GetString(0));
                }

                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);
        }
예제 #6
0
        public void InsertLatLng(WorkData wd)
        {
            int res = 0;

            if (connection == null)
            {
                Init();
            }

            try
            {
                insertLatLng.Parameters[0].Value = wd.Utca;
                insertLatLng.Parameters[1].Value = wd.Lat;
                insertLatLng.Parameters[2].Value = wd.Lng;

                res = insertLatLng.ExecuteNonQuery();
            }
            catch (MySqlException ole)
            {
                if (ole.Number == 1062)
                {
                    if (MessageBox.Show("A bejegyzés már szerepel: " + wd.Utca + "\nKívánja felülírni a koordinátákat?",
                                        "Létező bejegyzés", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.Yes)
                    {
                        try
                        {
                            updateLatLng.Parameters[0].Value = wd.Lat;
                            updateLatLng.Parameters[1].Value = wd.Lng;
                            updateLatLng.Parameters[2].Value = wd.Utca;

                            res = updateLatLng.ExecuteNonQuery();
                        }
                        catch (MySqlException ole2)
                        {
                            AppLogger.WriteException(ole2);
                            AppLogger.WriteEvent("A kivétel elkapva.");
                        }
                    }
                }
                else
                {
                    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(ole);
                    AppLogger.WriteEvent("A kivétel elkapva.");
                }
            }

            /*if (res == 1)
             * {
             *  MessageBox.Show("Az adatbázisban a következő bejegyzés módosult:\nUtca: " + wd.Utca +
             *      "\nSzélesség: " + wd.Lat + "\nHosszúság: " + wd.Lng, "Sikeres frissítés", MessageBoxButtons.OK, MessageBoxIcon.Information);
             * }*/
        }
예제 #7
0
        public void InsertLatLng(string utca, double lat, double lng)
        {
            int res = 0;

            if (connection == null)
            {
                GetConnection();
            }

            try
            {
                insertLatLng.Parameters[0].Value = utca;
                insertLatLng.Parameters[1].Value = lat;
                insertLatLng.Parameters[2].Value = lng;

                res = insertLatLng.ExecuteNonQuery();
            }
            catch (OleDbException ole)
            {
                if (ole.Errors.Count > 0 && ole.Errors[0].SQLState == "3022")
                {
                    if (MessageBox.Show("A bejegyzés már szerepel: " + utca + "\nKívánja felülírni a koordinátákat?",
                                        "Létező bejegyzés", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.Yes)
                    {
                        try
                        {
                            updateLatLng.Parameters[0].Value = lat;
                            updateLatLng.Parameters[1].Value = lng;
                            updateLatLng.Parameters[2].Value = utca;

                            res = updateLatLng.ExecuteNonQuery();
                        }
                        catch (OleDbException ole2)
                        {
                            AppLogger.WriteException(ole2);
                            AppLogger.WriteEvent("A kivétel elkapva.");
                        }
                    }
                }
                else
                {
                    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(ole);
                    AppLogger.WriteEvent("A kivétel elkapva.");
                }
            }
            if (res == 1)
            {
                MessageBox.Show("Az adatbázisban a következő bejegyzés módosult:\nUtca: " + utca +
                                "\nSzélesség: " + lat + "\nHosszúság: " + lng, "Sikeres frissítés", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
예제 #8
0
        private void Reset()
        {
            try
            {
                fileName = null;
                vehicles.Clear();
                actualWorkSet.Clear();
                nulls.Clear();
                clickedGroup.Items.Clear();
                workTree.Nodes.Clear();
                fullRepo.Clear();
                savedState = 0;
                statview.Rows.Clear();
                cimGrid.Rows.Clear();
                statview.Tag = null;
                multipleAddress.Clear();
                infoÜzemmódToolStripMenuItem.Checked = false;
                alertGroup.Checked = false;

                statlabel.Text = "Kész";

                for (int a = 0; a < unbig.Length; a++)
                {
                    unbig[a] = unfive[a] = 0;
                }

                for (int a = 0; a < m3big.Length; a++)
                {
                    m3big[a] = m3small[a] = 0;
                }

                summary = new CimOsszesito();
                ResetLabels();

                ToggleMenuItems(false);

                if (browser.Document != null)
                {
                    browser.Document.InvokeScript("reset");
                }
            }
            catch (Exception ex)
            {
                AppLogger.WriteException(ex);
                AppLogger.WriteEvent("A kivétel elkapva.");
            }
        }
예제 #9
0
        public void UpdateKoltseg(List <Auto> cars)
        {
            MySqlTransaction trans = null;

            if (connection == null)
            {
                Init();
            }

            try
            {
                trans = connection.BeginTransaction();
                updateCar.Transaction = trans;

                foreach (Auto a in cars)
                {
                    updateCar.Parameters[0].Value = a.Kapacitas;
                    updateCar.Parameters[1].Value = a.Fogyasztas;
                    updateCar.Parameters[2].Value = a.Lizingdij;
                    updateCar.Parameters[3].Value = a.Rendszam;

                    updateCar.ExecuteNonQuery();
                }
                trans.Commit();
            }
            catch (MySqlException ole)
            {
                MessageBox.Show("Az adatbázis frissítése nem sikerült.", "Hiba", MessageBoxButtons.OK, MessageBoxIcon.Error);
                trans.Rollback();

                AppLogger.WriteException(ole);
                AppLogger.WriteEvent("A kivétel elkapva.");
            }
            catch (Exception ex)
            {
                AppLogger.WriteException(ex);
                AppLogger.WriteEvent("A kivétel elkapva.");
            }
            finally
            {
                trans = null;
            }
        }
예제 #10
0
        static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
        {
            try
            {
                AppLogger.WriteException(e.Exception);
                string filename = string.Format("{0}\\log\\{1}_save.tmx", Application.StartupPath, DateTime.Now.ToShortDateString());
                MessageBox.Show(string.Format("A programban hiba történt, ezért befejezi a működését.\nAz aktuális munka mentésre kerül ide: {0}",
                                              filename), "Hiba", MessageBoxButtons.OK, MessageBoxIcon.Error);


                app.SaveState(filename);
                app.CloseUp();
            }
            catch (Exception ex)
            {
                AppLogger.WriteException(ex);
                AppLogger.WriteEvent("A kivétel elkapva.");
            }

            Application.Exit();
        }
예제 #11
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.");
            }
        }
예제 #12
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.");
            }
        }
예제 #13
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.");
            }
        }