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("Възникна неочаквана грешка!"); } }
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("Възникна неочаквана грешка!"); } }