Finished and tested database writing code for non table entities. Improved information reporting to the user, and created a new DbWriter object for table operations only.
This commit is contained in:
@@ -23,10 +23,10 @@ namespace AdvertsingProfitControl
|
||||
/// <param name="salesTable">The data table that contains the data to be inserted.</param>
|
||||
/// <param name="connectionString">A string pointing to the database.</param>
|
||||
/// <returns>A DbWriterStatus object that contains a status, rows added and an error message if necessary.</returns>
|
||||
public DbWriterStatus InsertIntoSalesTable(DataTable salesTable, string connectionString)
|
||||
public DbTableWriterStatus InsertIntoSalesTable(DataTable salesTable, string connectionString)
|
||||
{
|
||||
var lastRowProcessed = 0;
|
||||
var writerStatus = new DbWriterStatus();
|
||||
var writerStatus = new DbTableWriterStatus();
|
||||
var oleDbConnection = new OleDbConnection(connectionString);
|
||||
var oleDbCommand = new OleDbCommand
|
||||
{
|
||||
@@ -126,9 +126,9 @@ namespace AdvertsingProfitControl
|
||||
/// <param name="salesTable">The data table that contains the data to be inserted.</param>
|
||||
/// <param name="connectionString">A string pointing to the database.</param>
|
||||
/// <returns>A DbWriterStatus object that contains a status, rows added and an error message if necessary.</returns>
|
||||
public DbWriterStatus UpdateSalesTable(DataTable salesTable, string connectionString)
|
||||
public DbTableWriterStatus UpdateSalesTable(DataTable salesTable, string connectionString)
|
||||
{
|
||||
var updateStatus = new DbWriterStatus();
|
||||
var updateStatus = new DbTableWriterStatus();
|
||||
var lastRowProccessed = 0;
|
||||
var oleDbConnection = new OleDbConnection(connectionString);
|
||||
var oleDbCommand = new OleDbCommand
|
||||
@@ -228,9 +228,9 @@ namespace AdvertsingProfitControl
|
||||
/// <param name="table">The data table that contains the data to be inserted.</param>
|
||||
/// <param name="connectionString">A string pointing to the database.</param>
|
||||
/// <returns>A DbWriterStatus object that contains a status, rows added and an error message if necessary.</returns>
|
||||
public DbWriterStatus InsertIntoInventoryTable(DataTable table, string connectionString)
|
||||
public DbTableWriterStatus InsertIntoInventoryTable(DataTable table, string connectionString)
|
||||
{
|
||||
var status = new DbWriterStatus();
|
||||
var status = new DbTableWriterStatus();
|
||||
var lastRowProcessed = 0;
|
||||
var oleDbConnection = new OleDbConnection(connectionString);
|
||||
var oleDbCommand = new OleDbCommand
|
||||
@@ -321,9 +321,9 @@ namespace AdvertsingProfitControl
|
||||
/// <param name="table">The table with the changes to be made.</param>
|
||||
/// <param name="connectionString">A string pointing to the database.</param>
|
||||
/// <returns>A DbWriterStatus object that contains a status, rows added and an error message if necessary.</returns>
|
||||
public DbWriterStatus UpdateInventoryTable(DataTable table, string connectionString)
|
||||
public DbTableWriterStatus UpdateInventoryTable(DataTable table, string connectionString)
|
||||
{
|
||||
var status = new DbWriterStatus();
|
||||
var status = new DbTableWriterStatus();
|
||||
var lastRowProcessed = 0;
|
||||
var oleDbConnection = new OleDbConnection(connectionString);
|
||||
var oleDbCommand = new OleDbCommand
|
||||
@@ -408,9 +408,9 @@ namespace AdvertsingProfitControl
|
||||
}
|
||||
|
||||
|
||||
public DbWriterStatus ProccessInvoiceTable(DataGridView table, int dateId, string connectionString)
|
||||
public DbTableWriterStatus ProccessInvoiceTable(DataGridView table, int dateId, string connectionString)
|
||||
{
|
||||
var status = new DbWriterStatus();
|
||||
var status = new DbTableWriterStatus();
|
||||
var lastRowProcessed = 0;
|
||||
var rowsAdded = new List<int>();
|
||||
var oleDbConnection = new OleDbConnection(connectionString);
|
||||
@@ -549,22 +549,24 @@ namespace AdvertsingProfitControl
|
||||
var reader = oleDbCommand.ExecuteReader();
|
||||
while (reader != null && reader.Read())
|
||||
{
|
||||
status.AddRowId(0, int.Parse(reader[0].ToString()));
|
||||
status.Id = int.Parse(reader[0].ToString());
|
||||
}
|
||||
status.Status = status.Id > 0 ? WritingOperationStatus.InsertionSuccessful : WritingOperationStatus.Failed;
|
||||
}
|
||||
else
|
||||
{
|
||||
oleDbCommand.CommandText = "UPDATE Comment SET Comment = ? WHERE ID = ?";
|
||||
oleDbCommand.Parameters.AddWithValue("Comment", comments);
|
||||
oleDbCommand.Parameters.AddWithValue("ID", id);
|
||||
oleDbCommand.ExecuteNonQuery();
|
||||
var rowsEffected = oleDbCommand.ExecuteNonQuery();
|
||||
status.Status = rowsEffected == 1 ? WritingOperationStatus.UpdateSuccessful : WritingOperationStatus.Failed;
|
||||
}
|
||||
}
|
||||
catch (OleDbException e)
|
||||
{
|
||||
status.SetStatus(WritingOperationStatus.Failed);
|
||||
status.Status = WritingOperationStatus.Failed;
|
||||
_logConsole.WriteToLog(FrmLogConsole.Level.Error, "Failed to process the comment(s): " + e.Message);
|
||||
status.SetErrorMessage("Failed to update or insert comments into the database.");
|
||||
status.ErrorMessage = "Failed to update or insert comments into the database.";
|
||||
}
|
||||
finally
|
||||
{
|
||||
@@ -606,8 +608,9 @@ namespace AdvertsingProfitControl
|
||||
var reader = oleDbCommand.ExecuteReader();
|
||||
while (reader != null && reader.Read())
|
||||
{
|
||||
status.AddRowId(0, int.Parse(reader[0].ToString()));
|
||||
status.Id = int.Parse(reader[0].ToString());
|
||||
}
|
||||
status.Status = status.Id > 0 ? WritingOperationStatus.InsertionSuccessful : WritingOperationStatus.Failed;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -621,14 +624,15 @@ namespace AdvertsingProfitControl
|
||||
oleDbCommand.Parameters.AddWithValue("Saturday", weeklySales[6]);
|
||||
oleDbCommand.Parameters.AddWithValue("TotalSales", weeklySales[7]);
|
||||
oleDbCommand.Parameters.AddWithValue("ID", id);
|
||||
oleDbCommand.ExecuteNonQuery();
|
||||
var rowsEffected = oleDbCommand.ExecuteNonQuery();
|
||||
status.Status = rowsEffected == 1 ? WritingOperationStatus.UpdateSuccessful : WritingOperationStatus.Failed;
|
||||
}
|
||||
}
|
||||
catch (OleDbException e)
|
||||
{
|
||||
status.SetStatus(WritingOperationStatus.Failed);
|
||||
status.Status = WritingOperationStatus.Failed;
|
||||
_logConsole.WriteToLog(FrmLogConsole.Level.Error, "Failed to process the weekly sales: " + e.Message);
|
||||
status.SetErrorMessage("Failed to update or insert weekly sales into the database.");
|
||||
status.ErrorMessage = "Failed to update or insert weekly sales into the database.";
|
||||
}
|
||||
finally
|
||||
{
|
||||
@@ -670,8 +674,9 @@ namespace AdvertsingProfitControl
|
||||
var reader = oleDbCommand.ExecuteReader();
|
||||
while (reader != null && reader.Read())
|
||||
{
|
||||
status.AddRowId(0, int.Parse(reader[0].ToString()));
|
||||
status.Id = int.Parse(reader[0].ToString());
|
||||
}
|
||||
status.Status = status.Id > 0 ? WritingOperationStatus.InsertionSuccessful : WritingOperationStatus.Failed;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -685,14 +690,15 @@ namespace AdvertsingProfitControl
|
||||
oleDbCommand.Parameters.AddWithValue("Saturday", taxable[6]);
|
||||
oleDbCommand.Parameters.AddWithValue("TotalSales", taxable[7]);
|
||||
oleDbCommand.Parameters.AddWithValue("ID", id);
|
||||
oleDbCommand.ExecuteNonQuery();
|
||||
var rowsEffected = oleDbCommand.ExecuteNonQuery();
|
||||
status.Status = rowsEffected == 1 ? WritingOperationStatus.UpdateSuccessful : WritingOperationStatus.Failed;
|
||||
}
|
||||
}
|
||||
catch (OleDbException e)
|
||||
{
|
||||
status.SetStatus(WritingOperationStatus.Failed);
|
||||
status.Status = WritingOperationStatus.Failed;
|
||||
_logConsole.WriteToLog(FrmLogConsole.Level.Error, "Failed to process the taxable: " + e.Message);
|
||||
status.SetErrorMessage("Failed to update or insert taxable into the database.");
|
||||
status.ErrorMessage = "Failed to update or insert taxable into the database.";
|
||||
}
|
||||
finally
|
||||
{
|
||||
@@ -723,15 +729,16 @@ namespace AdvertsingProfitControl
|
||||
oleDbCommand.Parameters.AddWithValue("DateID", dateId);
|
||||
oleDbCommand.ExecuteNonQuery();
|
||||
//Now grab the ID number of the comment that was just added.
|
||||
oleDbCommand.CommandText = "SELECT ID FROM Taxable WHERE FK_DateID = ?";
|
||||
oleDbCommand.CommandText = "SELECT ID FROM CostOfSalesAnalysis WHERE FK_DateID = ?";
|
||||
oleDbCommand.Parameters.Clear();
|
||||
oleDbCommand.Parameters.AddWithValue("DateID", dateId);
|
||||
//Now read the ID number and add it to the collection with a default key.
|
||||
var reader = oleDbCommand.ExecuteReader();
|
||||
while (reader != null && reader.Read())
|
||||
{
|
||||
status.AddRowId(0, int.Parse(reader[0].ToString()));
|
||||
status.Id = int.Parse(reader[0].ToString());
|
||||
}
|
||||
status.Status = status.Id > 0 ? WritingOperationStatus.InsertionSuccessful : WritingOperationStatus.Failed;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -741,14 +748,15 @@ namespace AdvertsingProfitControl
|
||||
oleDbCommand.Parameters.AddWithValue("SalaryDollars", costAnalysis[2]);
|
||||
oleDbCommand.Parameters.AddWithValue("Supplies", costAnalysis[3]);
|
||||
oleDbCommand.Parameters.AddWithValue("ID", id);
|
||||
oleDbCommand.ExecuteNonQuery();
|
||||
var rowsEffected = oleDbCommand.ExecuteNonQuery();
|
||||
status.Status = rowsEffected == 1 ? WritingOperationStatus.UpdateSuccessful : WritingOperationStatus.Failed;
|
||||
}
|
||||
}
|
||||
catch (OleDbException e)
|
||||
{
|
||||
status.SetStatus(WritingOperationStatus.Failed);
|
||||
_logConsole.WriteToLog(FrmLogConsole.Level.Error, "Failed to process the taxable: " + e.Message);
|
||||
status.SetErrorMessage("Failed to update or insert taxable into the database.");
|
||||
status.Status = WritingOperationStatus.Failed;
|
||||
_logConsole.WriteToLog(FrmLogConsole.Level.Error, "Failed to process the cost analysis: " + e.Message);
|
||||
status.ErrorMessage = "Failed to update or insert costs analysis.";
|
||||
}
|
||||
finally
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user