public AddEditDkCodeForm(DkCode code) { wasDbUpdated = false; InitializeComponent(); codeRecord = code; codeTextBox.Text = codeRecord.Code; nameTextBox.Text = codeRecord.Name; }
private void button1_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(codeTextBox.Text)) { NotificationHelper.ShowError("Ви не зазначили код"); return; } if (!Regex.IsMatch(codeTextBox.Text.Trim(), "[0-9]{8}-[0-9]")) { NotificationHelper.ShowError("Неправильний формат коду. Код повинен відповідати формату ХХХХХХХХ-Х. Де Х - число від 0 до 9"); return; } if (string.IsNullOrWhiteSpace(nameTextBox.Text)) { NotificationHelper.ShowError("Ви не зазначили назву для кода"); return; } using (TenderContext tc = new TenderContext()) { if (codeRecord == null) { codeRecord = new DkCode(); } else { tc.DkCodes.Attach(codeRecord); } bool codeExist = tc.DkCodes.Where(p => p.Code.Equals(codeTextBox.Text.Trim())).Any(); if (codeExist && (codeRecord.Id == 0)) { NotificationHelper.ShowError("Такий код вже існує"); return; } codeRecord.Code = codeTextBox.Text.Trim(); codeRecord.Name = nameTextBox.Text.Trim(); if (codeRecord.Id == 0) { tc.DkCodes.Add(codeRecord); } else { tc.Entry <DkCode>(codeRecord).State = System.Data.Entity.EntityState.Modified; } tc.SaveChanges(); wasDbUpdated = true; this.Close(); } }
private void dkCodesTable_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { DkCode selectedCode = dkCodesTable.SelectedRows[0].DataBoundItem as DkCode; AddEditDkCodeForm af = new AddEditDkCodeForm(selectedCode); af.ShowDialog(); if (af.WasDbUpdated) { using (TenderContext tc = new TenderContext()) { codesList = new BindingList <DkCode>(tc.DkCodes.OrderBy(p => p.Code).ToList()); dkCodesTable.DataSource = codesList; } wasDbUpdated = true; } }
private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { DkCode selectedCode = dkCodesTable.SelectedRows[0].DataBoundItem as DkCode; using (TenderContext tc = new TenderContext()) { bool codeHasReferences = tc.TenderPlanRecords.Where(p => (p.DkCodeId == selectedCode.Id)).Any(); if (codeHasReferences) { NotificationHelper.ShowError("Неможливо видалити код, оскільки під нього існують записи у річних планах закупівель"); return; } else { tc.DkCodes.Attach(selectedCode); tc.DkCodes.Remove(selectedCode); tc.SaveChanges(); codesList.Remove(selectedCode); NotificationHelper.ShowInfo("Код успішно видалений!"); wasDbUpdated = true; } } }