//Вставка строки private void InsertRecord() { fmPersCardEdit fmEdit = new fmPersCardEdit(EnumFormMode.Insert, "Створення картки"); if (fmEdit.ShowDialog() == DialogResult.OK) { string error; PersCard card = fmEdit.GetData(); int id = _repository.AddCard(card, out error); if (id == 0) { MessageBox.Show("Помилка додавання рядка.\nТехнічна інформація: " + error, "Помилка"); return; } StringBuilder sql = new StringBuilder(); List <Child> childs = fmEdit.GetChildren(); foreach (Child child in childs) { child.Child_PersCard_Id = id; sql.AppendLine(_repoChild.CreateStrInsertChild(child)); } List <CardStatus> getCardStatuses = fmEdit.GetCardStatus(); foreach (CardStatus cardStatus in getCardStatuses) { sql.AppendLine(_repoCardStatus.CreateStrInsertCardStatus(cardStatus)); } List <TaxRelief> getTaxReliefs = fmEdit.GetTaxRelief(); foreach (TaxRelief taxRelief in getTaxReliefs) { sql.AppendLine(_repoTaxRelief.CreateStrInsertTaxRelief(taxRelief)); } List <Disability> getDisabilities = fmEdit.GetDisability(); foreach (Disability disability in getDisabilities) { sql.AppendLine(_repoDisability.CreateStrInsertDisability(disability)); } List <CardSpecExp> getCardSpecExps = fmEdit.GetCardSpecExp(); foreach (CardSpecExp cardSpecExp in getCardSpecExps) { sql.AppendLine(_repoCardSpecExp.CreateStrInsertCardSpecExp(cardSpecExp)); } if (!sqlScipt.ExecuteSqlScript(sql.ToString(), out error)) { MessageBox.Show("Помилка оновлення.\nТехнічна інформація: " + error, "Помилка"); return; } RefreshTable(); dgvPersCard.SetPositionRow <PersCard>("PersCard_Id", id.ToString()); } }
//Обновление строки private void UpdateRecord() { if (dgvPersCard.CurrentRow == null) { return; } PersCard persCard = dgvPersCard.CurrentRow.DataBoundItem as PersCard; if (persCard == null) { MessageBox.Show("Не знайдений рядок для оновлення", "Помилка"); return; } string error; List <Child> children = _repoChild.GetChildByParams(persCard.PersCard_Id, out error); if (error != string.Empty) { MessageBox.Show("Помилка отримання інтервалів дітей.\nТехнічна інформація: " + error, "Помилка"); return; } List <TaxRelief> taxReliefs = _repoTaxRelief.GetTaxReliefByParams(persCard.PersCard_Id, out error); if (error != string.Empty) { MessageBox.Show("Помилка отримання інтервалів пільг.\nТехнічна інформація: " + error, "Помилка"); return; } List <CardStatus> cardStatuses = _repoCardStatus.GetCardStatusByParams(persCard.PersCard_Id, out error); if (error != string.Empty) { MessageBox.Show("Помилка отримання інтервалів статуса.\nТехнічна інформація: " + error, "Помилка"); return; } List <Disability> disabilities = _repoDisability.GetDisabilitiesByParams(persCard.PersCard_Id, out error); if (error != string.Empty) { MessageBox.Show("Помилка отримання інтервалів інвалідності.\nТехнічна інформація: " + error, "Помилка"); return; } List <CardSpecExp> cardSpecExps = _repoCardSpecExp.GetCardSpecExpByParams(persCard.PersCard_Id, out error); if (error != string.Empty) { MessageBox.Show("Помилка отримання інтервалів спецстажів.\nТехнічна інформація: " + error, "Помилка"); return; } fmPersCardEdit fmEdit = new fmPersCardEdit(EnumFormMode.Edit, "Зміна картки"); fmEdit.SetData(persCard); fmEdit.SetChildren(children); fmEdit.SetCardStatus(cardStatuses); fmEdit.SetTaxRelief(taxReliefs); fmEdit.SetDisability(disabilities); fmEdit.SetCardSpecExp(cardSpecExps); if (fmEdit.ShowDialog() == DialogResult.OK) { persCard = fmEdit.GetData(); if (!_repository.ModifyCard(persCard, out error)) { MessageBox.Show("Помилка оновлення рядка.\nТехнічна інформація: " + error, "Помилка"); return; } StringBuilder sql = new StringBuilder(); sql.AppendLine(_repoChild.CreateStrDeleteChildByParam(persCard.PersCard_Id)); List <Child> childs = fmEdit.GetChildren(); foreach (Child child in childs) { sql.AppendLine(_repoChild.CreateStrInsertChild(child)); } sql.AppendLine(_repoCardStatus.CreateStrDeleteCardStatusByParam(persCard.PersCard_Id)); List <CardStatus> getCardStatuses = fmEdit.GetCardStatus(); foreach (CardStatus cardStatus in getCardStatuses) { sql.AppendLine(_repoCardStatus.CreateStrInsertCardStatus(cardStatus)); } sql.AppendLine(_repoTaxRelief.CreateStrDeleteTaxReliefByParam(persCard.PersCard_Id)); List <TaxRelief> getTaxReliefs = fmEdit.GetTaxRelief(); foreach (TaxRelief taxRelief in getTaxReliefs) { sql.AppendLine(_repoTaxRelief.CreateStrInsertTaxRelief(taxRelief)); } sql.AppendLine(_repoDisability.CreateStrDeleteDisabilityByParam(persCard.PersCard_Id)); List <Disability> getDisabilities = fmEdit.GetDisability(); foreach (Disability disability in getDisabilities) { sql.AppendLine(_repoDisability.CreateStrInsertDisability(disability)); } sql.AppendLine(_repoCardSpecExp.CreateStrDeleteCardSpecExpByParam(persCard.PersCard_Id)); List <CardSpecExp> getCardSpecExps = fmEdit.GetCardSpecExp(); foreach (CardSpecExp cardSpecExp in getCardSpecExps) { sql.AppendLine(_repoCardSpecExp.CreateStrInsertCardSpecExp(cardSpecExp)); } if (!sqlScipt.ExecuteSqlScript(sql.ToString(), out error)) { MessageBox.Show("Помилка оновлення.\nТехнічна інформація: " + error, "Помилка"); return; } RefreshTable(); } }