Ejemplo n.º 1
0
        //Вставка строки
        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());
            }
        }