示例#1
0
        /// <summary>МЕТОД Сохраняем данные справочника</summary>
        /// <param name="pStrValue">Данные которые сохраняем</param>
        /// <param name="pRow">Редактируемая строка</param>
        /// <param name="pColumn">Редактируемый столбец</param>
        protected override bool MET_SqlEdit(DataRow pRow, string pStrValue, DataGridColumn pColumn)
        {
            int _Cod;                                                           // код ответа

            // Проверяем на наличие повторов
            // Если есть повтор, то не сохраняем
            if (MySql.MET_QueryBool(MyQuery.MET_List_Select_3(PRO_TableName, PRI_NomerShablon, PRI_VarID, pStrValue)))
            {
                MessageBox.Show("Ошибка! Данный ответ уже есть в списке ответов");
                return(false);
            }
            // Update Если есть код ответа, значить строка старая и меняем ответ
            if (pRow["Cod"].ToString() != "")
            {
                _Cod = Convert.ToInt32(pRow["Cod"]);        // код ответа
                MySql.MET_QueryNo(MyQuery.MET_List_Update_1(PRO_TableName, _Cod, pStrValue));
                // Записываем в логи
                MyGlo.PUB_Logger.Info($"Изменили ответ в поле с VarId {PRI_VarID}," +
                                      $" шаблона {PRI_NomerShablon}," +
                                      $"\n таблицы {PRO_TableName}:" +
                                      $"\n {pRow["Value", DataRowVersion.Original]}");
                return(true);
            }
            // Insert Находим максимальный код
            _Cod = MySql.MET_QueryInt(MyQuery.MET_List_MaxCod_Select_2(PRO_TableName, PRI_NomerShablon)) + 1;
            if (_Cod == 1)
            {
                _Cod = PRI_NomerShablon * 1000 + 1;                             // если это первый ответ в шаблоне то начинаем с нужного номера
            }
            // Добавляем ответ в базу
            MySql.MET_QueryNo(MyQuery.MET_List_Insert_1(PRO_TableName, _Cod, PRI_NomerShablon, PRI_VarID, pStrValue));
            // Добавляем данные в sqlDs
            pRow["Cod"]   = _Cod;
            pRow["Value"] = pStrValue;
            MyGlo.DataSet.Tables[PRO_TableName].Rows.Add(pRow);
            return(true);
        }