Пример #1
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.");
            }
        }