/// <summary> /// Exclui um registro da base de dados /// </summary> /// <param name="id">identificador do registro</param> public static void Delete(IID id, IBaseModel model) { try { model.Connection = DbContext.CreateConnection(); model.Connection.BeginTransaction(); //Validar model.ValidateDelete(); TableDefinitionAttribute tableDefinition = FindTableDefinition(model); CommandFactory cf = new CommandFactory(model.Connection, model.Connection.Transaction, model.GetType(), model, null); using (Command command = cf.CreateCommandDelete(tableDefinition, id)) { command.ExecuteNonQuery(); } model.Connection.CommitTransaction(); } catch { model.Connection.RollbackTransaction(); throw; } finally { if (model.Connection != null) { model.Connection.Close(); } } }