void QEquipmentTypes_QEquipmentTypesRowDeleted(object sender, DataSetQuery.QEquipmentTypesRowChangeEvent e) { if (e.Action == DataRowAction.Delete) { if (!m_bAcceptChanges) { e.Row.RejectChanges(); } else { try { using (var cmdBuilder = new SQLiteCommandBuilder(this.qEquipmentTypesTableAdapter.Adapter)) this.qEquipmentTypesTableAdapter.Adapter.Update(this.dataSetQuery.QEquipmentTypes); } catch (SQLiteException ex) { MyLocalizer.XtraMessageBoxShow(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (DBConcurrencyException ex) { MyLocalizer.XtraMessageBoxShow(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }
void QEquipmentTypes_QEquipmentTypesRowDeleting(object sender, DataSetQuery.QEquipmentTypesRowChangeEvent e) { try { if (e.Action == DataRowAction.Delete) { if (Convert.ToInt64(e.Row["ReadOnly"]) != 0) { MyLocalizer.XtraMessageBoxShow("Недостаточно прав для удаления записи.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); m_bAcceptChanges = false; return; } if (MyLocalizer.XtraMessageBoxShow("Удалить запись?", "Предупреждение", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) != DialogResult.Yes) { m_bAcceptChanges = false; return; } else { long id = Convert.ToInt64(e.Row["EquipmentTypeID"]); SQLiteConnection connection = new SQLiteConnection(global::DiarMain.Properties.Settings.Default.diarConnectionString); connection.Open(); SQLiteCommand com = new SQLiteCommand(connection); com.CommandText = "Select COUNT(*) AS Cnt from Equipments WHERE EquipmentTypeID = ?"; com.CommandType = CommandType.Text; SQLiteParameter param1 = new SQLiteParameter("@Param1", DbType.Int64); param1.Value = id; com.Parameters.Add(param1); SQLiteDataReader dr = com.ExecuteReader(); while (dr.Read()) { if (Convert.ToInt64(dr["Cnt"]) > 0) { MyLocalizer.XtraMessageBoxShow("Существует оборудование данного типа.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); m_bAcceptChanges = false; dr.Close(); connection.Close(); return; } } dr.Close(); m_bAcceptChanges = true; connection.Close(); } } } catch (SQLiteException ex) { MyLocalizer.XtraMessageBoxShow(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (DBConcurrencyException ex) { MyLocalizer.XtraMessageBoxShow(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/*void QEquipmentTypes_QEquipmentTypesRowChanging(object sender, DataSetQuery.QEquipmentTypesRowChangeEvent e) * { * //throw new NotImplementedException(); * }*/ void QEquipmentTypes_QEquipmentTypesRowChanged(object sender, DataSetQuery.QEquipmentTypesRowChangeEvent e) { if (e.Action == DataRowAction.Add || e.Action == DataRowAction.Change) { try { if (e.Action == DataRowAction.Change && m_bUpdateID) { this.dataSetQuery.QEquipmentTypes.AcceptChanges(); m_bUpdateID = false; return; } else { using (var cmdBuilder = new SQLiteCommandBuilder(this.qEquipmentTypesTableAdapter.Adapter)) this.qEquipmentTypesTableAdapter.Adapter.Update(this.dataSetQuery.QEquipmentTypes); } if (e.Action == DataRowAction.Add) { SQLiteConnection connection = new SQLiteConnection(global::DiarMain.Properties.Settings.Default.diarConnectionString); connection.Open(); SQLiteCommand com = new SQLiteCommand(connection); com.CommandText = "select seq from sqlite_sequence where name = 'EquipmentTypes'"; com.CommandType = CommandType.Text; SQLiteDataReader dr = com.ExecuteReader(); long id = 0; while (dr.Read()) { id = Convert.ToInt64(dr["seq"]); } dr.Close(); connection.Close(); m_bUpdateID = true; ((DataRowView)(qEquipmentTypesBindingSource.Current)).Row["EquipmentTypeID"] = id; } } catch (SQLiteException ex) { MyLocalizer.XtraMessageBoxShow(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (DBConcurrencyException ex) { MyLocalizer.XtraMessageBoxShow(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }