Fixed a bug in the row parsing engine related to ad special rows. Move all data from the old format to the new format. Updated the main form's UI.
This commit is contained in:
@@ -64,6 +64,7 @@ namespace AdvertsingProfitControl
|
||||
}
|
||||
}
|
||||
}
|
||||
connection.Close();
|
||||
}
|
||||
|
||||
foreach (var date in dates)
|
||||
@@ -99,15 +100,14 @@ namespace AdvertsingProfitControl
|
||||
var actualSales = ReturnActualSales(oldDateId);
|
||||
var invoices = ReturnInvoiceTable(oldDateId);
|
||||
var weeklySales = ReturnWeeklySalesFromDateId(oldDateId);
|
||||
MassiveWriteFunction(date.ToString(), projectionsTable, inventoryTable, actualSales, invoices, weeklySales);
|
||||
var comment = GetComments(oldDateId);
|
||||
MassiveWriteFunction(date.ToString(), projectionsTable, inventoryTable, actualSales, invoices, weeklySales, comment);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void MassiveWriteFunction(string dateString, DataTable projections, DataTable inventory, DataTable actualSales, DataTable invoice, DataTable weeklySales)
|
||||
private void MassiveWriteFunction(string dateString, DataTable projections, DataTable inventory, DataTable actualSales, DataTable invoice, DataTable weeklySales, string comments)
|
||||
{
|
||||
var dbT = new DatabaseTracker();
|
||||
var dbR = new DatabaseReader();
|
||||
//Get a new ID number for the date supplied.
|
||||
var oleDbConnection = new OleDbConnection(dbT.DatabaseConnectionString);
|
||||
var oleDbCommand = new OleDbCommand
|
||||
@@ -149,7 +149,7 @@ namespace AdvertsingProfitControl
|
||||
//Get the group name of the ad special its in.
|
||||
adspecialId = GetAdSpecialId(int.Parse(projections.Rows[rowIndex][8].ToString()));
|
||||
oleDbCommand.CommandText =
|
||||
"INSERT INTO Projections (Sold, SalePrice, TotalSales, Cost, ProfitReturn, TotalProfitReturn, FK_AdItemID, RowAttribute, FK_AdSpecialGroupName, RowPosition, FK_DateID) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||
"INSERT INTO Projections (Sold, SalePrice, TotalSales, Cost, ProfitReturn, TotalProfitReturn, FK_AdItemID, RowAttribute, FK_AdSpecialGroupName, RowPosition, FK_DateID) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||
//SELECT AdItem.AdItem, APC.ProjectionSold, APC.ProjectionSalePrice, APC.ProjectionTotalSales, APC.ProjectionCost, APC.ProjectionProfitReturn, APC.ProjectionTotalProfitReturn, APC.RowAttribute, APC.FK_GroupID FROM (AdItem INNER JOIN APC ON AdItem.ID = APC.FK_AdItemID) WHERE FK_DateID = ? ORDER BY RowPosition ASC
|
||||
oleDbCommand.Parameters.AddWithValue("Sold", projections.Rows[rowIndex][1]);
|
||||
oleDbCommand.Parameters.AddWithValue("SalesPrice", projections.Rows[rowIndex][2]);
|
||||
@@ -158,7 +158,8 @@ namespace AdvertsingProfitControl
|
||||
oleDbCommand.Parameters.AddWithValue("ProfitReturn", projections.Rows[rowIndex][5]);
|
||||
oleDbCommand.Parameters.AddWithValue("TotalProfitReturn", projections.Rows[rowIndex][6]);
|
||||
oleDbCommand.Parameters.AddWithValue("adItemID", adItemId);
|
||||
oleDbCommand.Parameters.AddWithValue("RowAttribute", int.Parse(projections.Rows[rowIndex][7].ToString()));
|
||||
oleDbCommand.Parameters.AddWithValue("RowAttribute",
|
||||
int.Parse(projections.Rows[rowIndex][7].ToString()));
|
||||
oleDbCommand.Parameters.AddWithValue("adSpecialID", adspecialId);
|
||||
oleDbCommand.Parameters.AddWithValue("RowPosition", (rowIndex + 1));
|
||||
oleDbCommand.Parameters.AddWithValue("dateID", dateId);
|
||||
@@ -173,10 +174,10 @@ namespace AdvertsingProfitControl
|
||||
oleDbCommand.CommandText =
|
||||
"INSERT INTO Inventory (BeginningInventory, Received, TotalInventory, EndingInventory, FK_AdItemID, RowAttribute, FK_AdSpecialGroupName, RowPosition, FK_DateID) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||
//"SELECT AdItem.AdItem, APC.BeginingInventory, APC.Received, APC.TotalInventory, APC.EndingInventory, APC.RowAttribute, APC.FK_GroupID FROM (AdItem INNER JOIN APC ON AdItem.ID = APC.FK_AdItemID) WHERE FK_DateID = ? ORDER BY RowPosition ASC"
|
||||
oleDbCommand.Parameters.AddWithValue("BegnningInventory", inventory.Rows[i][1]);
|
||||
oleDbCommand.Parameters.AddWithValue("Received", inventory.Rows[i][2]);
|
||||
oleDbCommand.Parameters.AddWithValue("TotalInventory", inventory.Rows[i][3]);
|
||||
oleDbCommand.Parameters.AddWithValue("EndingInventory", inventory.Rows[i][4]);
|
||||
oleDbCommand.Parameters.AddWithValue("BeginningInventory", inventory.Rows[i][1].ToString());
|
||||
oleDbCommand.Parameters.AddWithValue("Received", inventory.Rows[i][2].ToString());
|
||||
oleDbCommand.Parameters.AddWithValue("TotalInventory", inventory.Rows[i][3].ToString());
|
||||
oleDbCommand.Parameters.AddWithValue("EndingInventory", inventory.Rows[i][4].ToString());
|
||||
oleDbCommand.Parameters.AddWithValue("AdItemID", adItemId);
|
||||
oleDbCommand.Parameters.AddWithValue("RowAttribute", int.Parse(inventory.Rows[i][5].ToString()));
|
||||
oleDbCommand.Parameters.AddWithValue("FK_AdSpecialGroup", adspecialId);
|
||||
@@ -193,7 +194,7 @@ namespace AdvertsingProfitControl
|
||||
var adItemId = int.Parse(RetrieveAdItemId(actualSales.Rows[rowIndex][0].ToString()));
|
||||
adspecialId = GetAdSpecialId(int.Parse(actualSales.Rows[rowIndex][8].ToString()));
|
||||
oleDbCommand.CommandText =
|
||||
"INSERT INTO ActualSales (Sold, SalePrice, TotalSales, Cost, ProfitReturn, TotalProfitReturn, FK_AdItemID, RowAttribute, FK_AdSpecialGroupName, RowPosition, FK_DateID) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||
"INSERT INTO ActualSales (Sold, SalePrice, TotalSales, Cost, ProfitReturn, TotalProfitReturn, FK_AdItemID, RowAttribute, FK_AdSpecialGroupName, RowPosition, FK_DateID) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||
//SELECT AdItem.AdItem, APC.ProjectionSold, APC.ProjectionSalePrice, APC.ProjectionTotalSales, APC.ProjectionCost, APC.ProjectionProfitReturn, APC.ProjectionTotalProfitReturn, APC.RowAttribute, APC.FK_GroupID FROM (AdItem INNER JOIN APC ON AdItem.ID = APC.FK_AdItemID) WHERE FK_DateID = ? ORDER BY RowPosition ASC
|
||||
oleDbCommand.Parameters.AddWithValue("Sold", actualSales.Rows[rowIndex][1]);
|
||||
oleDbCommand.Parameters.AddWithValue("SalesPrice", actualSales.Rows[rowIndex][2]);
|
||||
@@ -202,7 +203,8 @@ namespace AdvertsingProfitControl
|
||||
oleDbCommand.Parameters.AddWithValue("ProfitReturn", actualSales.Rows[rowIndex][5]);
|
||||
oleDbCommand.Parameters.AddWithValue("TotalProfitReturn", actualSales.Rows[rowIndex][6]);
|
||||
oleDbCommand.Parameters.AddWithValue("adItemID", adItemId);
|
||||
oleDbCommand.Parameters.AddWithValue("RowAttribute", int.Parse(projections.Rows[rowIndex][7].ToString()));
|
||||
oleDbCommand.Parameters.AddWithValue("RowAttribute",
|
||||
int.Parse(projections.Rows[rowIndex][7].ToString()));
|
||||
oleDbCommand.Parameters.AddWithValue("adSpecialID", adspecialId);
|
||||
oleDbCommand.Parameters.AddWithValue("RowPosition", (rowIndex + 1));
|
||||
oleDbCommand.Parameters.AddWithValue("dateID", dateId);
|
||||
@@ -215,11 +217,13 @@ namespace AdvertsingProfitControl
|
||||
var supplierId = GetSupplierId(invoice.Rows[i][1].ToString());
|
||||
//SELECT Invoice.InvoiceDate, Supplier.SupplierName, Invoice.InvoiceNumber, Invoice.InvoiceNetAmountAtCost, Invoice.InvoiceNetAmount, Invoice.InvoiceNote FROM (Supplier INNER JOIN Invoice ON Supplier.ID = Invoice.FK_Supplier) WHERE FK_DateID = ?
|
||||
oleDbCommand.CommandText =
|
||||
"INSERT INTO Invoice (InvoiceDate, InvoiceNumber, InvoiceNetAmountAtCost, InvoiceNetAmount, InvoiceNote, FK_Supplier, FK_DateID) VALUES(?,?,?,?,?,?,?)";
|
||||
"INSERT INTO Invoice (InvoiceDate, InvoiceNumber, InvoiceNetAmountAtCost, InvoiceNetAmount, InvoiceNote, FK_Supplier, FK_DateID) VALUES(?,?,?,?,?,?,?)";
|
||||
oleDbCommand.Parameters.AddWithValue("InvoiceDate", invoice.Rows[i][0].ToString());
|
||||
oleDbCommand.Parameters.AddWithValue("InvoiceNumber", invoice.Rows[i][2].ToString());
|
||||
oleDbCommand.Parameters.AddWithValue("InvoiceNetAmountAtCost", invoice.Rows[i][3].ToString() == "" ? 0 : double.Parse(invoice.Rows[i][3].ToString()));
|
||||
oleDbCommand.Parameters.AddWithValue("InvoiceNetAmount", invoice.Rows[i][4].ToString() == "" ? 0 : double.Parse(invoice.Rows[i][4].ToString()));
|
||||
oleDbCommand.Parameters.AddWithValue("InvoiceNetAmountAtCost",
|
||||
invoice.Rows[i][3].ToString() == "" ? 0 : double.Parse(invoice.Rows[i][3].ToString()));
|
||||
oleDbCommand.Parameters.AddWithValue("InvoiceNetAmount",
|
||||
invoice.Rows[i][4].ToString() == "" ? 0 : double.Parse(invoice.Rows[i][4].ToString()));
|
||||
oleDbCommand.Parameters.AddWithValue("InvoiceNote", invoice.Rows[i][5].ToString());
|
||||
oleDbCommand.Parameters.AddWithValue("FK_Supplier", supplierId);
|
||||
oleDbCommand.Parameters.AddWithValue("FK_DateID", dateId);
|
||||
@@ -227,7 +231,8 @@ namespace AdvertsingProfitControl
|
||||
oleDbCommand.Parameters.Clear();
|
||||
}
|
||||
//"SELECT WeeklySales.Sunday, WeeklySales.Monday, WeeklySales.Tuesday, WeeklySales.Wednesday, WeeklySales.Thursday, WeeklySales.Friday, WeeklySales.Saturday, WeeklySales.TotalSales FROM WeeklySales WHERE FK_DateID = ?"
|
||||
oleDbCommand.CommandText = "INSERT INTO WeeklySales (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, TotalSales, FK_DateID) VALUES (?,?,?,?,?,?,?,?,?)";
|
||||
oleDbCommand.CommandText =
|
||||
"INSERT INTO WeeklySales (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, TotalSales, FK_DateID) VALUES (?,?,?,?,?,?,?,?,?)";
|
||||
oleDbCommand.Parameters.AddWithValue("Sunday", weeklySales.Rows[0][0]);
|
||||
oleDbCommand.Parameters.AddWithValue("Monday", weeklySales.Rows[0][1]);
|
||||
oleDbCommand.Parameters.AddWithValue("Tuesday", weeklySales.Rows[0][2]);
|
||||
@@ -239,13 +244,22 @@ namespace AdvertsingProfitControl
|
||||
oleDbCommand.Parameters.AddWithValue("DateID", dateId);
|
||||
oleDbCommand.ExecuteNonQuery();
|
||||
|
||||
oleDbTransaction.Commit();
|
||||
oleDbCommand.Parameters.Clear();
|
||||
oleDbCommand.CommandText = "INSERT INTO Comment (Comment, FK_DateID) VALUES (?, ?)";
|
||||
oleDbCommand.Parameters.AddWithValue("Com", comments);
|
||||
oleDbCommand.Parameters.AddWithValue("FK", dateId);
|
||||
oleDbCommand.ExecuteNonQuery();
|
||||
oleDbTransaction.Commit();
|
||||
}
|
||||
catch (OleDbException e)
|
||||
{
|
||||
MessageBox.Show(e.Message);
|
||||
oleDbTransaction?.Rollback();
|
||||
}
|
||||
finally
|
||||
{
|
||||
oleDbConnection.Close();
|
||||
}
|
||||
}
|
||||
|
||||
public int GetSupplierId(string supplierName)
|
||||
@@ -273,7 +287,10 @@ namespace AdvertsingProfitControl
|
||||
{
|
||||
MessageBox.Show(e.Message);
|
||||
}
|
||||
|
||||
finally
|
||||
{
|
||||
oleDbConnection.Close();
|
||||
}
|
||||
return supplierId;
|
||||
}
|
||||
|
||||
@@ -318,15 +335,46 @@ namespace AdvertsingProfitControl
|
||||
id = int.Parse(reader[0].ToString());
|
||||
}
|
||||
reader?.Close();
|
||||
spam.Close();
|
||||
}
|
||||
catch (OleDbException e)
|
||||
{
|
||||
MessageBox.Show(e.Message);
|
||||
throw;
|
||||
}
|
||||
finally
|
||||
{
|
||||
oleDbConnection.Close();
|
||||
}
|
||||
return id;
|
||||
}
|
||||
|
||||
private string GetComments(int dateId)
|
||||
{
|
||||
var comments = "";
|
||||
var oleDbCommand = new OleDbCommand
|
||||
{
|
||||
CommandText = "SELECT Comment.Comment FROM Comment WHERE Comment.FK_DateID = ?"
|
||||
};
|
||||
oleDbCommand.Parameters.AddWithValue("DateID", dateId);
|
||||
var connection = new OleDbConnection(_connectionString);
|
||||
oleDbCommand.Connection = connection;
|
||||
using (connection)
|
||||
{
|
||||
using (oleDbCommand)
|
||||
{
|
||||
connection.Open();
|
||||
var reader = oleDbCommand.ExecuteReader();
|
||||
while (reader != null && reader.Read())
|
||||
{
|
||||
comments = reader[0].ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return comments;
|
||||
}
|
||||
|
||||
public string RetrieveAdItemId(string adItemName)
|
||||
{
|
||||
var dbT = new DatabaseTracker();
|
||||
@@ -359,6 +407,7 @@ namespace AdvertsingProfitControl
|
||||
}
|
||||
}
|
||||
}
|
||||
connection.Close();
|
||||
}
|
||||
|
||||
return dateId;
|
||||
@@ -385,6 +434,7 @@ namespace AdvertsingProfitControl
|
||||
dataAdapter.Fill(dataTable);
|
||||
}
|
||||
}
|
||||
connection.Close();
|
||||
}
|
||||
return dataTable;
|
||||
}
|
||||
@@ -410,6 +460,7 @@ namespace AdvertsingProfitControl
|
||||
dataAdapter.Fill(dataTable);
|
||||
}
|
||||
}
|
||||
connection.Close();
|
||||
}
|
||||
return dataTable;
|
||||
}
|
||||
@@ -435,6 +486,7 @@ namespace AdvertsingProfitControl
|
||||
dataAdapter.Fill(dataTable);
|
||||
}
|
||||
}
|
||||
connection.Close();
|
||||
}
|
||||
return dataTable;
|
||||
}
|
||||
@@ -459,6 +511,7 @@ namespace AdvertsingProfitControl
|
||||
adapter.Fill(dataTable);
|
||||
}
|
||||
}
|
||||
connection.Close();
|
||||
}
|
||||
|
||||
return dataTable;
|
||||
@@ -484,6 +537,7 @@ namespace AdvertsingProfitControl
|
||||
dataAdapter.Fill(dataTable);
|
||||
}
|
||||
}
|
||||
connection.Close();
|
||||
}
|
||||
|
||||
return dataTable;
|
||||
|
||||
Reference in New Issue
Block a user