/// <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); }