private void Add_Click(object sender, EventArgs e) { // Validation rules if (dataGridView.Rows.Count == 0) { MessageBox.Show("Моля заредете първо данните с бутона \"Прегледай\"."); Clear(); return; } if (chooseList.Text == string.Empty) { MessageBox.Show("Моля изберете първо тип двигател за добавяне."); return; } else if (string.IsNullOrEmpty(PriceRedTextbox.Text) || string.IsNullOrEmpty(PriceGreenTextbox.Text) || string.IsNullOrEmpty(CapacityTextbox.Text) || string.IsNullOrEmpty(VoltageTextbox.Text) || string.IsNullOrEmpty(RpmTextbox.Text) || string.IsNullOrEmpty(AmperageTextbox.Text)) { MessageBox.Show("Моля въведете всички полета."); Clear(); return; } string idAsString = dataGridView.CurrentRow.Cells["Id"].Value.ToString(); string priceRedCardAsString = PriceRedTextbox.Text.Trim(); string priceGreenCardAsString = PriceGreenTextbox.Text.Trim(); string capacityAsString = CapacityTextbox.Text.Trim(); string voltageAsString = VoltageTextbox.Text.Trim(); string rpmAsString = RpmTextbox.Text.Trim(); string amperageAsString = AmperageTextbox.Text.Trim(); string patternForValidation = @"^[0-9]*$"; if (!Regex.IsMatch(idAsString, patternForValidation) || !Regex.IsMatch(priceRedCardAsString, patternForValidation) || !Regex.IsMatch(priceGreenCardAsString, patternForValidation) || !Regex.IsMatch(capacityAsString, patternForValidation) || !Regex.IsMatch(voltageAsString, patternForValidation) || !Regex.IsMatch(rpmAsString, patternForValidation) || !Regex.IsMatch(amperageAsString, patternForValidation)) { MessageBox.Show("Невалидни данни за вход. Моля въведете само цифри."); Clear(); return; } // Parsing string to data variables int id = Convert.ToInt32(idAsString); decimal priceRedCard = decimal.Parse(priceRedCardAsString); decimal priceGreenCard = decimal.Parse(priceGreenCardAsString); double capacity = double.Parse(capacityAsString); int voltage = int.Parse(voltageAsString); int rpm = int.Parse(rpmAsString); int amperage = int.Parse(amperageAsString); // Main logic if (chooseList.Text == "Asynchrone") { AcEngine acEngine = new AcEngine(id, priceRedCard, priceGreenCard, capacity, voltage, rpm, amperage); using (EngineDbContext db = new EngineDbContext()) { // Update information if (AddBtn.Text == "Ъпдейт") { db.Entry(acEngine).State = EntityState.Modified; } else // Add information { db.AcEngines.Add(acEngine); Counter(true); } db.SaveChanges(); } Clear(); ShowDataGridView(); MessageBox.Show("Submitted successfully."); } else if (chooseList.Text == "Dc") { DcEngine dcEngine = new DcEngine(id, priceRedCard, priceGreenCard, capacity, voltage, rpm, amperage); using (EngineDbContext db = new EngineDbContext()) { // Update information if (AddBtn.Text == "Ъпдейт") { db.Entry(dcEngine).State = EntityState.Modified; } else // Add information { db.DcEngines.Add(dcEngine); Counter(true); } db.SaveChanges(); } Clear(); ShowDataGridView(); MessageBox.Show("Submitted successfully."); } else if (chooseList.Text == "Generator") { Generator generator = new Generator(id, priceRedCard, priceGreenCard, capacity, voltage, rpm, amperage); using (EngineDbContext db = new EngineDbContext()) { // Update information if (AddBtn.Text == "Ъпдейт") { db.Entry(generator).State = EntityState.Modified; } else // Add information { db.Generators.Add(generator); Counter(true); } db.SaveChanges(); } Clear(); ShowDataGridView(); MessageBox.Show("Submitted successfully."); } }
private void DeleteBtn_Click(object sender, EventArgs e) { // Validation message bool confirmation = MessageBox.Show("Сигурни ли сте, че искате да изтриете данните?", "Изтриване", MessageBoxButtons.YesNo) == DialogResult.Yes; // Main logic if (confirmation) { using (EngineDbContext db = new EngineDbContext()) { if (chooseList.Text == "Asynchrone") { AcEngine acEngineToDelete = new AcEngine { Id = Convert.ToInt32(dataGridView.CurrentRow.Cells["Id"].Value) }; var entry = db.Entry(acEngineToDelete); if (entry.State == EntityState.Detached) { db.AcEngines.Attach(acEngineToDelete); } db.AcEngines.Remove(acEngineToDelete); Counter(false); db.SaveChanges(); ShowDataGridView(); Clear(); MessageBox.Show("Deleted successfully."); } else if (chooseList.Text == "Dc") { DcEngine dcEngineToDelete = new DcEngine { Id = Convert.ToInt32(dataGridView.CurrentRow.Cells["Id"].Value) }; var entry = db.Entry(dcEngineToDelete); if (entry.State == EntityState.Detached) { db.DcEngines.Attach(dcEngineToDelete); } db.DcEngines.Remove(dcEngineToDelete); Counter(false); db.SaveChanges(); ShowDataGridView(); Clear(); MessageBox.Show("Deleted successfully."); } else if (chooseList.Text == "Generator") { Generator generatorToDelete = new Generator { Id = Convert.ToInt32(dataGridView.CurrentRow.Cells["Id"].Value) }; var entry = db.Entry(generatorToDelete); if (entry.State == EntityState.Detached) { db.Generators.Attach(generatorToDelete); } db.Generators.Remove(generatorToDelete); Counter(false); db.SaveChanges(); ShowDataGridView(); Clear(); MessageBox.Show("Deleted successfully."); } } } }