public void Perform(SqlTransaction transaction, SqlProjectInfo project, CommandAdder commandAdder) { var criticalError = false; try { using (var command = transaction.Connection.CreateCommand()) { command.CommandText = Entity.Content; command.Transaction = transaction; command.ExecuteNonQuery(); } Logger.Log("created {0}", Entity); } catch (Exception ex) { criticalError = true; Logger.Log("failed while trying to create {0}", Entity); Logger.Log(ex); transaction.Rollback(); } finally { if (!criticalError) { // command to update memory data must be performed only after sql commands commandAdder(new LambdaCommand((_, proj, _a) => UpdateProjectInfo(proj))); } } }
public void Perform(SqlTransaction transaction, SqlProjectInfo project, CommandAdder commandAdder) { var criticalError = false; try { using (var command = transaction.Connection.CreateCommand()) { command.CommandText = "drop " + Entity.Type.ToString().ToLower() + " dbo." + Entity.Name; command.Transaction = transaction; command.ExecuteNonQuery(); } Logger.Log("dropped {0}", Entity); } catch (Exception ex) { if (ex.Message.Contains(" it does not exist ")) { // ignore } else { criticalError = true; Logger.Log(ex); } } finally { if (!criticalError) { // command to update memory data must be performed only after sql commands commandAdder(new LambdaCommand((_, proj, _1) => UpdateProjectInfo(proj))); } } }
public void Perform(SqlTransaction transaction, SqlProjectInfo project, CommandAdder commandAdder) { lambda(transaction, project, commandAdder); }