private void Open_CreateNewServiceBookFormThreeButton_Click(object sender, EventArgs e)
        {
            try
            {
                var dateMadeChanges = DateMadeChanges_DatePicker.Value;
                var oil             = Oil_TextBox.Text.Trim();
                //var kilometers = CurrentKilometers_TextBox.Text.Trim();
                var nextOilChangeKilometers = NextOilChangeKilometers_TextBox.Text.Trim();
                var oilFilter   = OilFilter_TextBox.Text.Trim();
                var fuelFilter  = FuelFilter_TextBox.Text.Trim();
                var airFilter   = AirFilter_TextBox.Text.Trim();
                var coupeFilter = CoupeFilter_TextBox.Text.Trim();

                var sb = new StringBuilder();
                var emptyOrWrongFields = new List <string>();

                if (string.IsNullOrWhiteSpace(oil))
                {
                    emptyOrWrongFields.Add("Масло");
                }

                //if (string.IsNullOrWhiteSpace(kilometers))
                //{
                //    emptyOrWrongFields.Add("Км");
                //}

                if (string.IsNullOrWhiteSpace(nextOilChangeKilometers))
                {
                    emptyOrWrongFields.Add("Следваща смяна на (км)");
                }

                if (emptyOrWrongFields.Count() > 0)
                {
                    sb.AppendLine("Моля попълнете следните полета: ");
                    sb.AppendLine(string.Join(", ", emptyOrWrongFields.Select(x => x)));

                    MessageBox.Show(sb.ToString());
                    return;
                }

                var currentKilometersRegex       = new Regex("^([0-9]*)$|^([0-9]* [0-9]*)$");
                var nextOilChangeKilometersRegex = new Regex("^([0-9]*)$|^([0-9]* [0-9]*)$");

                //if (!currentKilometersRegex.IsMatch(kilometers))
                //{
                //    emptyOrWrongFields.Add("Км");
                //}
                if (!nextOilChangeKilometersRegex.IsMatch(nextOilChangeKilometers))
                {
                    emptyOrWrongFields.Add("Следваща смяна на (км)");
                }

                if (emptyOrWrongFields.Count() > 0)
                {
                    sb.AppendLine("Моля въведете коректни данни за следните полета: ");
                    sb.AppendLine(string.Join(", ", emptyOrWrongFields.Select(x => x)));

                    MessageBox.Show(sb.ToString());
                    return;
                }

                var toStringedDate = dateMadeChanges.ToString("dd.M.yyyy HH:mm:ss");
                var jsonData       = new OilAndFiltersJsonData(toStringedDate, Car.Kilometers, oil, nextOilChangeKilometers, oilFilter, fuelFilter, airFilter, coupeFilter);
                var data           = JsonConvert.SerializeObject(jsonData);
                var oilAndFilters  = new OilAndFilter(data);

                Car.OilAndFilters.Add(oilAndFilters);

                var thirdForm = new CreateNewServiceBookFormThree(Car, dbContext, logger);
                thirdForm.RefToCreateNewServiceBookFormTwo = this;

                Hide();

                thirdForm.Show();
            }
            catch (Exception ex)
            {
                logger.WriteLine($"CreateNewServiceBookFormTwo.iconButton1_Click: {ex}");
                MessageBox.Show("Възникна неочаквана грешка!");
            }
        }
        private void SaveChangesButton_Click(object sender, EventArgs e)
        {
            try
            {
                var sb = new StringBuilder();
                var emptyOrWrongFields = new List <string>();

                for (int i = 0; i < Car.OilAndFilters.Count(); i++)
                {
                    var id          = (int)OilAndFiltersDataGridView.Rows[i].Cells[0].Value;
                    var date        = ((string)OilAndFiltersDataGridView.Rows[i].Cells[1].Value);
                    var kilometers  = (string)OilAndFiltersDataGridView.Rows[i].Cells[2].Value;
                    var oil         = (string)OilAndFiltersDataGridView.Rows[i].Cells[3].Value;
                    var nextChange  = (string)OilAndFiltersDataGridView.Rows[i].Cells[4].Value;
                    var oilFilter   = (string)OilAndFiltersDataGridView.Rows[i].Cells[5].Value;
                    var fuelFilter  = (string)OilAndFiltersDataGridView.Rows[i].Cells[6].Value;
                    var airFilter   = (string)OilAndFiltersDataGridView.Rows[i].Cells[7].Value;
                    var coupeFilter = (string)OilAndFiltersDataGridView.Rows[i].Cells[8].Value;

                    if (string.IsNullOrWhiteSpace(date))
                    {
                        emptyOrWrongFields.Add("Дата");
                    }

                    if (string.IsNullOrWhiteSpace(oil))
                    {
                        emptyOrWrongFields.Add("Масло");
                    }

                    if (string.IsNullOrWhiteSpace(kilometers))
                    {
                        emptyOrWrongFields.Add("Км");
                    }

                    if (string.IsNullOrWhiteSpace(nextChange))
                    {
                        emptyOrWrongFields.Add("Следваща смяна на (км)");
                    }

                    if (emptyOrWrongFields.Count() > 0)
                    {
                        sb.AppendLine("Моля попълнете следните полета: ");
                        sb.AppendLine(string.Join(", ", emptyOrWrongFields.Select(x => x)));

                        MessageBox.Show(sb.ToString());
                        return;
                    }

                    var dateTimeMadeChanges          = new Regex(@"^([1-9]|([012][0-9])|(3[01]))\.([0]{0,1}[1-9]|1[012])\.\d\d\d\d (20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d$");
                    var currentKilometersRegex       = new Regex("^([0-9]*)$|^([0-9]* [0-9]*)$");
                    var nextOilChangeKilometersRegex = new Regex("^([0-9]*)$|^([0-9]* [0-9]*)$");

                    if (!dateTimeMadeChanges.IsMatch(date))
                    {
                        emptyOrWrongFields.Add("Дата");
                    }

                    if (!currentKilometersRegex.IsMatch(kilometers))
                    {
                        emptyOrWrongFields.Add("Км");
                    }

                    if (!nextOilChangeKilometersRegex.IsMatch(nextChange))
                    {
                        emptyOrWrongFields.Add("Следваща смяна на (км)");
                    }

                    if (emptyOrWrongFields.Count() > 0)
                    {
                        sb.AppendLine("Моля въведете коректни данни за следните полета: ");
                        sb.AppendLine(string.Join(", ", emptyOrWrongFields.Select(x => x)));

                        MessageBox.Show(sb.ToString());
                        return;
                    }

                    var oilAndFilters = new OilAndFiltersJsonData(date, kilometers, oil, nextChange, oilFilter, fuelFilter, airFilter, coupeFilter);
                    var parsedJson    = JsonConvert.SerializeObject(oilAndFilters);

                    Car.OilAndFilters.FirstOrDefault(x => x.Id == id).Data = parsedJson;
                }

                dbContext.SaveChanges();

                MessageBox.Show("Успешно направени промени.");
            }
            catch (Exception ex)
            {
                logger.WriteLine($"SearchServiceBookFormTwo.SaveChangesButton_Click: {ex}");
                MessageBox.Show("Възникна неочаквана грешка!");
            }
        }
