First version of the Main form that is able to pull all the required data from the SQL database. Holiday detection is disabled for this build. Fixed some bugs with the debug database conversion code. Still missing Ad Special data in the conversion code.
This commit is contained in:
@@ -77,14 +77,15 @@ namespace AdvertsingProfitControl
|
||||
}
|
||||
}
|
||||
|
||||
private void moveOverButton_Click(object sender, EventArgs e)
|
||||
private void MoveOverButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (existingDatesListBox.SelectedIndex != -1)
|
||||
if (existingDatesListBox.SelectedIndex == -1) return;
|
||||
foreach (var index in existingDatesListBox.SelectedItems)
|
||||
{
|
||||
datesToConvertListBox.Items.Add(existingDatesListBox.SelectedItem);
|
||||
existingDatesListBox.Items.Remove(existingDatesListBox.SelectedItem);
|
||||
moveOverButton.Enabled = false;
|
||||
datesToConvertListBox.Items.Add(index);
|
||||
//existingDatesListBox.Items.Remove(index);
|
||||
}
|
||||
moveOverButton.Enabled = false;
|
||||
}
|
||||
|
||||
private void convertButton_Click(object sender, EventArgs e)
|
||||
@@ -93,6 +94,25 @@ namespace AdvertsingProfitControl
|
||||
{
|
||||
return;
|
||||
}
|
||||
//Start by bringing in all the ad items then the suppliers.
|
||||
var adItems = GetAdItems();
|
||||
foreach (var adItem in adItems)
|
||||
{
|
||||
var db = new AdvertisingProfitControlModel();
|
||||
if (db.AdItems.Any(x => x.Name == adItem)) continue;
|
||||
var temp = new AdItem { Name = TextFormat.FormatAdItemText(adItem) };
|
||||
db.AdItems.Add(temp);
|
||||
db.SaveChanges();
|
||||
}
|
||||
var suppliers = GetSuppliers();
|
||||
foreach (var supplier in suppliers)
|
||||
{
|
||||
var db = new AdvertisingProfitControlModel();
|
||||
if (db.Suppliers.Any(x => x.Name == supplier)) continue;
|
||||
var temp = new Supplier { Name = supplier };
|
||||
db.Suppliers.Add(temp);
|
||||
db.SaveChanges();
|
||||
}
|
||||
foreach (var date in datesToConvertListBox.Items)
|
||||
{
|
||||
var oldDateId = GetDateIdByDateString(date.ToString());
|
||||
@@ -112,15 +132,8 @@ namespace AdvertsingProfitControl
|
||||
|
||||
private void MassiveWriteFunction(string dateString, DataTable projections, DataTable inventory, DataTable actualSales, DataTable invoice, DataTable weeklySales, DataTable taxableTable, DataTable costOfSales, string comments)
|
||||
{
|
||||
//var dbT = new DatabaseTracker();
|
||||
////Get a new ID number for the date supplied.
|
||||
//var oleDbConnection = new OleDbConnection(dbT.DatabaseConnectionString);
|
||||
//var oleDbCommand = new OleDbCommand
|
||||
//{
|
||||
// Connection = oleDbConnection
|
||||
//};
|
||||
try
|
||||
{
|
||||
{
|
||||
using (var transaction = new TransactionScope())
|
||||
{
|
||||
var db = new AdvertisingProfitControlModel();
|
||||
@@ -163,7 +176,7 @@ namespace AdvertsingProfitControl
|
||||
var adItem = new AdItem();
|
||||
var adItemId = 0;
|
||||
//var id = int.Parse(projections.Rows[rowIndex][0].ToString());
|
||||
var spam = projections.Rows[rowIndex][0].ToString();
|
||||
var spam = TextFormat.FormatAdItemText(projections.Rows[rowIndex][0].ToString());
|
||||
if (db.AdItems.Any(x => x.Name == spam))
|
||||
{
|
||||
//Exists
|
||||
@@ -176,7 +189,6 @@ namespace AdvertsingProfitControl
|
||||
adItem.Name = projections.Rows[rowIndex][0].ToString();
|
||||
db.AdItems.Add(adItem);
|
||||
adItemId = adItem.Id;
|
||||
|
||||
}
|
||||
projectionedSale.Sold = projections.Rows[rowIndex][1].ToString();
|
||||
projectionedSale.SalePrice = projections.Rows[rowIndex][2].ToString();
|
||||
@@ -219,7 +231,7 @@ namespace AdvertsingProfitControl
|
||||
var inventoryObject = new Inventory();
|
||||
AdItem adItem;
|
||||
var adItemId = 0;
|
||||
var spam = actualSales.Rows[i][0].ToString();
|
||||
var spam = TextFormat.FormatAdItemText(inventory.Rows[i][0].ToString());
|
||||
if (db.AdItems.Any(x => x.Name == spam))
|
||||
{
|
||||
//Exists
|
||||
@@ -261,7 +273,7 @@ namespace AdvertsingProfitControl
|
||||
//Get the ID number of the ad item.
|
||||
AdItem adItem;
|
||||
var adItemId = 0;
|
||||
var spam = actualSales.Rows[rowIndex][0].ToString();
|
||||
var spam = TextFormat.FormatAdItemText(actualSales.Rows[rowIndex][0].ToString());
|
||||
if (db.AdItems.Any(x => x.Name == spam))
|
||||
{
|
||||
//Exists
|
||||
@@ -339,43 +351,54 @@ namespace AdvertsingProfitControl
|
||||
// oleDbCommand.ExecuteNonQuery();
|
||||
// oleDbCommand.Parameters.Clear();
|
||||
}
|
||||
var weeklySale = new WeeklySale
|
||||
if (weeklySales.Rows.Count == 1)
|
||||
{
|
||||
Sunday = decimal.Parse(weeklySales.Rows[0][0].ToString()),
|
||||
Monday = decimal.Parse(weeklySales.Rows[0][1].ToString()),
|
||||
Tuesday = decimal.Parse(weeklySales.Rows[0][2].ToString()),
|
||||
Wednesday = decimal.Parse(weeklySales.Rows[0][3].ToString()),
|
||||
Thursday = decimal.Parse(weeklySales.Rows[0][4].ToString()),
|
||||
Friday = decimal.Parse(weeklySales.Rows[0][5].ToString()),
|
||||
Saturday = decimal.Parse(weeklySales.Rows[0][6].ToString()),
|
||||
TotalSales = decimal.Parse(weeklySales.Rows[0][7].ToString()),
|
||||
FkDateId = date.Id
|
||||
};
|
||||
db.WeeklySales.Add(weeklySale);
|
||||
//Comes from DatabaseReader class, so offset by one because zero is the ID number.
|
||||
var taxable = new Taxable
|
||||
var weeklySale = new WeeklySale
|
||||
{
|
||||
Sunday = decimal.Parse(weeklySales.Rows[0][0].ToString()),
|
||||
Monday = decimal.Parse(weeklySales.Rows[0][1].ToString()),
|
||||
Tuesday = decimal.Parse(weeklySales.Rows[0][2].ToString()),
|
||||
Wednesday = decimal.Parse(weeklySales.Rows[0][3].ToString()),
|
||||
Thursday = decimal.Parse(weeklySales.Rows[0][4].ToString()),
|
||||
Friday = decimal.Parse(weeklySales.Rows[0][5].ToString()),
|
||||
Saturday = decimal.Parse(weeklySales.Rows[0][6].ToString()),
|
||||
TotalSales = decimal.Parse(weeklySales.Rows[0][7].ToString()),
|
||||
FkDateId = date.Id
|
||||
};
|
||||
db.WeeklySales.Add(weeklySale);
|
||||
}
|
||||
|
||||
if (taxableTable.Rows.Count == 1)
|
||||
{
|
||||
Sunday = decimal.Parse(taxableTable.Rows[0][1].ToString()),
|
||||
Monday = decimal.Parse(taxableTable.Rows[0][2].ToString()),
|
||||
Tuesday = decimal.Parse(taxableTable.Rows[0][3].ToString()),
|
||||
Wednesday = decimal.Parse(taxableTable.Rows[0][4].ToString()),
|
||||
Thursday = decimal.Parse(taxableTable.Rows[0][5].ToString()),
|
||||
Friday = decimal.Parse(taxableTable.Rows[0][6].ToString()),
|
||||
Saturday = decimal.Parse(taxableTable.Rows[0][7].ToString()),
|
||||
Total = decimal.Parse(taxableTable.Rows[0][8].ToString()),
|
||||
FkDateId = date.Id
|
||||
};
|
||||
db.Taxables.Add(taxable);
|
||||
//Comes from DatabaseReader class, so offset by one because zero is the ID number.
|
||||
var taxable = new Taxable
|
||||
{
|
||||
Sunday = decimal.Parse(taxableTable.Rows[0][1].ToString()),
|
||||
Monday = decimal.Parse(taxableTable.Rows[0][2].ToString()),
|
||||
Tuesday = decimal.Parse(taxableTable.Rows[0][3].ToString()),
|
||||
Wednesday = decimal.Parse(taxableTable.Rows[0][4].ToString()),
|
||||
Thursday = decimal.Parse(taxableTable.Rows[0][5].ToString()),
|
||||
Friday = decimal.Parse(taxableTable.Rows[0][6].ToString()),
|
||||
Saturday = decimal.Parse(taxableTable.Rows[0][7].ToString()),
|
||||
Total = decimal.Parse(taxableTable.Rows[0][8].ToString()),
|
||||
FkDateId = date.Id
|
||||
};
|
||||
db.Taxables.Add(taxable);
|
||||
}
|
||||
//SELECT CostOfSalesAnalysis.ID, CostOfSalesAnalysis.SalesPerManHour, CostOfSalesAnalysis.SalaryPercentage, CostOfSalesAnalysis.SalaryDollars, CostOfSalesAnalysis.Supplies FROM CostOfSalesAnalysis WHERE FK_DateID = ?
|
||||
var cost = new CostAnalysi
|
||||
if (costOfSales.Rows.Count == 1)
|
||||
{
|
||||
SalesPerManHour = decimal.Parse(costOfSales.Rows[0][1].ToString()),
|
||||
SalaryPercentage = decimal.Parse(costOfSales.Rows[0][2].ToString()),
|
||||
SalaryDollar = decimal.Parse(costOfSales.Rows[0][3].ToString()),
|
||||
Supplies = decimal.Parse(costOfSales.Rows[0][4].ToString()),
|
||||
FkDateId = date.Id
|
||||
};
|
||||
db.CostAnalysis.Add(cost);
|
||||
var cost = new CostAnalysi
|
||||
{
|
||||
SalesPerManHour = decimal.Parse(costOfSales.Rows[0][1].ToString()),
|
||||
SalaryPercentage = decimal.Parse(costOfSales.Rows[0][2].ToString()),
|
||||
SalaryDollar = decimal.Parse(costOfSales.Rows[0][3].ToString()),
|
||||
Supplies = decimal.Parse(costOfSales.Rows[0][4].ToString()),
|
||||
FkDateId = date.Id
|
||||
};
|
||||
db.CostAnalysis.Add(cost);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(comments))
|
||||
{
|
||||
var comment = new Note
|
||||
@@ -400,10 +423,54 @@ namespace AdvertsingProfitControl
|
||||
MessageBox.Show(e.Message);
|
||||
//oleDbTransaction?.Rollback();
|
||||
}
|
||||
finally
|
||||
}
|
||||
|
||||
public List<string> GetAdItems()
|
||||
{
|
||||
var adItems = new List<string>();
|
||||
var oleDbCommand = new OleDbCommand
|
||||
{
|
||||
//oleDbConnection.Close();
|
||||
CommandText = "SELECT AdItem.AdItem FROM AdItem ORDER BY AdItem.AdItem ASC"
|
||||
};
|
||||
var connection = new OleDbConnection(_connectionString);
|
||||
oleDbCommand.Connection = connection;
|
||||
using (connection)
|
||||
{
|
||||
using (oleDbCommand)
|
||||
{
|
||||
connection.Open();
|
||||
var reader = oleDbCommand.ExecuteReader();
|
||||
while (reader != null && reader.Read())
|
||||
{
|
||||
adItems.Add(reader[0].ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
return adItems;
|
||||
}
|
||||
|
||||
public List<string> GetSuppliers()
|
||||
{
|
||||
var adItems = new List<string>();
|
||||
var oleDbCommand = new OleDbCommand
|
||||
{
|
||||
CommandText = "SELECT Supplier.SupplierName FROM Supplier ORDER BY Supplier.SupplierName ASC"
|
||||
};
|
||||
var connection = new OleDbConnection(_connectionString);
|
||||
oleDbCommand.Connection = connection;
|
||||
using (connection)
|
||||
{
|
||||
using (oleDbCommand)
|
||||
{
|
||||
connection.Open();
|
||||
var reader = oleDbCommand.ExecuteReader();
|
||||
while (reader != null && reader.Read())
|
||||
{
|
||||
adItems.Add(reader[0].ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
return adItems;
|
||||
}
|
||||
|
||||
public int GetSupplierId(string supplierName)
|
||||
|
||||
Reference in New Issue
Block a user