Ejemplo n.º 3
0
        private void AddOilAndFiltersRow_Click(object sender, EventArgs e)
        {
            try
            {
                var dateMadeChanges         = DateMadeChanges_DatePicker.Value;
                var oil                     = Oil_TextBox.Text.Trim();
                var kilometers              = CurrentKilometers_TextBox.Text.Trim();
                var nextOilChangeKilometers = NextOilChangeKilometers_TextBox.Text.Trim();
                var oilFilter               = OilFilter_TextBox.Text.Trim();
                var fuelFilter              = FuelFilter_TextBox.Text.Trim();
                var airFilter               = AirFilter_TextBox.Text.Trim();
                var coupeFilter             = CoupeFilter_TextBox.Text.Trim();

                var sb = new StringBuilder();
                var emptyOrWrongFields = new List <string>();

                if (string.IsNullOrWhiteSpace(kilometers))
                {
                    emptyOrWrongFields.Add("Км");
                }
                if (string.IsNullOrWhiteSpace(nextOilChangeKilometers))
                {
                    emptyOrWrongFields.Add("Следваща смяна на (км)");
                }

                if (emptyOrWrongFields.Count() > 0)
                {
                    sb.AppendLine("Моля попълнете следните полета: ");
                    sb.AppendLine(string.Join(", ", emptyOrWrongFields.Select(x => x)));
                    MessageBox.Show(sb.ToString());
                    return;
                }

                var currentKilometersRegex       = new Regex("^([0-9]*)$|^([0-9]* [0-9]*)$");
                var nextOilChangeKilometersRegex = new Regex("^([0-9]*)$|^([0-9]* [0-9]*)$");

                if (!currentKilometersRegex.IsMatch(kilometers))
                {
                    emptyOrWrongFields.Add("Км");
                }
                if (!nextOilChangeKilometersRegex.IsMatch(nextOilChangeKilometers))
                {
                    emptyOrWrongFields.Add("Следваща смяна на (км)");
                }

                if (emptyOrWrongFields.Count() > 0)
                {
                    sb.AppendLine("Моля въведете коректни данни за следните полета: ");
                    sb.AppendLine(string.Join(", ", emptyOrWrongFields.Select(x => x)));
                    MessageBox.Show(sb.ToString());
                    return;
                }

                var toStringedDate = dateMadeChanges.ToString("dd.M.yyyy HH:mm:ss");
                var jsonData       = new OilAndFiltersJsonData(toStringedDate, kilometers, oil, nextOilChangeKilometers, oilFilter, fuelFilter, airFilter, coupeFilter);
                var data           = JsonConvert.SerializeObject(jsonData);
                var oilAndFilters  = new OilAndFilter(data);

                Car.OilAndFilters.Add(oilAndFilters);

                dbContext.SaveChanges();

                OilAndFiltersDataGridView.Rows.Add();
                var rowsCountWithNewRow = OilAndFiltersDataGridView.Rows.Count - 1;

                OilAndFiltersDataGridView.Rows[rowsCountWithNewRow].Cells[0].Value = Car.OilAndFilters.First().Id;
                OilAndFiltersDataGridView.Rows[rowsCountWithNewRow].Cells[1].Value = jsonData.Date;
                OilAndFiltersDataGridView.Rows[rowsCountWithNewRow].Cells[2].Value = jsonData.Kilometers;
                OilAndFiltersDataGridView.Rows[rowsCountWithNewRow].Cells[3].Value = jsonData.Oil;
                OilAndFiltersDataGridView.Rows[rowsCountWithNewRow].Cells[4].Value = jsonData.NextChange;
                OilAndFiltersDataGridView.Rows[rowsCountWithNewRow].Cells[5].Value = jsonData.OilFilter;
                OilAndFiltersDataGridView.Rows[rowsCountWithNewRow].Cells[6].Value = jsonData.FuelFilter;
                OilAndFiltersDataGridView.Rows[rowsCountWithNewRow].Cells[7].Value = jsonData.AirFilter;
                OilAndFiltersDataGridView.Rows[rowsCountWithNewRow].Cells[8].Value = jsonData.CoupeFilter;

                Close();
            }
            catch (Exception ex)
            {
                logger.WriteLine($"AddOilAndFiltersForm.AddOilAndFiltersRow_Click: {ex}");
                MessageBox.Show("Възникна неочаквана грешка!");
            }
        }