diff --git a/AdvertsingProfitControl/APCDatabase.accdb b/AdvertsingProfitControl/APCDatabase.accdb
index 90e06c4..ce1c2c4 100644
Binary files a/AdvertsingProfitControl/APCDatabase.accdb and b/AdvertsingProfitControl/APCDatabase.accdb differ
diff --git a/AdvertsingProfitControl/AdvertsingProfitControl.csproj b/AdvertsingProfitControl/AdvertsingProfitControl.csproj
index a01a4af..b74595e 100644
--- a/AdvertsingProfitControl/AdvertsingProfitControl.csproj
+++ b/AdvertsingProfitControl/AdvertsingProfitControl.csproj
@@ -109,6 +109,7 @@
+
Form
diff --git a/AdvertsingProfitControl/BackPageGenerator.cs b/AdvertsingProfitControl/BackPageGenerator.cs
index 00fb202..90c3aa6 100644
--- a/AdvertsingProfitControl/BackPageGenerator.cs
+++ b/AdvertsingProfitControl/BackPageGenerator.cs
@@ -36,7 +36,7 @@ namespace AdvertsingProfitControl
}
}
- public void GenerateWeeklyInventoryControlPage(string dateId)
+ public void GenerateWeeklyInventoryControlPage(int dateId)
{
var databaseTracker = new DatabaseTracker();
var databaseReader = new DatabaseReader();
diff --git a/AdvertsingProfitControl/DatabaseReader.cs b/AdvertsingProfitControl/DatabaseReader.cs
index 7532ecb..d13dae2 100644
--- a/AdvertsingProfitControl/DatabaseReader.cs
+++ b/AdvertsingProfitControl/DatabaseReader.cs
@@ -42,10 +42,10 @@ namespace AdvertsingProfitControl
///
/// The connection string for the database.
/// The ID number as a string.
- public string RetrieveMostRecentDateId(string connectionString)
+ public int RetrieveMostRecentDateId(string connectionString)
{
- var dateId = "0";
- var oleDbCommand = new OleDbCommand()
+ int dateId = 0;
+ var oleDbCommand = new OleDbCommand
{
CommandText = "SELECT WeekEnding.ID FROM WeekEnding WHERE WeekEnding.EndOfWeekDate = (SELECT MAX(WeekEnding.EndOfWeekDate) FROM WeekEnding)"
};
@@ -61,7 +61,7 @@ namespace AdvertsingProfitControl
{
while (reader != null && reader.Read())
{
- dateId = reader[0].ToString();
+ dateId = int.Parse(reader[0].ToString());
}
}
}
@@ -70,6 +70,34 @@ namespace AdvertsingProfitControl
return dateId;
}
+ public DateTime RetrieveMostRecentDate(string connectionString)
+ {
+ var date = new DateTime();
+ var oleDbCommand = new OleDbCommand
+ {
+ CommandText = "SELECT WeekEnding.EndOfWeekDate FROM WeekEnding WHERE WeekEnding.EndOfWeekDate = (SELECT MAX(WeekEnding.EndOfWeekDate) FROM WeekEnding)"
+ };
+ var connection = new OleDbConnection(connectionString);
+ oleDbCommand.Connection = connection;
+
+ using (connection)
+ {
+ using (oleDbCommand)
+ {
+ connection.Open();
+ using (var reader = oleDbCommand.ExecuteReader())
+ {
+ while (reader != null && reader.Read())
+ {
+ date = DateTime.Parse(reader[0].ToString());
+ }
+ }
+ }
+ }
+
+ return date;
+ }
+
///
/// Returns the date ID of the date string that is passed.
/// Preferred format is short date (1/20/2017).
@@ -106,7 +134,7 @@ namespace AdvertsingProfitControl
return dateId;
}
- public string RetrieveDateStringById(string dateId, string connectionString)
+ public string RetrieveDateStringById(int dateId, string connectionString)
{
string dateString = "";
var oleDbCommand = new OleDbCommand()
@@ -222,7 +250,7 @@ namespace AdvertsingProfitControl
public DateTime RetrieveMostRecentDateString(string connectionString)
{
- DateTime dateTimeObject = new DateTime();
+ var dateTimeObject = new DateTime();
var oleDbCommand = new OleDbCommand()
{
CommandText = "SELECT WeekEnding.EndOfWeekDate FROM WeekEnding WHERE WeekEnding.EndOfWeekDate = (SELECT MAX(WeekEnding.EndOfWeekDate) FROM WeekEnding)"
@@ -370,7 +398,7 @@ namespace AdvertsingProfitControl
return id;
}
- public List RetrieveUsedAdItemListByDateId(string dateId, string connectionString)
+ public List RetrieveUsedAdItemListByDateId(int dateId, string connectionString)
{
var adItemList = new List();
var oleDbCommand = new OleDbCommand
@@ -444,35 +472,6 @@ namespace AdvertsingProfitControl
#region Comment Functions
- public string RetrieveComments(string dateId, string connectionString)
- {
- 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();
- using(var reader = oleDbCommand.ExecuteReader())
- {
- while(reader != null && reader.Read())
- {
- comments = reader[0].ToString();
- }
- }
- }
- }
-
- return comments;
- }
-
///
/// Created for the new modify record form, returns the ID of the comment being grabbed.
///
@@ -715,7 +714,7 @@ namespace AdvertsingProfitControl
#region Table Return Functions
- public DataTable ReturnApcTableForReport(string dateId, string connectionString)
+ public DataTable ReturnApcTableForReport(int dateId, string connectionString)
{
var dataTable = new DataTable();
var oleDbCommand = new OleDbCommand()
@@ -741,7 +740,7 @@ namespace AdvertsingProfitControl
return dataTable;
}
- public DataTable ReturnProjectionsTable(string dateId, string connectionString)
+ public DataTable ReturnProjectionsTable(int dateId, string connectionString)
{
var dataTable = new DataTable();
var oleDbCommand = new OleDbCommand()
@@ -766,7 +765,7 @@ namespace AdvertsingProfitControl
return dataTable;
}
- public DataTable ReturnActualSales(string dateId, string connectionString)
+ public DataTable ReturnActualSales(int dateId, string connectionString)
{
var dataTable = new DataTable();
var oleDbCommand = new OleDbCommand()
@@ -791,7 +790,7 @@ namespace AdvertsingProfitControl
return dataTable;
}
- public DataTable ReturnInventoryTable(string dateId, string connectionString)
+ public DataTable ReturnInventoryTable(int dateId, string connectionString)
{
var dataTable = new DataTable();
var oleDbCommand = new OleDbCommand()
@@ -817,7 +816,7 @@ namespace AdvertsingProfitControl
}
- public DataTable ReturnInvoiceTable(string dateId, string connectionString)
+ public DataTable ReturnInvoiceTable(int dateId, string connectionString)
{
var dataTable = new DataTable();
var oleDbCommand = new OleDbCommand()
@@ -842,7 +841,7 @@ namespace AdvertsingProfitControl
return dataTable;
}
- public DataTable ReturnWeeklySalesFromDateId(string dateId, string connectionString)
+ public DataTable ReturnWeeklySalesFromDateId(int dateId, string connectionString)
{
var dataTable = new DataTable();
var oleDbCommand = new OleDbCommand()
@@ -867,7 +866,7 @@ namespace AdvertsingProfitControl
return dataTable;
}
- public DataTable ReturnTaxableFromDateId(string dateId, string connectionString)
+ public DataTable ReturnTaxableFromDateId(int dateId, string connectionString)
{
var dataTable = new DataTable();
var oleDbCommand = new OleDbCommand
@@ -948,7 +947,7 @@ namespace AdvertsingProfitControl
#region Supplier And Invoices Functions
- public string RetrieveSupplierNameById(string supplierId, string connectionString)
+ public string RetrieveSupplierNameById(int supplierId, string connectionString)
{
var supplierName = "";
var oleDbCommand = new OleDbCommand()
diff --git a/AdvertsingProfitControl/FrmDeleteRecord.cs b/AdvertsingProfitControl/FrmDeleteRecord.cs
index bde3c19..d621986 100644
--- a/AdvertsingProfitControl/FrmDeleteRecord.cs
+++ b/AdvertsingProfitControl/FrmDeleteRecord.cs
@@ -164,27 +164,27 @@ namespace AdvertsingProfitControl
var databaseTracker = new DatabaseTracker();
var dataBaseReader = new DatabaseReader();
- string dateId;
+ int dateId;
//Check to see if a parameter has been passed.
if (dateString == "")
{
//IF non were, then grab the most recent date ID from the database and use that.
dateId = dataBaseReader.RetrieveMostRecentDateId(databaseTracker.DatabaseConnectionString);
- _console.WriteToLog(FrmLogConsole.Level.Info, dateId != "0" ? "Most recent date ID is " + dateId : "Most recent date ID is unavailable.");
+ _console.WriteToLog(FrmLogConsole.Level.Info, dateId != 0 ? "Most recent date ID is " + dateId : "Most recent date ID is unavailable.");
}
else
{
//ELSE IF one was passed, then use it's ID to build the tables.
- dateId = dataBaseReader.RetrieveDateIdByDateString(dateString, databaseTracker.DatabaseConnectionString).ToString();
- _console.WriteToLog(FrmLogConsole.Level.Info, dateId != "0" ? "Date ID for " + dateString + " is resolved to have the ID of " + dateId + "." : "The date " + dateString + " could not be found in the database.");
- if (dateId == "0")
+ dateId = dataBaseReader.RetrieveDateIdByDateString(dateString, databaseTracker.DatabaseConnectionString);
+ _console.WriteToLog(FrmLogConsole.Level.Info, dateId != 0 ? "Date ID for " + dateString + " is resolved to have the ID of " + dateId + "." : "The date " + dateString + " could not be found in the database.");
+ if (dateId == 0)
{
_gDateStringCollection.Remove(dateString);
}
}
//Now check to make sure there were no errors grabbing the ID, IF there were return.
- if (dateId == "0") return;
+ if (dateId == 0) return;
//Clear all DataGridViews since the date supplied is valid and in the database.
projectionsDataGridView.DataSource = null;
inventoryDataGridView.DataSource = null;
@@ -198,7 +198,7 @@ namespace AdvertsingProfitControl
suppliersDataGridView.DataSource = dataBaseReader.ReturnInvoiceTable(dateId, databaseTracker.DatabaseConnectionString);
weeklySalesDataGridView.DataSource = dataBaseReader.ReturnWeeklySalesFromDateId(dateId, databaseTracker.DatabaseConnectionString);
- commentsTextBox.Text = dataBaseReader.RetrieveComments(dateId, databaseTracker.DatabaseConnectionString);
+ commentsTextBox.Text = dataBaseReader.RetrieveComments(dateId, databaseTracker.DatabaseConnectionString)[1];
if (commentsTextBox.Text.StartsWith("No comments"))
{
commentsTextBox.Enabled = false;
diff --git a/AdvertsingProfitControl/FrmMain.Designer.cs b/AdvertsingProfitControl/FrmMain.Designer.cs
index 5a3b83e..7c3513c 100644
--- a/AdvertsingProfitControl/FrmMain.Designer.cs
+++ b/AdvertsingProfitControl/FrmMain.Designer.cs
@@ -29,7 +29,7 @@
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmMain));
- this.mainTableLayoutPanel = new System.Windows.Forms.TableLayoutPanel();
+ this.printPreviewButton = new System.Windows.Forms.Button();
this.mainMenu = new System.Windows.Forms.MenuStrip();
this.fileMainMenu = new System.Windows.Forms.ToolStripMenuItem();
this.exitFileMainMenu = new System.Windows.Forms.ToolStripMenuItem();
@@ -37,100 +37,107 @@
this.addRecordsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.modifyRecordMainMenu = new System.Windows.Forms.ToolStripMenuItem();
this.deleteRecordsMainMenu = new System.Windows.Forms.ToolStripMenuItem();
- this.newFormTestToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.newModifyRecordToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolsMainMenu = new System.Windows.Forms.ToolStripMenuItem();
this.adSpecialKeyWordsToolsMainMenu = new System.Windows.Forms.ToolStripMenuItem();
this.manageItemsToolsMainMenu = new System.Windows.Forms.ToolStripMenuItem();
this.helpMainMenu = new System.Windows.Forms.ToolStripMenuItem();
this.showHideConsoleHelpMainMenu = new System.Windows.Forms.ToolStripMenuItem();
this.dbVersionHelpMainMenu = new System.Windows.Forms.ToolStripMenuItem();
+ this.mainTableLayoutPanel = new System.Windows.Forms.TableLayoutPanel();
this.commentMainTableLayoutPanel = new System.Windows.Forms.TableLayoutPanel();
- this.commentMainGroupBox = new System.Windows.Forms.GroupBox();
- this.commentsTextBox = new System.Windows.Forms.TextBox();
this.profitAnalysisMainGroupBox = new System.Windows.Forms.GroupBox();
+ this.errorLabel = new System.Windows.Forms.Label();
this.shrinkLinkLabel = new System.Windows.Forms.LinkLabel();
- this.totalProfitReturnLabel = new System.Windows.Forms.Label();
- this.totalProfitReturnFromRemaingLabel = new System.Windows.Forms.Label();
- this.totalProfitFromAdItemsLabel = new System.Windows.Forms.Label();
- this.remainingSalesLabel = new System.Windows.Forms.Label();
- this.salesProducedLabel = new System.Windows.Forms.Label();
this.departmentSalesLabel = new System.Windows.Forms.Label();
- this.grossProfitGroupBox = new System.Windows.Forms.GroupBox();
- this.grossProfitEstimatedWeeklyDeptmartmentExpenseLabel = new System.Windows.Forms.Label();
- this.grossProfitDollarGrossProfitLabel = new System.Windows.Forms.Label();
- this.perfectGrossProfitLabel = new System.Windows.Forms.Label();
- this.grossProfitTotalSales = new System.Windows.Forms.Label();
- this.grossProfitLessCostOfSales = new System.Windows.Forms.Label();
- this.costAnalysisGroupBox = new System.Windows.Forms.GroupBox();
- this.usePreRenderedFilesCheckbox = new System.Windows.Forms.CheckBox();
- this.dateSelectorPanel = new System.Windows.Forms.Panel();
- this.printPreviewButton = new System.Windows.Forms.Button();
- this.yearComboBox = new System.Windows.Forms.ComboBox();
- this.dayComboBox = new System.Windows.Forms.ComboBox();
- this.monthComboBox = new System.Windows.Forms.ComboBox();
- this.dateSelectLabel = new System.Windows.Forms.Label();
+ this.totalProfitReturnLabel = new System.Windows.Forms.Label();
+ this.salesProducedLabel = new System.Windows.Forms.Label();
+ this.totalProfitReturnFromRemaingLabel = new System.Windows.Forms.Label();
+ this.remainingSalesLabel = new System.Windows.Forms.Label();
+ this.totalProfitFromAdItemsLabel = new System.Windows.Forms.Label();
+ this.weeklySalesGroupBox = new System.Windows.Forms.GroupBox();
+ this.saturdayWeeklySalesLabel = new System.Windows.Forms.Label();
+ this.totalWeeklySalesLabel = new System.Windows.Forms.Label();
+ this.thursdayWeeklySalesLabel = new System.Windows.Forms.Label();
+ this.fridayWeeklySalesLabel = new System.Windows.Forms.Label();
+ this.mondayWeeklySalesLabel = new System.Windows.Forms.Label();
+ this.tuesadayWeeklySalesLabel = new System.Windows.Forms.Label();
+ this.wednesdayWeeklySalesLabel = new System.Windows.Forms.Label();
+ this.sundayWeeklySalesLabel = new System.Windows.Forms.Label();
+ this.taxableGroupBox = new System.Windows.Forms.GroupBox();
+ this.mondayTaxableLabel = new System.Windows.Forms.Label();
+ this.tuesdayTaxableLabel = new System.Windows.Forms.Label();
+ this.saturdayTaxableLabel = new System.Windows.Forms.Label();
+ this.totalTaxableLabel = new System.Windows.Forms.Label();
+ this.fridayTaxableLabel = new System.Windows.Forms.Label();
+ this.thursdayTaxableLabel = new System.Windows.Forms.Label();
+ this.wednesdayTaxableLabel = new System.Windows.Forms.Label();
+ this.sundayTaxableLabel = new System.Windows.Forms.Label();
+ this.dateTimeGroupBox = new System.Windows.Forms.GroupBox();
+ this.monthCalendar = new System.Windows.Forms.MonthCalendar();
this.mainViewTabControl = new System.Windows.Forms.TabControl();
this.projectionTab = new System.Windows.Forms.TabPage();
- this.projectedSalesMainDataGrid = new System.Windows.Forms.DataGridView();
+ this.projectionsDataGridView = new System.Windows.Forms.DataGridView();
this.inventoryTabPage = new System.Windows.Forms.TabPage();
this.inventoryDataGridView = new System.Windows.Forms.DataGridView();
this.actualSalesTab = new System.Windows.Forms.TabPage();
this.actualSalesMainLayoutPanel = new System.Windows.Forms.TableLayoutPanel();
- this.actualSalesMainDataGidView = new System.Windows.Forms.DataGridView();
+ this.actualSalesDataGridView = new System.Windows.Forms.DataGridView();
this.suppliersTabPage = new System.Windows.Forms.TabPage();
- this.suppliersDataGridView = new System.Windows.Forms.DataGridView();
- this.WeeklySalesTabPage = new System.Windows.Forms.TabPage();
- this.weeklySalesDataGridView = new System.Windows.Forms.DataGridView();
- this.taxableTabPage = new System.Windows.Forms.TabPage();
- this.taxableDataGridView = new System.Windows.Forms.DataGridView();
- this.debugTabPage = new System.Windows.Forms.TabPage();
- this.monthCalendar = new System.Windows.Forms.MonthCalendar();
- this.mainTableLayoutPanel.SuspendLayout();
+ this.invoicesDataGridView = new System.Windows.Forms.DataGridView();
+ this.commentsAndAnalysisLayoutPanel = new System.Windows.Forms.TableLayoutPanel();
+ this.costAnalysisGroupBox = new System.Windows.Forms.GroupBox();
+ this.informationLabel = new System.Windows.Forms.Label();
+ this.suppliesLabel = new System.Windows.Forms.Label();
+ this.salaryDollarsLabel = new System.Windows.Forms.Label();
+ this.salaryPercentageLabel = new System.Windows.Forms.Label();
+ this.salesPerManHourLabel = new System.Windows.Forms.Label();
+ this.button1 = new System.Windows.Forms.Button();
+ this.commentMainGroupBox = new System.Windows.Forms.GroupBox();
+ this.commentsTextBox = new System.Windows.Forms.TextBox();
+ this.grossProfitGroupBox = new System.Windows.Forms.GroupBox();
+ this.usePreRenderedFilesCheckbox = new System.Windows.Forms.CheckBox();
+ this.grossProfitLessCostOfSales = new System.Windows.Forms.Label();
+ this.grossProfitTotalSales = new System.Windows.Forms.Label();
+ this.grossProfitEstimatedWeeklyDeptmartmentExpenseLabel = new System.Windows.Forms.Label();
+ this.perfectGrossProfitLabel = new System.Windows.Forms.Label();
+ this.grossProfitDollarGrossProfitLabel = new System.Windows.Forms.Label();
this.mainMenu.SuspendLayout();
+ this.mainTableLayoutPanel.SuspendLayout();
this.commentMainTableLayoutPanel.SuspendLayout();
- this.commentMainGroupBox.SuspendLayout();
this.profitAnalysisMainGroupBox.SuspendLayout();
- this.grossProfitGroupBox.SuspendLayout();
- this.costAnalysisGroupBox.SuspendLayout();
- this.dateSelectorPanel.SuspendLayout();
+ this.weeklySalesGroupBox.SuspendLayout();
+ this.taxableGroupBox.SuspendLayout();
+ this.dateTimeGroupBox.SuspendLayout();
this.mainViewTabControl.SuspendLayout();
this.projectionTab.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.projectedSalesMainDataGrid)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.projectionsDataGridView)).BeginInit();
this.inventoryTabPage.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.inventoryDataGridView)).BeginInit();
this.actualSalesTab.SuspendLayout();
this.actualSalesMainLayoutPanel.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.actualSalesMainDataGidView)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.actualSalesDataGridView)).BeginInit();
this.suppliersTabPage.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.suppliersDataGridView)).BeginInit();
- this.WeeklySalesTabPage.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.weeklySalesDataGridView)).BeginInit();
- this.taxableTabPage.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.taxableDataGridView)).BeginInit();
- this.debugTabPage.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.invoicesDataGridView)).BeginInit();
+ this.commentsAndAnalysisLayoutPanel.SuspendLayout();
+ this.costAnalysisGroupBox.SuspendLayout();
+ this.commentMainGroupBox.SuspendLayout();
+ this.grossProfitGroupBox.SuspendLayout();
this.SuspendLayout();
//
- // mainTableLayoutPanel
+ // printPreviewButton
//
- this.mainTableLayoutPanel.ColumnCount = 1;
- this.mainTableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
- this.mainTableLayoutPanel.Controls.Add(this.mainMenu, 0, 0);
- this.mainTableLayoutPanel.Controls.Add(this.commentMainTableLayoutPanel, 0, 2);
- this.mainTableLayoutPanel.Controls.Add(this.mainViewTabControl, 0, 1);
- this.mainTableLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill;
- this.mainTableLayoutPanel.Location = new System.Drawing.Point(0, 0);
- this.mainTableLayoutPanel.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);
- this.mainTableLayoutPanel.Name = "mainTableLayoutPanel";
- this.mainTableLayoutPanel.RowCount = 3;
- this.mainTableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 41F));
- this.mainTableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 65F));
- this.mainTableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 35F));
- this.mainTableLayoutPanel.Size = new System.Drawing.Size(1734, 892);
- this.mainTableLayoutPanel.TabIndex = 0;
+ this.printPreviewButton.Location = new System.Drawing.Point(313, 277);
+ this.printPreviewButton.Name = "printPreviewButton";
+ this.printPreviewButton.Size = new System.Drawing.Size(138, 49);
+ this.printPreviewButton.TabIndex = 4;
+ this.printPreviewButton.Text = "Print Preview";
+ this.printPreviewButton.UseVisualStyleBackColor = true;
+ this.printPreviewButton.Visible = false;
+ this.printPreviewButton.Click += new System.EventHandler(this.DisplayPrintPreview);
//
// mainMenu
//
+ this.mainTableLayoutPanel.SetColumnSpan(this.mainMenu, 2);
this.mainMenu.Dock = System.Windows.Forms.DockStyle.Fill;
this.mainMenu.ImageScalingSize = new System.Drawing.Size(24, 24);
this.mainMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
@@ -141,7 +148,7 @@
this.mainMenu.Location = new System.Drawing.Point(0, 0);
this.mainMenu.Name = "mainMenu";
this.mainMenu.Padding = new System.Windows.Forms.Padding(10, 3, 0, 3);
- this.mainMenu.Size = new System.Drawing.Size(1734, 41);
+ this.mainMenu.Size = new System.Drawing.Size(1847, 40);
this.mainMenu.TabIndex = 1;
this.mainMenu.Text = "menuStrip1";
//
@@ -150,7 +157,7 @@
this.fileMainMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.exitFileMainMenu});
this.fileMainMenu.Name = "fileMainMenu";
- this.fileMainMenu.Size = new System.Drawing.Size(56, 35);
+ this.fileMainMenu.Size = new System.Drawing.Size(56, 34);
this.fileMainMenu.Text = "&File";
//
// exitFileMainMenu
@@ -164,11 +171,9 @@
this.recordsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.addRecordsToolStripMenuItem,
this.modifyRecordMainMenu,
- this.deleteRecordsMainMenu,
- this.newFormTestToolStripMenuItem,
- this.newModifyRecordToolStripMenuItem});
+ this.deleteRecordsMainMenu});
this.recordsToolStripMenuItem.Name = "recordsToolStripMenuItem";
- this.recordsToolStripMenuItem.Size = new System.Drawing.Size(98, 35);
+ this.recordsToolStripMenuItem.Size = new System.Drawing.Size(98, 34);
this.recordsToolStripMenuItem.Text = "&Records";
//
// addRecordsToolStripMenuItem
@@ -192,29 +197,16 @@
this.deleteRecordsMainMenu.Size = new System.Drawing.Size(323, 34);
this.deleteRecordsMainMenu.Text = "&Delete Existing record";
this.deleteRecordsMainMenu.ToolTipText = "Currently Unavailable in this Version.";
+ this.deleteRecordsMainMenu.Visible = false;
this.deleteRecordsMainMenu.Click += new System.EventHandler(this.deleteRecordsMainMenu_Click);
//
- // newFormTestToolStripMenuItem
- //
- this.newFormTestToolStripMenuItem.Name = "newFormTestToolStripMenuItem";
- this.newFormTestToolStripMenuItem.Size = new System.Drawing.Size(323, 34);
- this.newFormTestToolStripMenuItem.Text = "&New Form Test";
- this.newFormTestToolStripMenuItem.Click += new System.EventHandler(this.newFormTestToolStripMenuItem_Click);
- //
- // newModifyRecordToolStripMenuItem
- //
- this.newModifyRecordToolStripMenuItem.Name = "newModifyRecordToolStripMenuItem";
- this.newModifyRecordToolStripMenuItem.Size = new System.Drawing.Size(323, 34);
- this.newModifyRecordToolStripMenuItem.Text = "New Modify Record";
- this.newModifyRecordToolStripMenuItem.Click += new System.EventHandler(this.newModifyRecordToolStripMenuItem_Click);
- //
// toolsMainMenu
//
this.toolsMainMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.adSpecialKeyWordsToolsMainMenu,
this.manageItemsToolsMainMenu});
this.toolsMainMenu.Name = "toolsMainMenu";
- this.toolsMainMenu.Size = new System.Drawing.Size(72, 35);
+ this.toolsMainMenu.Size = new System.Drawing.Size(72, 34);
this.toolsMainMenu.Text = "&Tools";
//
// adSpecialKeyWordsToolsMainMenu
@@ -222,7 +214,6 @@
this.adSpecialKeyWordsToolsMainMenu.Name = "adSpecialKeyWordsToolsMainMenu";
this.adSpecialKeyWordsToolsMainMenu.Size = new System.Drawing.Size(282, 34);
this.adSpecialKeyWordsToolsMainMenu.Text = "&Register Ad Special";
- this.adSpecialKeyWordsToolsMainMenu.Click += new System.EventHandler(this.adSpecialKeyWordsToolsMainMenu_Click);
//
// manageItemsToolsMainMenu
//
@@ -237,7 +228,7 @@
this.showHideConsoleHelpMainMenu,
this.dbVersionHelpMainMenu});
this.helpMainMenu.Name = "helpMainMenu";
- this.helpMainMenu.Size = new System.Drawing.Size(68, 35);
+ this.helpMainMenu.Size = new System.Drawing.Size(68, 34);
this.helpMainMenu.Text = "&Help";
//
// showHideConsoleHelpMainMenu
@@ -254,81 +245,81 @@
this.dbVersionHelpMainMenu.Text = "Get &Database Version";
this.dbVersionHelpMainMenu.Click += new System.EventHandler(this.dbVersionHelpMainMenu_Click);
//
+ // mainTableLayoutPanel
+ //
+ this.mainTableLayoutPanel.ColumnCount = 2;
+ this.mainTableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 75F));
+ this.mainTableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
+ this.mainTableLayoutPanel.Controls.Add(this.commentMainTableLayoutPanel, 0, 2);
+ this.mainTableLayoutPanel.Controls.Add(this.mainMenu, 0, 0);
+ this.mainTableLayoutPanel.Controls.Add(this.mainViewTabControl, 0, 1);
+ this.mainTableLayoutPanel.Controls.Add(this.commentsAndAnalysisLayoutPanel, 1, 1);
+ this.mainTableLayoutPanel.Controls.Add(this.grossProfitGroupBox, 1, 2);
+ this.mainTableLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.mainTableLayoutPanel.Location = new System.Drawing.Point(0, 0);
+ this.mainTableLayoutPanel.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);
+ this.mainTableLayoutPanel.Name = "mainTableLayoutPanel";
+ this.mainTableLayoutPanel.RowCount = 3;
+ this.mainTableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F));
+ this.mainTableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 60F));
+ this.mainTableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 40F));
+ this.mainTableLayoutPanel.Size = new System.Drawing.Size(1847, 892);
+ this.mainTableLayoutPanel.TabIndex = 0;
+ //
// commentMainTableLayoutPanel
//
this.commentMainTableLayoutPanel.ColumnCount = 4;
- this.commentMainTableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20F));
- this.commentMainTableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 28F));
- this.commentMainTableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 26F));
- this.commentMainTableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 26F));
- this.commentMainTableLayoutPanel.Controls.Add(this.commentMainGroupBox, 0, 0);
- this.commentMainTableLayoutPanel.Controls.Add(this.profitAnalysisMainGroupBox, 1, 0);
- this.commentMainTableLayoutPanel.Controls.Add(this.grossProfitGroupBox, 2, 0);
- this.commentMainTableLayoutPanel.Controls.Add(this.costAnalysisGroupBox, 3, 0);
- this.commentMainTableLayoutPanel.Controls.Add(this.dateSelectorPanel, 2, 1);
+ this.commentMainTableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 355F));
+ this.commentMainTableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 27.5F));
+ this.commentMainTableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 27.5F));
+ this.commentMainTableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 45F));
+ this.commentMainTableLayoutPanel.Controls.Add(this.profitAnalysisMainGroupBox, 3, 0);
+ this.commentMainTableLayoutPanel.Controls.Add(this.weeklySalesGroupBox, 1, 0);
+ this.commentMainTableLayoutPanel.Controls.Add(this.taxableGroupBox, 2, 0);
+ this.commentMainTableLayoutPanel.Controls.Add(this.dateTimeGroupBox, 0, 0);
this.commentMainTableLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill;
- this.commentMainTableLayoutPanel.Location = new System.Drawing.Point(5, 600);
+ this.commentMainTableLayoutPanel.Location = new System.Drawing.Point(5, 557);
this.commentMainTableLayoutPanel.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);
this.commentMainTableLayoutPanel.Name = "commentMainTableLayoutPanel";
- this.commentMainTableLayoutPanel.RowCount = 2;
- this.commentMainTableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 80F));
- this.commentMainTableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 20F));
- this.commentMainTableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 23F));
- this.commentMainTableLayoutPanel.Size = new System.Drawing.Size(1724, 286);
- this.commentMainTableLayoutPanel.TabIndex = 2;
- //
- // commentMainGroupBox
- //
- this.commentMainGroupBox.Controls.Add(this.commentsTextBox);
- this.commentMainGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
- this.commentMainGroupBox.Location = new System.Drawing.Point(5, 6);
- this.commentMainGroupBox.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);
- this.commentMainGroupBox.Name = "commentMainGroupBox";
- this.commentMainGroupBox.Padding = new System.Windows.Forms.Padding(5, 6, 5, 6);
- this.commentMainTableLayoutPanel.SetRowSpan(this.commentMainGroupBox, 2);
- this.commentMainGroupBox.Size = new System.Drawing.Size(334, 274);
- this.commentMainGroupBox.TabIndex = 0;
- this.commentMainGroupBox.TabStop = false;
- this.commentMainGroupBox.Text = "Comments";
- //
- // commentsTextBox
- //
- this.commentsTextBox.Dock = System.Windows.Forms.DockStyle.Fill;
- this.commentsTextBox.Enabled = false;
- this.commentsTextBox.Location = new System.Drawing.Point(5, 28);
- this.commentsTextBox.Multiline = true;
- this.commentsTextBox.Name = "commentsTextBox";
- this.commentsTextBox.ReadOnly = true;
- this.commentsTextBox.Size = new System.Drawing.Size(324, 240);
- this.commentsTextBox.TabIndex = 0;
+ this.commentMainTableLayoutPanel.RowCount = 1;
+ this.commentMainTableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
+ this.commentMainTableLayoutPanel.Size = new System.Drawing.Size(1375, 329);
+ this.commentMainTableLayoutPanel.TabIndex = 5;
//
// profitAnalysisMainGroupBox
//
+ this.profitAnalysisMainGroupBox.Controls.Add(this.errorLabel);
this.profitAnalysisMainGroupBox.Controls.Add(this.shrinkLinkLabel);
- this.profitAnalysisMainGroupBox.Controls.Add(this.totalProfitReturnLabel);
- this.profitAnalysisMainGroupBox.Controls.Add(this.totalProfitReturnFromRemaingLabel);
- this.profitAnalysisMainGroupBox.Controls.Add(this.totalProfitFromAdItemsLabel);
- this.profitAnalysisMainGroupBox.Controls.Add(this.remainingSalesLabel);
- this.profitAnalysisMainGroupBox.Controls.Add(this.salesProducedLabel);
this.profitAnalysisMainGroupBox.Controls.Add(this.departmentSalesLabel);
+ this.profitAnalysisMainGroupBox.Controls.Add(this.totalProfitReturnLabel);
+ this.profitAnalysisMainGroupBox.Controls.Add(this.salesProducedLabel);
+ this.profitAnalysisMainGroupBox.Controls.Add(this.totalProfitReturnFromRemaingLabel);
+ this.profitAnalysisMainGroupBox.Controls.Add(this.remainingSalesLabel);
+ this.profitAnalysisMainGroupBox.Controls.Add(this.totalProfitFromAdItemsLabel);
this.profitAnalysisMainGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
- this.profitAnalysisMainGroupBox.Location = new System.Drawing.Point(349, 6);
- this.profitAnalysisMainGroupBox.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);
+ this.profitAnalysisMainGroupBox.Location = new System.Drawing.Point(918, 3);
this.profitAnalysisMainGroupBox.Name = "profitAnalysisMainGroupBox";
- this.profitAnalysisMainGroupBox.Padding = new System.Windows.Forms.Padding(5, 6, 5, 6);
- this.commentMainTableLayoutPanel.SetRowSpan(this.profitAnalysisMainGroupBox, 2);
- this.profitAnalysisMainGroupBox.Size = new System.Drawing.Size(472, 274);
- this.profitAnalysisMainGroupBox.TabIndex = 1;
+ this.profitAnalysisMainGroupBox.Size = new System.Drawing.Size(454, 323);
+ this.profitAnalysisMainGroupBox.TabIndex = 2;
this.profitAnalysisMainGroupBox.TabStop = false;
this.profitAnalysisMainGroupBox.Text = "Profit Analysis";
//
+ // errorLabel
+ //
+ this.errorLabel.AutoSize = true;
+ this.errorLabel.Location = new System.Drawing.Point(11, 246);
+ this.errorLabel.Name = "errorLabel";
+ this.errorLabel.Size = new System.Drawing.Size(62, 25);
+ this.errorLabel.TabIndex = 8;
+ this.errorLabel.Text = "errors";
+ //
// shrinkLinkLabel
//
this.shrinkLinkLabel.AutoSize = true;
this.shrinkLinkLabel.LinkArea = new System.Windows.Forms.LinkArea(20, 6);
this.shrinkLinkLabel.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline;
this.shrinkLinkLabel.LinkColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
- this.shrinkLinkLabel.Location = new System.Drawing.Point(0, 37);
+ this.shrinkLinkLabel.Location = new System.Drawing.Point(11, 29);
this.shrinkLinkLabel.Name = "shrinkLinkLabel";
this.shrinkLinkLabel.Size = new System.Drawing.Size(272, 27);
this.shrinkLinkLabel.TabIndex = 6;
@@ -336,210 +327,264 @@
this.shrinkLinkLabel.Text = "Assuming 30% Shrink Change";
this.shrinkLinkLabel.UseCompatibleTextRendering = true;
//
- // totalProfitReturnLabel
- //
- this.totalProfitReturnLabel.AutoSize = true;
- this.totalProfitReturnLabel.Location = new System.Drawing.Point(0, 251);
- this.totalProfitReturnLabel.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
- this.totalProfitReturnLabel.Name = "totalProfitReturnLabel";
- this.totalProfitReturnLabel.Size = new System.Drawing.Size(178, 25);
- this.totalProfitReturnLabel.TabIndex = 5;
- this.totalProfitReturnLabel.Text = "Total Profit Return: ";
- //
- // totalProfitReturnFromRemaingLabel
- //
- this.totalProfitReturnFromRemaingLabel.AutoSize = true;
- this.totalProfitReturnFromRemaingLabel.Location = new System.Drawing.Point(0, 216);
- this.totalProfitReturnFromRemaingLabel.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
- this.totalProfitReturnFromRemaingLabel.Name = "totalProfitReturnFromRemaingLabel";
- this.totalProfitReturnFromRemaingLabel.Size = new System.Drawing.Size(380, 25);
- this.totalProfitReturnFromRemaingLabel.TabIndex = 4;
- this.totalProfitReturnFromRemaingLabel.Text = "Total Profit Return From Remaining Sales: ";
- //
- // totalProfitFromAdItemsLabel
- //
- this.totalProfitFromAdItemsLabel.AutoSize = true;
- this.totalProfitFromAdItemsLabel.Location = new System.Drawing.Point(0, 180);
- this.totalProfitFromAdItemsLabel.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
- this.totalProfitFromAdItemsLabel.Name = "totalProfitFromAdItemsLabel";
- this.totalProfitFromAdItemsLabel.Size = new System.Drawing.Size(342, 25);
- this.totalProfitFromAdItemsLabel.TabIndex = 3;
- this.totalProfitFromAdItemsLabel.Text = "Total Profit Return From Ad Items (B): ";
- //
- // remainingSalesLabel
- //
- this.remainingSalesLabel.AutoSize = true;
- this.remainingSalesLabel.Location = new System.Drawing.Point(0, 143);
- this.remainingSalesLabel.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
- this.remainingSalesLabel.Name = "remainingSalesLabel";
- this.remainingSalesLabel.Size = new System.Drawing.Size(170, 25);
- this.remainingSalesLabel.TabIndex = 2;
- this.remainingSalesLabel.Text = "Remaining Sales: ";
- //
- // salesProducedLabel
- //
- this.salesProducedLabel.AutoSize = true;
- this.salesProducedLabel.Location = new System.Drawing.Point(0, 107);
- this.salesProducedLabel.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
- this.salesProducedLabel.Name = "salesProducedLabel";
- this.salesProducedLabel.Size = new System.Drawing.Size(300, 25);
- this.salesProducedLabel.TabIndex = 1;
- this.salesProducedLabel.Text = "Sales Produced By Ad Items (A):";
- //
// departmentSalesLabel
//
this.departmentSalesLabel.AutoSize = true;
- this.departmentSalesLabel.Location = new System.Drawing.Point(0, 72);
+ this.departmentSalesLabel.Location = new System.Drawing.Point(11, 61);
this.departmentSalesLabel.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
this.departmentSalesLabel.Name = "departmentSalesLabel";
this.departmentSalesLabel.Size = new System.Drawing.Size(179, 25);
this.departmentSalesLabel.TabIndex = 0;
this.departmentSalesLabel.Text = "Department Sales: ";
//
- // grossProfitGroupBox
+ // totalProfitReturnLabel
//
- this.grossProfitGroupBox.Controls.Add(this.grossProfitEstimatedWeeklyDeptmartmentExpenseLabel);
- this.grossProfitGroupBox.Controls.Add(this.grossProfitDollarGrossProfitLabel);
- this.grossProfitGroupBox.Controls.Add(this.perfectGrossProfitLabel);
- this.grossProfitGroupBox.Controls.Add(this.grossProfitTotalSales);
- this.grossProfitGroupBox.Controls.Add(this.grossProfitLessCostOfSales);
- this.grossProfitGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
- this.grossProfitGroupBox.Location = new System.Drawing.Point(831, 6);
- this.grossProfitGroupBox.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);
- this.grossProfitGroupBox.Name = "grossProfitGroupBox";
- this.grossProfitGroupBox.Padding = new System.Windows.Forms.Padding(5, 6, 5, 6);
- this.grossProfitGroupBox.Size = new System.Drawing.Size(438, 216);
- this.grossProfitGroupBox.TabIndex = 2;
- this.grossProfitGroupBox.TabStop = false;
- this.grossProfitGroupBox.Text = "Gross Profit";
+ this.totalProfitReturnLabel.AutoSize = true;
+ this.totalProfitReturnLabel.Location = new System.Drawing.Point(11, 221);
+ this.totalProfitReturnLabel.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
+ this.totalProfitReturnLabel.Name = "totalProfitReturnLabel";
+ this.totalProfitReturnLabel.Size = new System.Drawing.Size(178, 25);
+ this.totalProfitReturnLabel.TabIndex = 5;
+ this.totalProfitReturnLabel.Text = "Total Profit Return: ";
//
- // grossProfitEstimatedWeeklyDeptmartmentExpenseLabel
+ // salesProducedLabel
//
- this.grossProfitEstimatedWeeklyDeptmartmentExpenseLabel.AutoSize = true;
- this.grossProfitEstimatedWeeklyDeptmartmentExpenseLabel.Location = new System.Drawing.Point(8, 177);
- this.grossProfitEstimatedWeeklyDeptmartmentExpenseLabel.Name = "grossProfitEstimatedWeeklyDeptmartmentExpenseLabel";
- this.grossProfitEstimatedWeeklyDeptmartmentExpenseLabel.Size = new System.Drawing.Size(368, 25);
- this.grossProfitEstimatedWeeklyDeptmartmentExpenseLabel.TabIndex = 4;
- this.grossProfitEstimatedWeeklyDeptmartmentExpenseLabel.Text = "Estimated Weekly Department Expense: ";
+ this.salesProducedLabel.AutoSize = true;
+ this.salesProducedLabel.Location = new System.Drawing.Point(11, 93);
+ this.salesProducedLabel.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
+ this.salesProducedLabel.Name = "salesProducedLabel";
+ this.salesProducedLabel.Size = new System.Drawing.Size(300, 25);
+ this.salesProducedLabel.TabIndex = 1;
+ this.salesProducedLabel.Text = "Sales Produced By Ad Items (A):";
//
- // grossProfitDollarGrossProfitLabel
+ // totalProfitReturnFromRemaingLabel
//
- this.grossProfitDollarGrossProfitLabel.AutoSize = true;
- this.grossProfitDollarGrossProfitLabel.Location = new System.Drawing.Point(8, 107);
- this.grossProfitDollarGrossProfitLabel.Name = "grossProfitDollarGrossProfitLabel";
- this.grossProfitDollarGrossProfitLabel.Size = new System.Drawing.Size(179, 25);
- this.grossProfitDollarGrossProfitLabel.TabIndex = 2;
- this.grossProfitDollarGrossProfitLabel.Text = "Dollar Gross Profit: ";
+ this.totalProfitReturnFromRemaingLabel.AutoSize = true;
+ this.totalProfitReturnFromRemaingLabel.Location = new System.Drawing.Point(11, 189);
+ this.totalProfitReturnFromRemaingLabel.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
+ this.totalProfitReturnFromRemaingLabel.Name = "totalProfitReturnFromRemaingLabel";
+ this.totalProfitReturnFromRemaingLabel.Size = new System.Drawing.Size(380, 25);
+ this.totalProfitReturnFromRemaingLabel.TabIndex = 4;
+ this.totalProfitReturnFromRemaingLabel.Text = "Total Profit Return From Remaining Sales: ";
//
- // perfectGrossProfitLabel
+ // remainingSalesLabel
//
- this.perfectGrossProfitLabel.AutoSize = true;
- this.perfectGrossProfitLabel.Location = new System.Drawing.Point(8, 142);
- this.perfectGrossProfitLabel.Name = "perfectGrossProfitLabel";
- this.perfectGrossProfitLabel.Size = new System.Drawing.Size(196, 25);
- this.perfectGrossProfitLabel.TabIndex = 3;
- this.perfectGrossProfitLabel.Text = "Percent Gross Profit: ";
+ this.remainingSalesLabel.AutoSize = true;
+ this.remainingSalesLabel.Location = new System.Drawing.Point(11, 125);
+ this.remainingSalesLabel.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
+ this.remainingSalesLabel.Name = "remainingSalesLabel";
+ this.remainingSalesLabel.Size = new System.Drawing.Size(170, 25);
+ this.remainingSalesLabel.TabIndex = 2;
+ this.remainingSalesLabel.Text = "Remaining Sales: ";
//
- // grossProfitTotalSales
+ // totalProfitFromAdItemsLabel
//
- this.grossProfitTotalSales.AutoSize = true;
- this.grossProfitTotalSales.Location = new System.Drawing.Point(8, 37);
- this.grossProfitTotalSales.Name = "grossProfitTotalSales";
- this.grossProfitTotalSales.Size = new System.Drawing.Size(122, 25);
- this.grossProfitTotalSales.TabIndex = 0;
- this.grossProfitTotalSales.Text = "Total Sales: ";
+ this.totalProfitFromAdItemsLabel.AutoSize = true;
+ this.totalProfitFromAdItemsLabel.Location = new System.Drawing.Point(11, 157);
+ this.totalProfitFromAdItemsLabel.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
+ this.totalProfitFromAdItemsLabel.Name = "totalProfitFromAdItemsLabel";
+ this.totalProfitFromAdItemsLabel.Size = new System.Drawing.Size(342, 25);
+ this.totalProfitFromAdItemsLabel.TabIndex = 3;
+ this.totalProfitFromAdItemsLabel.Text = "Total Profit Return From Ad Items (B): ";
//
- // grossProfitLessCostOfSales
+ // weeklySalesGroupBox
//
- this.grossProfitLessCostOfSales.AutoSize = true;
- this.grossProfitLessCostOfSales.Location = new System.Drawing.Point(8, 72);
- this.grossProfitLessCostOfSales.Name = "grossProfitLessCostOfSales";
- this.grossProfitLessCostOfSales.Size = new System.Drawing.Size(187, 25);
- this.grossProfitLessCostOfSales.TabIndex = 1;
- this.grossProfitLessCostOfSales.Text = "Less Cost of Sales: ";
+ this.weeklySalesGroupBox.Controls.Add(this.saturdayWeeklySalesLabel);
+ this.weeklySalesGroupBox.Controls.Add(this.totalWeeklySalesLabel);
+ this.weeklySalesGroupBox.Controls.Add(this.thursdayWeeklySalesLabel);
+ this.weeklySalesGroupBox.Controls.Add(this.fridayWeeklySalesLabel);
+ this.weeklySalesGroupBox.Controls.Add(this.mondayWeeklySalesLabel);
+ this.weeklySalesGroupBox.Controls.Add(this.tuesadayWeeklySalesLabel);
+ this.weeklySalesGroupBox.Controls.Add(this.wednesdayWeeklySalesLabel);
+ this.weeklySalesGroupBox.Controls.Add(this.sundayWeeklySalesLabel);
+ this.weeklySalesGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.weeklySalesGroupBox.Location = new System.Drawing.Point(358, 3);
+ this.weeklySalesGroupBox.Name = "weeklySalesGroupBox";
+ this.weeklySalesGroupBox.Size = new System.Drawing.Size(274, 323);
+ this.weeklySalesGroupBox.TabIndex = 3;
+ this.weeklySalesGroupBox.TabStop = false;
+ this.weeklySalesGroupBox.Text = "Weekly Sales";
//
- // costAnalysisGroupBox
+ // saturdayWeeklySalesLabel
//
- this.costAnalysisGroupBox.Controls.Add(this.usePreRenderedFilesCheckbox);
- this.costAnalysisGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
- this.costAnalysisGroupBox.Location = new System.Drawing.Point(1277, 3);
- this.costAnalysisGroupBox.Name = "costAnalysisGroupBox";
- this.costAnalysisGroupBox.Size = new System.Drawing.Size(444, 222);
- this.costAnalysisGroupBox.TabIndex = 3;
- this.costAnalysisGroupBox.TabStop = false;
- this.costAnalysisGroupBox.Text = "Cost Analysis";
+ this.saturdayWeeklySalesLabel.AutoSize = true;
+ this.saturdayWeeklySalesLabel.Location = new System.Drawing.Point(7, 221);
+ this.saturdayWeeklySalesLabel.Name = "saturdayWeeklySalesLabel";
+ this.saturdayWeeklySalesLabel.Size = new System.Drawing.Size(97, 25);
+ this.saturdayWeeklySalesLabel.TabIndex = 7;
+ this.saturdayWeeklySalesLabel.Text = "Saturday:";
//
- // usePreRenderedFilesCheckbox
+ // totalWeeklySalesLabel
//
- this.usePreRenderedFilesCheckbox.AutoSize = true;
- this.usePreRenderedFilesCheckbox.Location = new System.Drawing.Point(206, 191);
- this.usePreRenderedFilesCheckbox.Name = "usePreRenderedFilesCheckbox";
- this.usePreRenderedFilesCheckbox.Size = new System.Drawing.Size(239, 29);
- this.usePreRenderedFilesCheckbox.TabIndex = 5;
- this.usePreRenderedFilesCheckbox.Text = "Use Pre-rendered Files";
- this.usePreRenderedFilesCheckbox.UseVisualStyleBackColor = true;
- this.usePreRenderedFilesCheckbox.Visible = false;
+ this.totalWeeklySalesLabel.AutoSize = true;
+ this.totalWeeklySalesLabel.Location = new System.Drawing.Point(7, 253);
+ this.totalWeeklySalesLabel.Name = "totalWeeklySalesLabel";
+ this.totalWeeklySalesLabel.Size = new System.Drawing.Size(117, 25);
+ this.totalWeeklySalesLabel.TabIndex = 6;
+ this.totalWeeklySalesLabel.Text = "Total Sales:";
//
- // dateSelectorPanel
+ // thursdayWeeklySalesLabel
//
- this.commentMainTableLayoutPanel.SetColumnSpan(this.dateSelectorPanel, 2);
- this.dateSelectorPanel.Controls.Add(this.printPreviewButton);
- this.dateSelectorPanel.Controls.Add(this.yearComboBox);
- this.dateSelectorPanel.Controls.Add(this.dayComboBox);
- this.dateSelectorPanel.Controls.Add(this.monthComboBox);
- this.dateSelectorPanel.Controls.Add(this.dateSelectLabel);
- this.dateSelectorPanel.Dock = System.Windows.Forms.DockStyle.Fill;
- this.dateSelectorPanel.Location = new System.Drawing.Point(829, 231);
- this.dateSelectorPanel.Name = "dateSelectorPanel";
- this.dateSelectorPanel.Size = new System.Drawing.Size(892, 52);
- this.dateSelectorPanel.TabIndex = 4;
+ this.thursdayWeeklySalesLabel.AutoSize = true;
+ this.thursdayWeeklySalesLabel.Location = new System.Drawing.Point(7, 157);
+ this.thursdayWeeklySalesLabel.Name = "thursdayWeeklySalesLabel";
+ this.thursdayWeeklySalesLabel.Size = new System.Drawing.Size(101, 25);
+ this.thursdayWeeklySalesLabel.TabIndex = 5;
+ this.thursdayWeeklySalesLabel.Text = "Thursday:";
//
- // printPreviewButton
+ // fridayWeeklySalesLabel
//
- this.printPreviewButton.Location = new System.Drawing.Point(744, 0);
- this.printPreviewButton.Name = "printPreviewButton";
- this.printPreviewButton.Size = new System.Drawing.Size(138, 49);
- this.printPreviewButton.TabIndex = 4;
- this.printPreviewButton.Text = "Print Preview";
- this.printPreviewButton.UseVisualStyleBackColor = true;
- this.printPreviewButton.Visible = false;
- this.printPreviewButton.Click += new System.EventHandler(this.DisplayPrintPreview);
+ this.fridayWeeklySalesLabel.AutoSize = true;
+ this.fridayWeeklySalesLabel.Location = new System.Drawing.Point(7, 189);
+ this.fridayWeeklySalesLabel.Name = "fridayWeeklySalesLabel";
+ this.fridayWeeklySalesLabel.Size = new System.Drawing.Size(72, 25);
+ this.fridayWeeklySalesLabel.TabIndex = 4;
+ this.fridayWeeklySalesLabel.Text = "Friday:";
//
- // yearComboBox
+ // mondayWeeklySalesLabel
//
- this.yearComboBox.FormattingEnabled = true;
- this.yearComboBox.Location = new System.Drawing.Point(446, 13);
- this.yearComboBox.Name = "yearComboBox";
- this.yearComboBox.Size = new System.Drawing.Size(111, 32);
- this.yearComboBox.Sorted = true;
- this.yearComboBox.TabIndex = 3;
+ this.mondayWeeklySalesLabel.AutoSize = true;
+ this.mondayWeeklySalesLabel.Location = new System.Drawing.Point(7, 61);
+ this.mondayWeeklySalesLabel.Name = "mondayWeeklySalesLabel";
+ this.mondayWeeklySalesLabel.Size = new System.Drawing.Size(89, 25);
+ this.mondayWeeklySalesLabel.TabIndex = 3;
+ this.mondayWeeklySalesLabel.Text = "Monday:";
//
- // dayComboBox
+ // tuesadayWeeklySalesLabel
//
- this.dayComboBox.FormattingEnabled = true;
- this.dayComboBox.Location = new System.Drawing.Point(327, 13);
- this.dayComboBox.Name = "dayComboBox";
- this.dayComboBox.Size = new System.Drawing.Size(111, 32);
- this.dayComboBox.Sorted = true;
- this.dayComboBox.TabIndex = 2;
+ this.tuesadayWeeklySalesLabel.AutoSize = true;
+ this.tuesadayWeeklySalesLabel.Location = new System.Drawing.Point(7, 93);
+ this.tuesadayWeeklySalesLabel.Name = "tuesadayWeeklySalesLabel";
+ this.tuesadayWeeklySalesLabel.Size = new System.Drawing.Size(95, 25);
+ this.tuesadayWeeklySalesLabel.TabIndex = 2;
+ this.tuesadayWeeklySalesLabel.Text = "Tuesday:";
//
- // monthComboBox
+ // wednesdayWeeklySalesLabel
//
- this.monthComboBox.FormattingEnabled = true;
- this.monthComboBox.Location = new System.Drawing.Point(208, 13);
- this.monthComboBox.Name = "monthComboBox";
- this.monthComboBox.Size = new System.Drawing.Size(111, 32);
- this.monthComboBox.Sorted = true;
- this.monthComboBox.TabIndex = 1;
+ this.wednesdayWeeklySalesLabel.AutoSize = true;
+ this.wednesdayWeeklySalesLabel.Location = new System.Drawing.Point(7, 125);
+ this.wednesdayWeeklySalesLabel.Name = "wednesdayWeeklySalesLabel";
+ this.wednesdayWeeklySalesLabel.Size = new System.Drawing.Size(124, 25);
+ this.wednesdayWeeklySalesLabel.TabIndex = 1;
+ this.wednesdayWeeklySalesLabel.Text = "Wednesday:";
//
- // dateSelectLabel
+ // sundayWeeklySalesLabel
//
- this.dateSelectLabel.AutoSize = true;
- this.dateSelectLabel.Location = new System.Drawing.Point(7, 14);
- this.dateSelectLabel.Name = "dateSelectLabel";
- this.dateSelectLabel.Size = new System.Drawing.Size(204, 25);
- this.dateSelectLabel.TabIndex = 0;
- this.dateSelectLabel.Text = "Select a Date to View:";
+ this.sundayWeeklySalesLabel.AutoSize = true;
+ this.sundayWeeklySalesLabel.Location = new System.Drawing.Point(7, 29);
+ this.sundayWeeklySalesLabel.Name = "sundayWeeklySalesLabel";
+ this.sundayWeeklySalesLabel.Size = new System.Drawing.Size(86, 25);
+ this.sundayWeeklySalesLabel.TabIndex = 0;
+ this.sundayWeeklySalesLabel.Text = "Sunday:";
+ //
+ // taxableGroupBox
+ //
+ this.taxableGroupBox.Controls.Add(this.mondayTaxableLabel);
+ this.taxableGroupBox.Controls.Add(this.tuesdayTaxableLabel);
+ this.taxableGroupBox.Controls.Add(this.saturdayTaxableLabel);
+ this.taxableGroupBox.Controls.Add(this.totalTaxableLabel);
+ this.taxableGroupBox.Controls.Add(this.fridayTaxableLabel);
+ this.taxableGroupBox.Controls.Add(this.thursdayTaxableLabel);
+ this.taxableGroupBox.Controls.Add(this.wednesdayTaxableLabel);
+ this.taxableGroupBox.Controls.Add(this.sundayTaxableLabel);
+ this.taxableGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.taxableGroupBox.Location = new System.Drawing.Point(638, 3);
+ this.taxableGroupBox.Name = "taxableGroupBox";
+ this.taxableGroupBox.Size = new System.Drawing.Size(274, 323);
+ this.taxableGroupBox.TabIndex = 4;
+ this.taxableGroupBox.TabStop = false;
+ this.taxableGroupBox.Text = "Taxable";
+ //
+ // mondayTaxableLabel
+ //
+ this.mondayTaxableLabel.AutoSize = true;
+ this.mondayTaxableLabel.Location = new System.Drawing.Point(6, 61);
+ this.mondayTaxableLabel.Name = "mondayTaxableLabel";
+ this.mondayTaxableLabel.Size = new System.Drawing.Size(89, 25);
+ this.mondayTaxableLabel.TabIndex = 7;
+ this.mondayTaxableLabel.Text = "Monday:";
+ //
+ // tuesdayTaxableLabel
+ //
+ this.tuesdayTaxableLabel.AutoSize = true;
+ this.tuesdayTaxableLabel.Location = new System.Drawing.Point(6, 93);
+ this.tuesdayTaxableLabel.Name = "tuesdayTaxableLabel";
+ this.tuesdayTaxableLabel.Size = new System.Drawing.Size(95, 25);
+ this.tuesdayTaxableLabel.TabIndex = 6;
+ this.tuesdayTaxableLabel.Text = "Tuesday:";
+ //
+ // saturdayTaxableLabel
+ //
+ this.saturdayTaxableLabel.AutoSize = true;
+ this.saturdayTaxableLabel.Location = new System.Drawing.Point(6, 221);
+ this.saturdayTaxableLabel.Name = "saturdayTaxableLabel";
+ this.saturdayTaxableLabel.Size = new System.Drawing.Size(97, 25);
+ this.saturdayTaxableLabel.TabIndex = 5;
+ this.saturdayTaxableLabel.Text = "Saturday:";
+ //
+ // totalTaxableLabel
+ //
+ this.totalTaxableLabel.AutoSize = true;
+ this.totalTaxableLabel.Location = new System.Drawing.Point(6, 253);
+ this.totalTaxableLabel.Name = "totalTaxableLabel";
+ this.totalTaxableLabel.Size = new System.Drawing.Size(62, 25);
+ this.totalTaxableLabel.TabIndex = 4;
+ this.totalTaxableLabel.Text = "Total:";
+ //
+ // fridayTaxableLabel
+ //
+ this.fridayTaxableLabel.AutoSize = true;
+ this.fridayTaxableLabel.Location = new System.Drawing.Point(6, 189);
+ this.fridayTaxableLabel.Name = "fridayTaxableLabel";
+ this.fridayTaxableLabel.Size = new System.Drawing.Size(72, 25);
+ this.fridayTaxableLabel.TabIndex = 3;
+ this.fridayTaxableLabel.Text = "Friday:";
+ //
+ // thursdayTaxableLabel
+ //
+ this.thursdayTaxableLabel.AutoSize = true;
+ this.thursdayTaxableLabel.Location = new System.Drawing.Point(6, 157);
+ this.thursdayTaxableLabel.Name = "thursdayTaxableLabel";
+ this.thursdayTaxableLabel.Size = new System.Drawing.Size(101, 25);
+ this.thursdayTaxableLabel.TabIndex = 2;
+ this.thursdayTaxableLabel.Text = "Thursday:";
+ //
+ // wednesdayTaxableLabel
+ //
+ this.wednesdayTaxableLabel.AutoSize = true;
+ this.wednesdayTaxableLabel.Location = new System.Drawing.Point(6, 125);
+ this.wednesdayTaxableLabel.Name = "wednesdayTaxableLabel";
+ this.wednesdayTaxableLabel.Size = new System.Drawing.Size(124, 25);
+ this.wednesdayTaxableLabel.TabIndex = 1;
+ this.wednesdayTaxableLabel.Text = "Wednesday:";
+ //
+ // sundayTaxableLabel
+ //
+ this.sundayTaxableLabel.AutoSize = true;
+ this.sundayTaxableLabel.Location = new System.Drawing.Point(6, 29);
+ this.sundayTaxableLabel.Name = "sundayTaxableLabel";
+ this.sundayTaxableLabel.Size = new System.Drawing.Size(86, 25);
+ this.sundayTaxableLabel.TabIndex = 0;
+ this.sundayTaxableLabel.Text = "Sunday:";
+ //
+ // dateTimeGroupBox
+ //
+ this.dateTimeGroupBox.Controls.Add(this.monthCalendar);
+ this.dateTimeGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.dateTimeGroupBox.Location = new System.Drawing.Point(3, 3);
+ this.dateTimeGroupBox.Name = "dateTimeGroupBox";
+ this.dateTimeGroupBox.Size = new System.Drawing.Size(349, 323);
+ this.dateTimeGroupBox.TabIndex = 5;
+ this.dateTimeGroupBox.TabStop = false;
+ this.dateTimeGroupBox.Text = "Select a date to view";
+ //
+ // monthCalendar
+ //
+ this.monthCalendar.Location = new System.Drawing.Point(0, 23);
+ this.monthCalendar.MaxSelectionCount = 1;
+ this.monthCalendar.Name = "monthCalendar";
+ this.monthCalendar.ShowTodayCircle = false;
+ this.monthCalendar.TabIndex = 0;
//
// mainViewTabControl
//
@@ -547,48 +592,45 @@
this.mainViewTabControl.Controls.Add(this.inventoryTabPage);
this.mainViewTabControl.Controls.Add(this.actualSalesTab);
this.mainViewTabControl.Controls.Add(this.suppliersTabPage);
- this.mainViewTabControl.Controls.Add(this.WeeklySalesTabPage);
- this.mainViewTabControl.Controls.Add(this.taxableTabPage);
- this.mainViewTabControl.Controls.Add(this.debugTabPage);
this.mainViewTabControl.Dock = System.Windows.Forms.DockStyle.Fill;
- this.mainViewTabControl.Location = new System.Drawing.Point(5, 47);
+ this.mainViewTabControl.Location = new System.Drawing.Point(5, 46);
this.mainViewTabControl.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);
this.mainViewTabControl.Name = "mainViewTabControl";
this.mainViewTabControl.SelectedIndex = 0;
- this.mainViewTabControl.Size = new System.Drawing.Size(1724, 541);
+ this.mainViewTabControl.Size = new System.Drawing.Size(1375, 499);
this.mainViewTabControl.TabIndex = 3;
//
// projectionTab
//
- this.projectionTab.Controls.Add(this.projectedSalesMainDataGrid);
+ this.projectionTab.Controls.Add(this.projectionsDataGridView);
this.projectionTab.Location = new System.Drawing.Point(4, 33);
this.projectionTab.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);
this.projectionTab.Name = "projectionTab";
this.projectionTab.Padding = new System.Windows.Forms.Padding(5, 6, 5, 6);
- this.projectionTab.Size = new System.Drawing.Size(1716, 504);
+ this.projectionTab.Size = new System.Drawing.Size(1367, 462);
this.projectionTab.TabIndex = 0;
this.projectionTab.Text = "Projections";
this.projectionTab.UseVisualStyleBackColor = true;
//
- // projectedSalesMainDataGrid
+ // projectionsDataGridView
//
- this.projectedSalesMainDataGrid.AllowUserToAddRows = false;
- this.projectedSalesMainDataGrid.AllowUserToDeleteRows = false;
- this.projectedSalesMainDataGrid.AllowUserToResizeRows = false;
- this.projectedSalesMainDataGrid.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
- this.projectedSalesMainDataGrid.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells;
- this.projectedSalesMainDataGrid.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
- this.projectedSalesMainDataGrid.Dock = System.Windows.Forms.DockStyle.Fill;
- this.projectedSalesMainDataGrid.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnKeystroke;
- this.projectedSalesMainDataGrid.Location = new System.Drawing.Point(5, 6);
- this.projectedSalesMainDataGrid.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);
- this.projectedSalesMainDataGrid.Name = "projectedSalesMainDataGrid";
- this.projectedSalesMainDataGrid.ReadOnly = true;
- this.projectedSalesMainDataGrid.RowHeadersVisible = false;
- this.projectedSalesMainDataGrid.ShowCellErrors = false;
- this.projectedSalesMainDataGrid.ShowRowErrors = false;
- this.projectedSalesMainDataGrid.Size = new System.Drawing.Size(1706, 492);
- this.projectedSalesMainDataGrid.TabIndex = 0;
+ this.projectionsDataGridView.AllowUserToAddRows = false;
+ this.projectionsDataGridView.AllowUserToDeleteRows = false;
+ this.projectionsDataGridView.AllowUserToResizeRows = false;
+ this.projectionsDataGridView.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
+ this.projectionsDataGridView.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells;
+ this.projectionsDataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.projectionsDataGridView.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.projectionsDataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnKeystroke;
+ this.projectionsDataGridView.Location = new System.Drawing.Point(5, 6);
+ this.projectionsDataGridView.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);
+ this.projectionsDataGridView.Name = "projectionsDataGridView";
+ this.projectionsDataGridView.ReadOnly = true;
+ this.projectionsDataGridView.RowHeadersVisible = false;
+ this.projectionsDataGridView.ShowCellErrors = false;
+ this.projectionsDataGridView.ShowRowErrors = false;
+ this.projectionsDataGridView.Size = new System.Drawing.Size(1357, 450);
+ this.projectionsDataGridView.TabIndex = 0;
//
// inventoryTabPage
//
@@ -596,7 +638,7 @@
this.inventoryTabPage.Location = new System.Drawing.Point(4, 33);
this.inventoryTabPage.Name = "inventoryTabPage";
this.inventoryTabPage.Padding = new System.Windows.Forms.Padding(3);
- this.inventoryTabPage.Size = new System.Drawing.Size(1716, 504);
+ this.inventoryTabPage.Size = new System.Drawing.Size(1367, 462);
this.inventoryTabPage.TabIndex = 4;
this.inventoryTabPage.Text = "Inventory";
this.inventoryTabPage.UseVisualStyleBackColor = true;
@@ -615,7 +657,7 @@
this.inventoryDataGridView.RowHeadersVisible = false;
this.inventoryDataGridView.RowTemplate.Height = 28;
this.inventoryDataGridView.ShowRowErrors = false;
- this.inventoryDataGridView.Size = new System.Drawing.Size(1710, 498);
+ this.inventoryDataGridView.Size = new System.Drawing.Size(1361, 456);
this.inventoryDataGridView.TabIndex = 0;
//
// actualSalesTab
@@ -624,7 +666,7 @@
this.actualSalesTab.Location = new System.Drawing.Point(4, 33);
this.actualSalesTab.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);
this.actualSalesTab.Name = "actualSalesTab";
- this.actualSalesTab.Size = new System.Drawing.Size(1716, 504);
+ this.actualSalesTab.Size = new System.Drawing.Size(1367, 462);
this.actualSalesTab.TabIndex = 2;
this.actualSalesTab.Text = "Actual Sales";
this.actualSalesTab.UseVisualStyleBackColor = true;
@@ -633,149 +675,257 @@
//
this.actualSalesMainLayoutPanel.ColumnCount = 1;
this.actualSalesMainLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
- this.actualSalesMainLayoutPanel.Controls.Add(this.actualSalesMainDataGidView, 0, 0);
+ this.actualSalesMainLayoutPanel.Controls.Add(this.actualSalesDataGridView, 0, 0);
this.actualSalesMainLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill;
this.actualSalesMainLayoutPanel.Location = new System.Drawing.Point(0, 0);
this.actualSalesMainLayoutPanel.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);
this.actualSalesMainLayoutPanel.Name = "actualSalesMainLayoutPanel";
this.actualSalesMainLayoutPanel.RowCount = 1;
this.actualSalesMainLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
- this.actualSalesMainLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 504F));
- this.actualSalesMainLayoutPanel.Size = new System.Drawing.Size(1716, 504);
+ this.actualSalesMainLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 462F));
+ this.actualSalesMainLayoutPanel.Size = new System.Drawing.Size(1367, 462);
this.actualSalesMainLayoutPanel.TabIndex = 0;
//
- // actualSalesMainDataGidView
+ // actualSalesDataGridView
//
- this.actualSalesMainDataGidView.AllowUserToAddRows = false;
- this.actualSalesMainDataGidView.AllowUserToDeleteRows = false;
- this.actualSalesMainDataGidView.AllowUserToResizeRows = false;
- this.actualSalesMainDataGidView.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
- this.actualSalesMainDataGidView.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells;
- this.actualSalesMainDataGidView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
- this.actualSalesMainDataGidView.Dock = System.Windows.Forms.DockStyle.Fill;
- this.actualSalesMainDataGidView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnKeystroke;
- this.actualSalesMainDataGidView.Location = new System.Drawing.Point(5, 6);
- this.actualSalesMainDataGidView.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);
- this.actualSalesMainDataGidView.Name = "actualSalesMainDataGidView";
- this.actualSalesMainDataGidView.ReadOnly = true;
- this.actualSalesMainDataGidView.RowHeadersVisible = false;
- this.actualSalesMainDataGidView.ShowCellErrors = false;
- this.actualSalesMainDataGidView.ShowRowErrors = false;
- this.actualSalesMainDataGidView.Size = new System.Drawing.Size(1706, 492);
- this.actualSalesMainDataGidView.TabIndex = 1;
+ this.actualSalesDataGridView.AllowUserToAddRows = false;
+ this.actualSalesDataGridView.AllowUserToDeleteRows = false;
+ this.actualSalesDataGridView.AllowUserToResizeRows = false;
+ this.actualSalesDataGridView.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
+ this.actualSalesDataGridView.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells;
+ this.actualSalesDataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.actualSalesDataGridView.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.actualSalesDataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnKeystroke;
+ this.actualSalesDataGridView.Location = new System.Drawing.Point(5, 6);
+ this.actualSalesDataGridView.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);
+ this.actualSalesDataGridView.Name = "actualSalesDataGridView";
+ this.actualSalesDataGridView.ReadOnly = true;
+ this.actualSalesDataGridView.RowHeadersVisible = false;
+ this.actualSalesDataGridView.ShowCellErrors = false;
+ this.actualSalesDataGridView.ShowRowErrors = false;
+ this.actualSalesDataGridView.Size = new System.Drawing.Size(1357, 450);
+ this.actualSalesDataGridView.TabIndex = 1;
//
// suppliersTabPage
//
- this.suppliersTabPage.Controls.Add(this.suppliersDataGridView);
+ this.suppliersTabPage.Controls.Add(this.invoicesDataGridView);
this.suppliersTabPage.Location = new System.Drawing.Point(4, 33);
this.suppliersTabPage.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);
this.suppliersTabPage.Name = "suppliersTabPage";
this.suppliersTabPage.Padding = new System.Windows.Forms.Padding(5, 6, 5, 6);
- this.suppliersTabPage.Size = new System.Drawing.Size(1716, 504);
+ this.suppliersTabPage.Size = new System.Drawing.Size(1367, 462);
this.suppliersTabPage.TabIndex = 1;
- this.suppliersTabPage.Text = "Suppliers";
+ this.suppliersTabPage.Text = "Invoices";
this.suppliersTabPage.UseVisualStyleBackColor = true;
//
- // suppliersDataGridView
+ // invoicesDataGridView
//
- this.suppliersDataGridView.AllowUserToAddRows = false;
- this.suppliersDataGridView.AllowUserToDeleteRows = false;
- this.suppliersDataGridView.AllowUserToResizeRows = false;
- this.suppliersDataGridView.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
- this.suppliersDataGridView.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells;
- this.suppliersDataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
- this.suppliersDataGridView.Dock = System.Windows.Forms.DockStyle.Fill;
- this.suppliersDataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnKeystroke;
- this.suppliersDataGridView.Location = new System.Drawing.Point(5, 6);
- this.suppliersDataGridView.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);
- this.suppliersDataGridView.Name = "suppliersDataGridView";
- this.suppliersDataGridView.ReadOnly = true;
- this.suppliersDataGridView.RowHeadersVisible = false;
- this.suppliersDataGridView.Size = new System.Drawing.Size(1706, 492);
- this.suppliersDataGridView.TabIndex = 0;
+ this.invoicesDataGridView.AllowUserToAddRows = false;
+ this.invoicesDataGridView.AllowUserToDeleteRows = false;
+ this.invoicesDataGridView.AllowUserToResizeRows = false;
+ this.invoicesDataGridView.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
+ this.invoicesDataGridView.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells;
+ this.invoicesDataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.invoicesDataGridView.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.invoicesDataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnKeystroke;
+ this.invoicesDataGridView.Location = new System.Drawing.Point(5, 6);
+ this.invoicesDataGridView.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);
+ this.invoicesDataGridView.Name = "invoicesDataGridView";
+ this.invoicesDataGridView.ReadOnly = true;
+ this.invoicesDataGridView.RowHeadersVisible = false;
+ this.invoicesDataGridView.Size = new System.Drawing.Size(1357, 450);
+ this.invoicesDataGridView.TabIndex = 0;
//
- // WeeklySalesTabPage
+ // commentsAndAnalysisLayoutPanel
//
- this.WeeklySalesTabPage.Controls.Add(this.weeklySalesDataGridView);
- this.WeeklySalesTabPage.Location = new System.Drawing.Point(4, 33);
- this.WeeklySalesTabPage.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);
- this.WeeklySalesTabPage.Name = "WeeklySalesTabPage";
- this.WeeklySalesTabPage.Padding = new System.Windows.Forms.Padding(5, 6, 5, 6);
- this.WeeklySalesTabPage.Size = new System.Drawing.Size(1716, 504);
- this.WeeklySalesTabPage.TabIndex = 3;
- this.WeeklySalesTabPage.Text = "Weekly Sales";
- this.WeeklySalesTabPage.UseVisualStyleBackColor = true;
+ this.commentsAndAnalysisLayoutPanel.ColumnCount = 1;
+ this.commentsAndAnalysisLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
+ this.commentsAndAnalysisLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.commentsAndAnalysisLayoutPanel.Controls.Add(this.costAnalysisGroupBox, 0, 1);
+ this.commentsAndAnalysisLayoutPanel.Controls.Add(this.commentMainGroupBox, 0, 0);
+ this.commentsAndAnalysisLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.commentsAndAnalysisLayoutPanel.Location = new System.Drawing.Point(1388, 43);
+ this.commentsAndAnalysisLayoutPanel.Name = "commentsAndAnalysisLayoutPanel";
+ this.commentsAndAnalysisLayoutPanel.RowCount = 2;
+ this.commentsAndAnalysisLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
+ this.commentsAndAnalysisLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
+ this.commentsAndAnalysisLayoutPanel.Size = new System.Drawing.Size(456, 505);
+ this.commentsAndAnalysisLayoutPanel.TabIndex = 6;
//
- // weeklySalesDataGridView
+ // costAnalysisGroupBox
//
- this.weeklySalesDataGridView.AllowUserToAddRows = false;
- this.weeklySalesDataGridView.AllowUserToDeleteRows = false;
- this.weeklySalesDataGridView.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
- this.weeklySalesDataGridView.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells;
- this.weeklySalesDataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
- this.weeklySalesDataGridView.Dock = System.Windows.Forms.DockStyle.Fill;
- this.weeklySalesDataGridView.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnKeystroke;
- this.weeklySalesDataGridView.Location = new System.Drawing.Point(5, 6);
- this.weeklySalesDataGridView.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);
- this.weeklySalesDataGridView.Name = "weeklySalesDataGridView";
- this.weeklySalesDataGridView.ReadOnly = true;
- this.weeklySalesDataGridView.RowHeadersVisible = false;
- this.weeklySalesDataGridView.Size = new System.Drawing.Size(1706, 492);
- this.weeklySalesDataGridView.TabIndex = 0;
+ this.costAnalysisGroupBox.Controls.Add(this.informationLabel);
+ this.costAnalysisGroupBox.Controls.Add(this.suppliesLabel);
+ this.costAnalysisGroupBox.Controls.Add(this.salaryDollarsLabel);
+ this.costAnalysisGroupBox.Controls.Add(this.salaryPercentageLabel);
+ this.costAnalysisGroupBox.Controls.Add(this.salesPerManHourLabel);
+ this.costAnalysisGroupBox.Controls.Add(this.button1);
+ this.costAnalysisGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.costAnalysisGroupBox.Location = new System.Drawing.Point(3, 255);
+ this.costAnalysisGroupBox.Name = "costAnalysisGroupBox";
+ this.costAnalysisGroupBox.Size = new System.Drawing.Size(450, 247);
+ this.costAnalysisGroupBox.TabIndex = 4;
+ this.costAnalysisGroupBox.TabStop = false;
+ this.costAnalysisGroupBox.Text = "Cost Analysis";
//
- // taxableTabPage
+ // informationLabel
//
- this.taxableTabPage.Controls.Add(this.taxableDataGridView);
- this.taxableTabPage.Location = new System.Drawing.Point(4, 33);
- this.taxableTabPage.Name = "taxableTabPage";
- this.taxableTabPage.Padding = new System.Windows.Forms.Padding(3);
- this.taxableTabPage.Size = new System.Drawing.Size(1716, 504);
- this.taxableTabPage.TabIndex = 5;
- this.taxableTabPage.Text = "Taxable";
- this.taxableTabPage.UseVisualStyleBackColor = true;
+ this.informationLabel.AutoSize = true;
+ this.informationLabel.Location = new System.Drawing.Point(13, 178);
+ this.informationLabel.Name = "informationLabel";
+ this.informationLabel.Size = new System.Drawing.Size(43, 25);
+ this.informationLabel.TabIndex = 9;
+ this.informationLabel.Text = "info";
//
- // taxableDataGridView
+ // suppliesLabel
//
- this.taxableDataGridView.AllowUserToAddRows = false;
- this.taxableDataGridView.AllowUserToDeleteRows = false;
- this.taxableDataGridView.AllowUserToResizeRows = false;
- this.taxableDataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
- this.taxableDataGridView.Dock = System.Windows.Forms.DockStyle.Fill;
- this.taxableDataGridView.Location = new System.Drawing.Point(3, 3);
- this.taxableDataGridView.Name = "taxableDataGridView";
- this.taxableDataGridView.ReadOnly = true;
- this.taxableDataGridView.RowTemplate.Height = 31;
- this.taxableDataGridView.Size = new System.Drawing.Size(1710, 498);
- this.taxableDataGridView.TabIndex = 0;
+ this.suppliesLabel.AutoSize = true;
+ this.suppliesLabel.Location = new System.Drawing.Point(8, 149);
+ this.suppliesLabel.Name = "suppliesLabel";
+ this.suppliesLabel.Size = new System.Drawing.Size(94, 25);
+ this.suppliesLabel.TabIndex = 8;
+ this.suppliesLabel.Text = "Supplies:";
//
- // debugTabPage
+ // salaryDollarsLabel
//
- this.debugTabPage.Controls.Add(this.monthCalendar);
- this.debugTabPage.Location = new System.Drawing.Point(4, 33);
- this.debugTabPage.Name = "debugTabPage";
- this.debugTabPage.Padding = new System.Windows.Forms.Padding(3);
- this.debugTabPage.Size = new System.Drawing.Size(1716, 504);
- this.debugTabPage.TabIndex = 6;
- this.debugTabPage.Text = "Debug";
- this.debugTabPage.UseVisualStyleBackColor = true;
+ this.salaryDollarsLabel.AutoSize = true;
+ this.salaryDollarsLabel.Location = new System.Drawing.Point(8, 109);
+ this.salaryDollarsLabel.Name = "salaryDollarsLabel";
+ this.salaryDollarsLabel.Size = new System.Drawing.Size(139, 25);
+ this.salaryDollarsLabel.TabIndex = 7;
+ this.salaryDollarsLabel.Text = "Salary Dollars:";
//
- // monthCalendar
+ // salaryPercentageLabel
//
- this.monthCalendar.Location = new System.Drawing.Point(12, 12);
- this.monthCalendar.MaxSelectionCount = 1;
- this.monthCalendar.MonthlyBoldedDates = new System.DateTime[] {
- new System.DateTime(2017, 1, 1, 0, 0, 0, 0)};
- this.monthCalendar.Name = "monthCalendar";
- this.monthCalendar.ShowTodayCircle = false;
- this.monthCalendar.ShowWeekNumbers = true;
- this.monthCalendar.TabIndex = 0;
- this.monthCalendar.TabStop = false;
+ this.salaryPercentageLabel.AutoSize = true;
+ this.salaryPercentageLabel.Location = new System.Drawing.Point(8, 69);
+ this.salaryPercentageLabel.Name = "salaryPercentageLabel";
+ this.salaryPercentageLabel.Size = new System.Drawing.Size(179, 25);
+ this.salaryPercentageLabel.TabIndex = 6;
+ this.salaryPercentageLabel.Text = "Salary Percentage:";
+ //
+ // salesPerManHourLabel
+ //
+ this.salesPerManHourLabel.AutoSize = true;
+ this.salesPerManHourLabel.Location = new System.Drawing.Point(8, 29);
+ this.salesPerManHourLabel.Name = "salesPerManHourLabel";
+ this.salesPerManHourLabel.Size = new System.Drawing.Size(194, 25);
+ this.salesPerManHourLabel.TabIndex = 5;
+ this.salesPerManHourLabel.Text = "Sales Per Man Hour:";
+ //
+ // button1
+ //
+ this.button1.Location = new System.Drawing.Point(37, 303);
+ this.button1.Name = "button1";
+ this.button1.Size = new System.Drawing.Size(138, 49);
+ this.button1.TabIndex = 4;
+ this.button1.Text = "Print Preview";
+ this.button1.UseVisualStyleBackColor = true;
+ this.button1.Visible = false;
+ //
+ // commentMainGroupBox
+ //
+ this.commentMainGroupBox.Controls.Add(this.commentsTextBox);
+ this.commentMainGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.commentMainGroupBox.Location = new System.Drawing.Point(5, 6);
+ this.commentMainGroupBox.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);
+ this.commentMainGroupBox.Name = "commentMainGroupBox";
+ this.commentMainGroupBox.Padding = new System.Windows.Forms.Padding(5, 6, 5, 6);
+ this.commentMainGroupBox.Size = new System.Drawing.Size(446, 240);
+ this.commentMainGroupBox.TabIndex = 1;
+ this.commentMainGroupBox.TabStop = false;
+ this.commentMainGroupBox.Text = "Comments";
+ //
+ // commentsTextBox
+ //
+ this.commentsTextBox.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.commentsTextBox.Enabled = false;
+ this.commentsTextBox.Location = new System.Drawing.Point(5, 28);
+ this.commentsTextBox.Multiline = true;
+ this.commentsTextBox.Name = "commentsTextBox";
+ this.commentsTextBox.ReadOnly = true;
+ this.commentsTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
+ this.commentsTextBox.Size = new System.Drawing.Size(436, 206);
+ this.commentsTextBox.TabIndex = 0;
+ //
+ // grossProfitGroupBox
+ //
+ this.grossProfitGroupBox.Controls.Add(this.usePreRenderedFilesCheckbox);
+ this.grossProfitGroupBox.Controls.Add(this.grossProfitLessCostOfSales);
+ this.grossProfitGroupBox.Controls.Add(this.printPreviewButton);
+ this.grossProfitGroupBox.Controls.Add(this.grossProfitTotalSales);
+ this.grossProfitGroupBox.Controls.Add(this.grossProfitEstimatedWeeklyDeptmartmentExpenseLabel);
+ this.grossProfitGroupBox.Controls.Add(this.perfectGrossProfitLabel);
+ this.grossProfitGroupBox.Controls.Add(this.grossProfitDollarGrossProfitLabel);
+ this.grossProfitGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.grossProfitGroupBox.Location = new System.Drawing.Point(1388, 554);
+ this.grossProfitGroupBox.Name = "grossProfitGroupBox";
+ this.grossProfitGroupBox.Size = new System.Drawing.Size(456, 335);
+ this.grossProfitGroupBox.TabIndex = 7;
+ this.grossProfitGroupBox.TabStop = false;
+ this.grossProfitGroupBox.Text = "Gross Profit";
+ //
+ // usePreRenderedFilesCheckbox
+ //
+ this.usePreRenderedFilesCheckbox.AutoSize = true;
+ this.usePreRenderedFilesCheckbox.Location = new System.Drawing.Point(40, 288);
+ this.usePreRenderedFilesCheckbox.Name = "usePreRenderedFilesCheckbox";
+ this.usePreRenderedFilesCheckbox.Size = new System.Drawing.Size(239, 29);
+ this.usePreRenderedFilesCheckbox.TabIndex = 5;
+ this.usePreRenderedFilesCheckbox.Text = "Use Pre-rendered Files";
+ this.usePreRenderedFilesCheckbox.UseVisualStyleBackColor = true;
+ this.usePreRenderedFilesCheckbox.Visible = false;
+ //
+ // grossProfitLessCostOfSales
+ //
+ this.grossProfitLessCostOfSales.AutoSize = true;
+ this.grossProfitLessCostOfSales.Location = new System.Drawing.Point(6, 67);
+ this.grossProfitLessCostOfSales.Name = "grossProfitLessCostOfSales";
+ this.grossProfitLessCostOfSales.Size = new System.Drawing.Size(187, 25);
+ this.grossProfitLessCostOfSales.TabIndex = 1;
+ this.grossProfitLessCostOfSales.Text = "Less Cost of Sales: ";
+ //
+ // grossProfitTotalSales
+ //
+ this.grossProfitTotalSales.AutoSize = true;
+ this.grossProfitTotalSales.Location = new System.Drawing.Point(6, 35);
+ this.grossProfitTotalSales.Name = "grossProfitTotalSales";
+ this.grossProfitTotalSales.Size = new System.Drawing.Size(122, 25);
+ this.grossProfitTotalSales.TabIndex = 0;
+ this.grossProfitTotalSales.Text = "Total Sales: ";
+ //
+ // grossProfitEstimatedWeeklyDeptmartmentExpenseLabel
+ //
+ this.grossProfitEstimatedWeeklyDeptmartmentExpenseLabel.AutoSize = true;
+ this.grossProfitEstimatedWeeklyDeptmartmentExpenseLabel.Location = new System.Drawing.Point(6, 163);
+ this.grossProfitEstimatedWeeklyDeptmartmentExpenseLabel.Name = "grossProfitEstimatedWeeklyDeptmartmentExpenseLabel";
+ this.grossProfitEstimatedWeeklyDeptmartmentExpenseLabel.Size = new System.Drawing.Size(368, 25);
+ this.grossProfitEstimatedWeeklyDeptmartmentExpenseLabel.TabIndex = 4;
+ this.grossProfitEstimatedWeeklyDeptmartmentExpenseLabel.Text = "Estimated Weekly Department Expense: ";
+ //
+ // perfectGrossProfitLabel
+ //
+ this.perfectGrossProfitLabel.AutoSize = true;
+ this.perfectGrossProfitLabel.Location = new System.Drawing.Point(6, 131);
+ this.perfectGrossProfitLabel.Name = "perfectGrossProfitLabel";
+ this.perfectGrossProfitLabel.Size = new System.Drawing.Size(196, 25);
+ this.perfectGrossProfitLabel.TabIndex = 3;
+ this.perfectGrossProfitLabel.Text = "Percent Gross Profit: ";
+ //
+ // grossProfitDollarGrossProfitLabel
+ //
+ this.grossProfitDollarGrossProfitLabel.AutoSize = true;
+ this.grossProfitDollarGrossProfitLabel.Location = new System.Drawing.Point(6, 99);
+ this.grossProfitDollarGrossProfitLabel.Name = "grossProfitDollarGrossProfitLabel";
+ this.grossProfitDollarGrossProfitLabel.Size = new System.Drawing.Size(179, 25);
+ this.grossProfitDollarGrossProfitLabel.TabIndex = 2;
+ this.grossProfitDollarGrossProfitLabel.Text = "Dollar Gross Profit: ";
//
// FrmMain
//
this.AutoScaleDimensions = new System.Drawing.SizeF(168F, 168F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
- this.ClientSize = new System.Drawing.Size(1734, 892);
+ this.ClientSize = new System.Drawing.Size(1847, 892);
this.Controls.Add(this.mainTableLayoutPanel);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Margin = new System.Windows.Forms.Padding(5, 6, 5, 6);
@@ -784,99 +934,113 @@
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Advertising Profit Control";
this.Load += new System.EventHandler(this.frmMain_Load);
- this.mainTableLayoutPanel.ResumeLayout(false);
- this.mainTableLayoutPanel.PerformLayout();
this.mainMenu.ResumeLayout(false);
this.mainMenu.PerformLayout();
+ this.mainTableLayoutPanel.ResumeLayout(false);
+ this.mainTableLayoutPanel.PerformLayout();
this.commentMainTableLayoutPanel.ResumeLayout(false);
- this.commentMainGroupBox.ResumeLayout(false);
- this.commentMainGroupBox.PerformLayout();
this.profitAnalysisMainGroupBox.ResumeLayout(false);
this.profitAnalysisMainGroupBox.PerformLayout();
- this.grossProfitGroupBox.ResumeLayout(false);
- this.grossProfitGroupBox.PerformLayout();
- this.costAnalysisGroupBox.ResumeLayout(false);
- this.costAnalysisGroupBox.PerformLayout();
- this.dateSelectorPanel.ResumeLayout(false);
- this.dateSelectorPanel.PerformLayout();
+ this.weeklySalesGroupBox.ResumeLayout(false);
+ this.weeklySalesGroupBox.PerformLayout();
+ this.taxableGroupBox.ResumeLayout(false);
+ this.taxableGroupBox.PerformLayout();
+ this.dateTimeGroupBox.ResumeLayout(false);
this.mainViewTabControl.ResumeLayout(false);
this.projectionTab.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)(this.projectedSalesMainDataGrid)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.projectionsDataGridView)).EndInit();
this.inventoryTabPage.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.inventoryDataGridView)).EndInit();
this.actualSalesTab.ResumeLayout(false);
this.actualSalesMainLayoutPanel.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)(this.actualSalesMainDataGidView)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.actualSalesDataGridView)).EndInit();
this.suppliersTabPage.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)(this.suppliersDataGridView)).EndInit();
- this.WeeklySalesTabPage.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)(this.weeklySalesDataGridView)).EndInit();
- this.taxableTabPage.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)(this.taxableDataGridView)).EndInit();
- this.debugTabPage.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.invoicesDataGridView)).EndInit();
+ this.commentsAndAnalysisLayoutPanel.ResumeLayout(false);
+ this.costAnalysisGroupBox.ResumeLayout(false);
+ this.costAnalysisGroupBox.PerformLayout();
+ this.commentMainGroupBox.ResumeLayout(false);
+ this.commentMainGroupBox.PerformLayout();
+ this.grossProfitGroupBox.ResumeLayout(false);
+ this.grossProfitGroupBox.PerformLayout();
this.ResumeLayout(false);
}
#endregion
- private System.Windows.Forms.TableLayoutPanel mainTableLayoutPanel;
+ private System.Windows.Forms.Button printPreviewButton;
private System.Windows.Forms.MenuStrip mainMenu;
- private System.Windows.Forms.ToolStripMenuItem fileMainMenu;
+ private System.Windows.Forms.TableLayoutPanel mainTableLayoutPanel;
private System.Windows.Forms.TableLayoutPanel commentMainTableLayoutPanel;
- private System.Windows.Forms.GroupBox commentMainGroupBox;
- private System.Windows.Forms.GroupBox profitAnalysisMainGroupBox;
- private System.Windows.Forms.GroupBox grossProfitGroupBox;
- private System.Windows.Forms.ToolStripMenuItem exitFileMainMenu;
- private System.Windows.Forms.TabControl mainViewTabControl;
- private System.Windows.Forms.TabPage projectionTab;
- private System.Windows.Forms.TabPage suppliersTabPage;
- private System.Windows.Forms.DataGridView suppliersDataGridView;
- private System.Windows.Forms.TabPage actualSalesTab;
- private System.Windows.Forms.TableLayoutPanel actualSalesMainLayoutPanel;
- private System.Windows.Forms.DataGridView actualSalesMainDataGidView;
- private System.Windows.Forms.DataGridView projectedSalesMainDataGrid;
- private System.Windows.Forms.ToolStripMenuItem recordsToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem addRecordsToolStripMenuItem;
+ private System.Windows.Forms.LinkLabel shrinkLinkLabel;
private System.Windows.Forms.Label totalProfitReturnLabel;
private System.Windows.Forms.Label totalProfitReturnFromRemaingLabel;
private System.Windows.Forms.Label totalProfitFromAdItemsLabel;
private System.Windows.Forms.Label remainingSalesLabel;
private System.Windows.Forms.Label salesProducedLabel;
private System.Windows.Forms.Label departmentSalesLabel;
- private System.Windows.Forms.TabPage WeeklySalesTabPage;
- private System.Windows.Forms.DataGridView weeklySalesDataGridView;
- private System.Windows.Forms.ToolStripMenuItem helpMainMenu;
- private System.Windows.Forms.ToolStripMenuItem showHideConsoleHelpMainMenu;
- private System.Windows.Forms.GroupBox costAnalysisGroupBox;
private System.Windows.Forms.Label grossProfitEstimatedWeeklyDeptmartmentExpenseLabel;
- private System.Windows.Forms.Label perfectGrossProfitLabel;
private System.Windows.Forms.Label grossProfitDollarGrossProfitLabel;
- private System.Windows.Forms.Label grossProfitLessCostOfSales;
+ private System.Windows.Forms.Label perfectGrossProfitLabel;
private System.Windows.Forms.Label grossProfitTotalSales;
- private System.Windows.Forms.Panel dateSelectorPanel;
- private System.Windows.Forms.ComboBox yearComboBox;
- private System.Windows.Forms.ComboBox dayComboBox;
- private System.Windows.Forms.ComboBox monthComboBox;
- private System.Windows.Forms.Label dateSelectLabel;
- private System.Windows.Forms.TabPage inventoryTabPage;
- private System.Windows.Forms.DataGridView inventoryDataGridView;
+ private System.Windows.Forms.Label grossProfitLessCostOfSales;
+ private System.Windows.Forms.CheckBox usePreRenderedFilesCheckbox;
+ private System.Windows.Forms.TableLayoutPanel commentsAndAnalysisLayoutPanel;
+ private System.Windows.Forms.GroupBox commentMainGroupBox;
+ private System.Windows.Forms.TextBox commentsTextBox;
+ private System.Windows.Forms.ToolStripMenuItem fileMainMenu;
+ private System.Windows.Forms.ToolStripMenuItem exitFileMainMenu;
+ private System.Windows.Forms.ToolStripMenuItem recordsToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem addRecordsToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem modifyRecordMainMenu;
+ private System.Windows.Forms.ToolStripMenuItem deleteRecordsMainMenu;
private System.Windows.Forms.ToolStripMenuItem toolsMainMenu;
private System.Windows.Forms.ToolStripMenuItem adSpecialKeyWordsToolsMainMenu;
- private System.Windows.Forms.ToolStripMenuItem deleteRecordsMainMenu;
- private System.Windows.Forms.TextBox commentsTextBox;
- private System.Windows.Forms.ToolStripMenuItem modifyRecordMainMenu;
private System.Windows.Forms.ToolStripMenuItem manageItemsToolsMainMenu;
+ private System.Windows.Forms.ToolStripMenuItem helpMainMenu;
+ private System.Windows.Forms.ToolStripMenuItem showHideConsoleHelpMainMenu;
private System.Windows.Forms.ToolStripMenuItem dbVersionHelpMainMenu;
- private System.Windows.Forms.Button printPreviewButton;
- private System.Windows.Forms.CheckBox usePreRenderedFilesCheckbox;
- private System.Windows.Forms.ToolStripMenuItem newFormTestToolStripMenuItem;
- private System.Windows.Forms.LinkLabel shrinkLinkLabel;
- private System.Windows.Forms.TabPage taxableTabPage;
- private System.Windows.Forms.DataGridView taxableDataGridView;
- private System.Windows.Forms.TabPage debugTabPage;
+ private System.Windows.Forms.GroupBox profitAnalysisMainGroupBox;
+ private System.Windows.Forms.GroupBox weeklySalesGroupBox;
+ private System.Windows.Forms.Label saturdayWeeklySalesLabel;
+ private System.Windows.Forms.Label totalWeeklySalesLabel;
+ private System.Windows.Forms.Label thursdayWeeklySalesLabel;
+ private System.Windows.Forms.Label fridayWeeklySalesLabel;
+ private System.Windows.Forms.Label mondayWeeklySalesLabel;
+ private System.Windows.Forms.Label tuesadayWeeklySalesLabel;
+ private System.Windows.Forms.Label wednesdayWeeklySalesLabel;
+ private System.Windows.Forms.Label sundayWeeklySalesLabel;
+ private System.Windows.Forms.GroupBox taxableGroupBox;
+ private System.Windows.Forms.Label mondayTaxableLabel;
+ private System.Windows.Forms.Label tuesdayTaxableLabel;
+ private System.Windows.Forms.Label saturdayTaxableLabel;
+ private System.Windows.Forms.Label totalTaxableLabel;
+ private System.Windows.Forms.Label fridayTaxableLabel;
+ private System.Windows.Forms.Label thursdayTaxableLabel;
+ private System.Windows.Forms.Label wednesdayTaxableLabel;
+ private System.Windows.Forms.Label sundayTaxableLabel;
+ private System.Windows.Forms.GroupBox dateTimeGroupBox;
private System.Windows.Forms.MonthCalendar monthCalendar;
- private System.Windows.Forms.ToolStripMenuItem newModifyRecordToolStripMenuItem;
+ private System.Windows.Forms.GroupBox costAnalysisGroupBox;
+ private System.Windows.Forms.Label suppliesLabel;
+ private System.Windows.Forms.Label salaryDollarsLabel;
+ private System.Windows.Forms.Label salaryPercentageLabel;
+ private System.Windows.Forms.Label salesPerManHourLabel;
+ private System.Windows.Forms.Button button1;
+ private System.Windows.Forms.GroupBox grossProfitGroupBox;
+ private System.Windows.Forms.Label errorLabel;
+ private System.Windows.Forms.Label informationLabel;
+ private System.Windows.Forms.TabControl mainViewTabControl;
+ private System.Windows.Forms.TabPage projectionTab;
+ private System.Windows.Forms.DataGridView projectionsDataGridView;
+ private System.Windows.Forms.TabPage inventoryTabPage;
+ private System.Windows.Forms.DataGridView inventoryDataGridView;
+ private System.Windows.Forms.TabPage actualSalesTab;
+ private System.Windows.Forms.TableLayoutPanel actualSalesMainLayoutPanel;
+ private System.Windows.Forms.DataGridView actualSalesDataGridView;
+ private System.Windows.Forms.TabPage suppliersTabPage;
+ private System.Windows.Forms.DataGridView invoicesDataGridView;
}
}
diff --git a/AdvertsingProfitControl/FrmMain.cs b/AdvertsingProfitControl/FrmMain.cs
index 442075b..1a20445 100644
--- a/AdvertsingProfitControl/FrmMain.cs
+++ b/AdvertsingProfitControl/FrmMain.cs
@@ -13,11 +13,10 @@ namespace AdvertsingProfitControl
{
public partial class FrmMain : Form
{
- private double _SalesProducedByAdItems = 0;
- private double _TotalProfitReturnFromAdItems = 0;
- private double _gCostOfSalesCalculatedTotal = 0;
- private double _departmentSales = 0;
- private List _gDateStringCollection = new List();
+ private double _salesProducedByAdItems;
+ private double _totalProfitReturnFromAdItems;
+ private double _totalInvoicePurchases; //Total Purchases
+ private double _departmentSales; //weekly sales total
readonly FrmLogConsole _console = FrmLogConsole.GetStaticInstance;
private int _LazyPageCounter = 0;
@@ -31,396 +30,93 @@ namespace AdvertsingProfitControl
var databaseTracker = new DatabaseTracker();
var databaseReader = new DatabaseReader();
RowParsing.AdSpecialGroups.AddRange(databaseReader.ReturnGroupNameList(databaseTracker.DatabaseConnectionString));
- FillDateSuggestionComboBoxes();
- BuildAndFillDataGridTables();
+ ConstructApcDataGridViews();
+ ConstructInvoicesDataGridView();
+ var date = databaseReader.RetrieveMostRecentDate(databaseTracker.DatabaseConnectionString);
+ monthCalendar.SelectionStart = date;
+ LoadDate(date);
CalculateProfitAnalysis();
CalculateGrossProfit();
- projectedSalesMainDataGrid.KeyDown += FrmMain_KeyDown;
+ //projectionsDataGridView.KeyDown += FrmMain_KeyDown;
//var margin = new Margins(50, 50, 0, 0);
//_printDoc.DefaultPageSettings.Margins = margin;
}
- private void FrmMain_KeyDown(object sender, KeyEventArgs e)
- {
- if (e.Modifiers == Keys.Shift && e.KeyCode == Keys.Up)
- {
- MessageBox.Show("My message");
- }
- }
-
- private void UpdateDataGridViewInformation(object sender, EventArgs e)
- {
- var dateString = monthComboBox.Text + "/" + dayComboBox.Text + "/" + yearComboBox.Text;
- BuildAndFillDataGridTables(dateString);
- CalculateProfitAnalysis();
- CalculateGrossProfit();
- }
-
- ///
- /// Builds and fills the DataGridView tables on the main form
- /// from the either the most recent date or the date specified in the parameter.
- ///
- /// The date of records to display to the user, if no date is specified then the most recent date is used.
- private void BuildAndFillDataGridTables(string dateString = "")
- {
- //
- var databaseTracker = new DatabaseTracker();
- var dataBaseReader = new DatabaseReader();
- //
- var dateId = "";
-
- //Check to see if a parameter has been passed.
- if (dateString == "")
- {
- //IF non were, then grab the most recent date ID from the database and use that.
- dateId = dataBaseReader.RetrieveMostRecentDateId(databaseTracker.DatabaseConnectionString);
- _console.WriteToLog(FrmLogConsole.Level.Info, dateId != "0" ? "Most recent date ID is " + dateId : "Most recent date ID is unavailable.");
- }
- else
- {
- //ELSE IF one was passed, then use it's ID to build the tables.
- dateId = dataBaseReader.RetrieveDateIdByDateString(dateString, databaseTracker.DatabaseConnectionString).ToString();
- _console.WriteToLog(FrmLogConsole.Level.Info, dateId != "0" ? "Date ID for " + dateString + " is resolved to have the ID of " + dateId + "." : "The date " + dateString + " could not be found in the database.");
- if (dateId == "0")
- {
- _gDateStringCollection.Remove(dateString);
- }
- }
- //Now check to make sure there were no errors grabbing the ID, IF there were return.
- if (dateId == "0") return;
- //Clear the class global variables to prevents calculation mishaps.
- _SalesProducedByAdItems = 0;
- _TotalProfitReturnFromAdItems = 0;
- _gCostOfSalesCalculatedTotal = 0;
- //Clear all DataGridViews since the date supplied is valid and in the database.
- projectedSalesMainDataGrid.DataSource = null;
- projectedSalesMainDataGrid.Columns.Clear();
- inventoryDataGridView.DataSource = null;
- inventoryDataGridView.Columns.Clear();
- actualSalesMainDataGidView.DataSource = null;
- actualSalesMainDataGidView.Columns.Clear();
- suppliersDataGridView.DataSource = null;
- weeklySalesDataGridView.DataSource = null;
- //Begin by grabbing the Projections table
- var tempTable = dataBaseReader.ReturnProjectionsTable(dateId, databaseTracker.DatabaseConnectionString);
- if (tempTable.Rows.Count > 0)
- {
- BuildSalesDataGridViews(projectedSalesMainDataGrid, tempTable);
- }
-
- //Grabbing the Inventory table
- tempTable = dataBaseReader.ReturnInventoryTable(dateId, databaseTracker.DatabaseConnectionString);
- if (tempTable.Rows.Count > 0)
- {
- BuildInventoryDataGridView(inventoryDataGridView, tempTable);
- }
-
- //And the Actual Sales table
- tempTable = dataBaseReader.ReturnActualSales(dateId, databaseTracker.DatabaseConnectionString);
- if (tempTable.Rows.Count > 0)
- {
- BuildSalesDataGridViews(actualSalesMainDataGidView, tempTable);
- }
-
- //Next the Invoices table
- tempTable = dataBaseReader.ReturnInvoiceTable(dateId, databaseTracker.DatabaseConnectionString);
- if (tempTable.Rows.Count > 0)
- {
- suppliersDataGridView.DataSource = SumCostOfSales(tempTable);
- }
-
- //And finally the weekly sales
- tempTable = dataBaseReader.ReturnWeeklySalesFromDateId(dateId, databaseTracker.DatabaseConnectionString);
- if (tempTable.Rows.Count > 0)
- {
- weeklySalesDataGridView.DataSource = tempTable;
- }
-
- commentsTextBox.Text = dataBaseReader.RetrieveComments(dateId, databaseTracker.DatabaseConnectionString);
- }
-
private void CalculateProfitAnalysis(double shrink = 0.30)
{
- if (Math.Abs(_SalesProducedByAdItems) < 1 || Math.Abs(_TotalProfitReturnFromAdItems) < 1)
+ var incompleteData = false;
+ //First grab the total sales and the total profit return generated by the actual sales of product.
+ if (
+ double.TryParse(
+ actualSalesDataGridView.Rows[actualSalesDataGridView.Rows.Count - 1].Cells[3].EditedFormattedValue
+ .ToString(), out _salesProducedByAdItems))
{
- //Clear the labels...
- if (weeklySalesDataGridView.Rows.Count == 0 || weeklySalesDataGridView.Rows[0].Cells[7].EditedFormattedValue.ToString() == "0.0000")
+ //The sales parsed properly so there is data in the cell. Next try to grab the total profit return.
+ if (double.TryParse(
+ actualSalesDataGridView.Rows[actualSalesDataGridView.Rows.Count - 1].Cells[6].EditedFormattedValue
+ .ToString(), out _totalProfitReturnFromAdItems))
{
- departmentSalesLabel.Text = "Department Sales: No Weekly Sales Found.";
- departmentSalesLabel.ForeColor = Color.Red;
+
}
-
- if (_SalesProducedByAdItems == 0)
- {
- salesProducedLabel.Text = "Sales Produced By Ad Items (A): No Values to Total.";
- salesProducedLabel.ForeColor = Color.Red;
- }
-
- remainingSalesLabel.Text = "Remaining Sales: ";
- if (_TotalProfitReturnFromAdItems == 0)
- {
- totalProfitFromAdItemsLabel.Text = "Total Profit Return From Ad Items (B): No Values to Total.";
- totalProfitFromAdItemsLabel.ForeColor = Color.Red;
- }
-
- totalProfitReturnFromRemaingLabel.Text = "Total Profit Return From Remaining Sales: ";
- totalProfitReturnLabel.Text = "Total Profit Return: ";
+ }
+ if (Math.Abs(_salesProducedByAdItems) < 1)
+ {
+ salesProducedLabel.Text = @"Sales Produced By Ad Items (A): No Data";
+ incompleteData = true;
+ }
+ if (Math.Abs(_totalProfitReturnFromAdItems) < 1)
+ {
+ totalProfitFromAdItemsLabel.Text = @"Total Profit Return From Ad Items (B): No Data";
+ incompleteData = true;
+ }
+ if (Math.Abs(_departmentSales) < 1)
+ {
+ departmentSalesLabel.Text = @"Department Sales: No Data";
+ incompleteData = true;
+ }
+ if (incompleteData)
+ {
return;
}
- double.TryParse(weeklySalesDataGridView.Rows[0].Cells[7].EditedFormattedValue.ToString(), out _departmentSales);
- //Since there are department sales, change the label's color to make sure it doesn't appear as an error.
- departmentSalesLabel.ForeColor = Color.Black;
- departmentSalesLabel.Text = "Department Sales: " + _departmentSales.ToString("C");
- //Assume that the sales produced is larger then zero (0).
- salesProducedLabel.ForeColor = Color.Black;
- salesProducedLabel.Text = "Sales Produced By Ad Items (A): " + _SalesProducedByAdItems.ToString("C");
-
- double remainingSales = _departmentSales - _SalesProducedByAdItems;
- remainingSalesLabel.Text = "Remaining Sales: " + remainingSales.ToString("C");
+ departmentSalesLabel.Text = @"Department Sales: " + _departmentSales.ToString("C");
+ salesProducedLabel.Text = @"Sales Produced By Ad Items (A): " + _salesProducedByAdItems.ToString("C");
+ //Calculate the remaining sales.
+ var remainingSales = _departmentSales - _salesProducedByAdItems;
+ remainingSalesLabel.Text = @"Remaining Sales: " + remainingSales.ToString("C");
//Again assume the total profit return is larger then zero (0).
- totalProfitFromAdItemsLabel.ForeColor = Color.Black;
- totalProfitFromAdItemsLabel.Text = "Total Profit Return From Ad Items (B): " + _TotalProfitReturnFromAdItems.ToString("C");
- //Shrink is being used as a place holder for Cross Profit % which is obtained by dividing gActualTotalProfitReturnCalculatedTotal by the department weekly retail sales.
- double totalProfitReturnFromRemainingSales = shrink * remainingSales;
+ totalProfitFromAdItemsLabel.Text = @"Total Profit Return From Ad Items (B): " + _totalProfitReturnFromAdItems.ToString("C");
+ //Shrink is being used as a place holder for Cross Profit % which is obtained by dividing the total profit return from the department weekly retail sales.
+ var totalProfitReturnFromRemainingSales = shrink*remainingSales;
//
- totalProfitReturnFromRemaingLabel.Text = "Total Profit Return From Remaining Sales: " + totalProfitReturnFromRemainingSales.ToString("C");
- double totalProfitReturn = _TotalProfitReturnFromAdItems + totalProfitReturnFromRemainingSales;
- totalProfitReturnLabel.Text = "Total Profit Return: " + totalProfitReturn.ToString("C");
- }
-
- private void BuildSalesDataGridViews(DataGridView dataGridView, DataTable table)
- {
- var adSpecialIndex = -1;
- double totalSales = 0;
- double totalProfitReturn = 0;
-
- foreach (DataColumn column in table.Columns)
- {
- var dataGridViewColumn = new DataGridViewColumn()
- {
- HeaderText = column.ColumnName,
- CellTemplate = new DataGridViewTextBoxCell()
- };
- if (dataGridViewColumn.HeaderText.Contains("Projection"))
- {
- dataGridViewColumn.HeaderText = dataGridViewColumn.HeaderText.Replace("Projection", "");
- }
- else if (dataGridViewColumn.HeaderText.Contains("Actual"))
- {
- dataGridViewColumn.HeaderText = dataGridViewColumn.HeaderText.Replace("Actual", "");
- }
- if (dataGridViewColumn.HeaderText == "FK_GroupID" || dataGridViewColumn.HeaderText == "RowAttribute")
- {
- dataGridViewColumn.Visible = false;
- }
- dataGridViewColumn.HeaderText = TextFormat.AddSpacesToSentence(dataGridViewColumn.HeaderText, false);
- dataGridView.Columns.Add(dataGridViewColumn);
- }
-
- for (var i = 0; i < table.Rows.Count; i++)
- {
- var row = new DataGridViewRow();
- //Checks for the group, if any, the row or rows is/are part of.
- if (table.Rows[i][8].ToString() != "" &&
- int.Parse(table.Rows[i][8].ToString()) != 0 && adSpecialIndex == -1)
- {
- adSpecialIndex = i;
- var adSpecialRow = new DataGridViewRow();
- var databaseTracker = new DatabaseTracker();
- var databaseReader = new DatabaseReader();
- var groupName = databaseReader.ReturnGroupNameFromGroupId(table.Rows[i][8].ToString(), databaseTracker.DatabaseConnectionString);
-
- adSpecialRow.DefaultCellStyle.BackColor = Color.DarkGray;
-
- dataGridView.Rows.Add(adSpecialRow);
- dataGridView.Rows[i].Cells[0].Value = groupName;
- }
- //Checks for row attribute
- if (table.Rows[i][7].ToString() != "")
- {
- //The seventh column contains the row's attribute if any.
- var rowAttribute = int.Parse(table.Rows[i][7].ToString());
- if (rowAttribute == 1)
- {
- row.DefaultCellStyle.BackColor = Color.LightGray;
- }
- else if (rowAttribute == 2)
- {
- row.DefaultCellStyle.BackColor = Color.LightBlue;
- }
-
- foreach (var dataCell in table.Rows[i].ItemArray.Select(cell => new DataGridViewTextBoxCell { Value = cell }))
- {
- row.Cells.Add(dataCell);
- }
- dataGridView.Rows.Add(row);
- }
- else
- {
- dataGridView.Rows.Add(table.Rows[i].ItemArray);
- }
- //Check for values in the Total Sales and Total Profit Return columns
- double tempOut = 0;
- if (double.TryParse(table.Rows[i][3].ToString(), out tempOut))
- {
- if (tempOut >= 0)
- {
- totalSales += tempOut;
- }
- }
- if (double.TryParse(table.Rows[i][6].ToString(), out tempOut))
- {
- if (tempOut >= 0)
- {
- totalProfitReturn += tempOut;
- }
- }
- }
- var totalsRow = new object[9];
- totalsRow[0] = "Totals";
- totalsRow[3] = totalSales;
- totalsRow[6] = totalProfitReturn;
- dataGridView.Rows.Add(totalsRow);
-
- if (dataGridView.Name == "actualSalesMainDataGidView")
- {
- _SalesProducedByAdItems = totalSales;
- _TotalProfitReturnFromAdItems = totalProfitReturn;
- }
- }
-
- private void BuildInventoryDataGridView(DataGridView dataGridView, DataTable table)
- {
- var lastAdSpecialIndex = -1;
- for (var columnIndex = 0; columnIndex < table.Columns.Count; columnIndex++)
- {
- var dataGridViewColumn = new DataGridViewColumn
- {
- Name = table.Columns[columnIndex].ColumnName,
- CellTemplate = new DataGridViewTextBoxCell()
- };
- var columnHeaderText = table.Columns[columnIndex].ColumnName;
- columnHeaderText = TextFormat.AddSpacesToSentence(columnHeaderText, false);
- //Make the row attribute column invisible.
- if (table.Columns[columnIndex].ColumnName == "RowAttribute")
- {
- dataGridViewColumn.Visible = false;
- }
- //Make any columns with a foreign key invisible.
- if (table.Columns[columnIndex].ColumnName.Contains("FK"))
- {
- dataGridViewColumn.Visible = false;
- }
- dataGridViewColumn.HeaderText = columnHeaderText;
- dataGridView.Columns.Add(dataGridViewColumn);
- }
-
- for (var rowIndex = 0; rowIndex < table.Rows.Count; rowIndex++)
- {
- var row = new DataGridViewRow();
-
- if (table.Rows[rowIndex][6].ToString() != "" && int.Parse(table.Rows[rowIndex][6].ToString()) != 0 && lastAdSpecialIndex == -1)
- {
- lastAdSpecialIndex = rowIndex;
- var adSpecialRow = new DataGridViewRow();
- var databaseTracker = new DatabaseTracker();
- var databaseReader = new DatabaseReader();
- var groupName = databaseReader.ReturnGroupNameFromGroupId(table.Rows[rowIndex][6].ToString(), databaseTracker.DatabaseConnectionString);
-
- adSpecialRow.DefaultCellStyle.BackColor = Color.DarkGray;
-
- dataGridView.Rows.Add(adSpecialRow);
- dataGridView.Rows[rowIndex].Cells[0].Value = groupName;
- }
-
- if (table.Rows[rowIndex][5].ToString() != "")
- {
- //The fifth column contains the row's attribute if any.
- var rowAttribute = int.Parse(table.Rows[rowIndex][5].ToString());
- if (rowAttribute == 1)
- {
- row.DefaultCellStyle.BackColor = Color.LightGray;
- }
- else if (rowAttribute == 2)
- {
- row.DefaultCellStyle.BackColor = Color.LightBlue;
- }
-
- foreach (var dataCell in table.Rows[rowIndex].ItemArray.Select(cell => new DataGridViewTextBoxCell { Value = cell }))
- {
- row.Cells.Add(dataCell);
- }
- dataGridView.Rows.Add(row);
- }
- else
- {
- dataGridView.Rows.Add(table.Rows[rowIndex].ItemArray);
- }
- }
+ totalProfitReturnFromRemaingLabel.Text = @"Total Profit Return From Remaining Sales: " + totalProfitReturnFromRemainingSales.ToString("C");
+ var totalProfitReturn = _totalProfitReturnFromAdItems + totalProfitReturnFromRemainingSales;
+ totalProfitReturnLabel.Text = @"Total Profit Return: " + totalProfitReturn.ToString("C");
}
private void CalculateGrossProfit()
{
- if (Math.Abs(_gCostOfSalesCalculatedTotal) < 1)
+ if (Math.Abs(_totalInvoicePurchases) < 1)
{
//IF Cost of Sales hasn't been calculated, then clear labels and return.
- if (weeklySalesDataGridView.Rows.Count == 0 || weeklySalesDataGridView.Rows[0].Cells[7].EditedFormattedValue.ToString() == "0.0000")
+ if (Math.Abs(_departmentSales) < 1)
{
- grossProfitTotalSales.Text = "Total Sales: No Weekly Sales Found.";
- grossProfitTotalSales.ForeColor = Color.Red;
+ grossProfitTotalSales.Text = @"Total Sales: No Data";
}
- grossProfitLessCostOfSales.Text = "Less Cost of Sales: ";
- grossProfitDollarGrossProfitLabel.Text = "Dollar Gross Profit: ";
- perfectGrossProfitLabel.Text = "Percent Gross Profit: ";
+ grossProfitLessCostOfSales.Text = @"Less Cost of Sales: No Data";
return;
}
- if (weeklySalesDataGridView.RowCount == 0) return;
- double totalSales = Convert.ToDouble(weeklySalesDataGridView.Rows[0].Cells[7].EditedFormattedValue.ToString());
- grossProfitTotalSales.ForeColor = Color.Black;
- grossProfitTotalSales.Text = "Total Sales: " + totalSales.ToString("C");
- grossProfitLessCostOfSales.Text = "Less Cost of Sales: " + _gCostOfSalesCalculatedTotal.ToString("C");
- double dollarGrossProfit = totalSales - _gCostOfSalesCalculatedTotal;
- grossProfitDollarGrossProfitLabel.Text = "Dollar Gross Profit: " + dollarGrossProfit.ToString("C");
- double grossProfitPercent = dollarGrossProfit / totalSales;
- perfectGrossProfitLabel.Text = "Percent Gross Profit: " + grossProfitPercent.ToString("P");
+ grossProfitTotalSales.Text = @"Total Sales: " + _departmentSales.ToString("C");
+ grossProfitLessCostOfSales.Text = @"Less Cost of Sales: " + _totalInvoicePurchases.ToString("C");
+ var dollarGrossProfit = _departmentSales - _totalInvoicePurchases;
+ grossProfitDollarGrossProfitLabel.Text = @"Dollar Gross Profit: " + dollarGrossProfit.ToString("C");
+ var grossProfitPercent = dollarGrossProfit/_departmentSales;
+ perfectGrossProfitLabel.Text = @"Percent Gross Profit: " + grossProfitPercent.ToString("P");
}
private void addRecordToolStripMenuItem_Click(object sender, EventArgs e)
{
- var recordForm = new FrmAddRecord();
- recordForm.ShowDialog();
- FillDateSuggestionComboBoxes();
- BuildAndFillDataGridTables();
- CalculateProfitAnalysis();
- CalculateGrossProfit();
- }
-
- ///
- /// Appends a new "Totals" row to the end of the Invoice table that is passed in
- /// and sums up the Net Cost of Invoices column as well as storing the total Costs of Sales
- /// into the class wide variable for use with other functions.
- ///
- /// The Invoice table to summed.
- ///
- private DataTable SumCostOfSales(DataTable invoiceTable)
- {
- //Check for a null parameter OR if the column count is less then six (6) as any less means the database isn't returning correctly.
- if(invoiceTable == null || invoiceTable.Columns.Count < 6) return invoiceTable;
- double costOfSalesSum = 0;
-
- for (var i = 0; i < invoiceTable.Rows.Count; i++)
- {
- costOfSalesSum += Convert.ToDouble(invoiceTable.Rows[i][4]);
- }
-
- _gCostOfSalesCalculatedTotal = costOfSalesSum;
-
- object[] invoiceTotalRow = new object[invoiceTable.Columns.Count];
- invoiceTotalRow[2] = "Total Purchases";
- invoiceTotalRow[5] = costOfSalesSum;
- invoiceTable.Rows.Add(invoiceTotalRow);
-
- return invoiceTable;
+ var form = new NewAddRecord();
+ form.ShowDialog();
}
private void showHideConsoleHelpMainMenu_Click(object sender, EventArgs e)
@@ -433,225 +129,20 @@ namespace AdvertsingProfitControl
{
_console.Show();
}
-
- }
-
- ///
- /// Grabs all dates from the database and splits the returned strings
- /// into months, days, and years and stores them in their respective
- /// combo boxes to display to the user. Also stores the list of dates
- /// inside a class wide variable.
- ///
- private void FillDateSuggestionComboBoxes()
- {
- //Create a connection to the database retrieval class.
- var databaseTracker = new DatabaseTracker();
- var databaseReader = new DatabaseReader();
- //Grab the most recent date in the database.
- var mostRecentDateTime = databaseReader.RetrieveMostRecentDateString(databaseTracker.DatabaseConnectionString);
- var mostRecentDateString = mostRecentDateTime.ToString("MM/dd/yyyy");
- //Check to see if the return value is null and IF so log the error and return.
- if(mostRecentDateString == ""){ _console.WriteToLog(FrmLogConsole.Level.Error, "No dates could be found in the database."); return;}
- //Otherwise, if there was a return date, split it into a array.
- var mostRecentDateParts = mostRecentDateString.Split('/');
- //Grab only the most recent years in the database (only say 2015) and fill a table with the dates. Indexes are as follows: [0] is Month, [1] is Day and [2] is Year.
- var datesList = databaseReader.RetrieveDateListByYear(mostRecentDateParts[2], databaseTracker.DatabaseConnectionString);
- //Suspend the control's drawing so the user doesn't see any ugly enumeration and index changing.
- DrawingControl.SuspendDrawing(dateSelectorPanel);
- //Considering there was a return value for the most recent date, its safe to assume there is at least one date in the database, so clear the class's date collection.
- _gDateStringCollection.Clear();
- monthComboBox.Items.Clear();
- dayComboBox.Items.Clear();
- yearComboBox.Items.Clear();
- monthComboBox.SelectedIndexChanged -= UpdateDaysOfMonth;
- dayComboBox.SelectedIndexChanged -= UpdateDataGridViewInformation;
- yearComboBox.SelectedIndexChanged -= UpdateDaysOfMonthByYear;
- //Now spin through the oneYearDatesTable and fill the class wide object with all the dates for the most recent year.
- for (var i = 0; i < datesList.Count; i ++)
- {
- var fullDateString = datesList[i].ToString("MM/dd/yyyy");
- //Check for nulls just to be paranoid.
- if (fullDateString == "")
- {
- return;
- }
- //IF the date string collection already contains the date, then continue to the next iteration.
- if (_gDateStringCollection.Contains(fullDateString))
- {
- continue;
- }
- _gDateStringCollection.Add(fullDateString);
- }
-
- var dayBasedOnMonthAndYeaRegex = new Regex("^0?" + mostRecentDateParts[0] + @"/\d{2}/" + mostRecentDateParts[2]);
- var monthBasedOnYearRegex = new Regex(@"^\d{2}/\d{2}/" + mostRecentDateParts[2]);
- for (var i = 0; i < _gDateStringCollection.Count; i++)
- {
- string[] dateArray = _gDateStringCollection[i].Split('/');
- var month = dateArray[0];
- var day =dateArray[1];
-
- if (dayBasedOnMonthAndYeaRegex.IsMatch(_gDateStringCollection[i]))
- {
- dayComboBox.Items.Add(day);
- }
- if (monthBasedOnYearRegex.IsMatch(_gDateStringCollection[i]))
- {
- if (!monthComboBox.Items.Contains(month))
- {
- monthComboBox.Items.Add(month);
- }
- }
- }
-
- var yearsInDatabase = databaseReader.RetrieveUniqueYearsList(databaseTracker.DatabaseConnectionString);
-
- foreach (var year in yearsInDatabase)
- {
- yearComboBox.Items.Add(year);
- }
-
- if (dayComboBox.Items.Count >= 1 && yearComboBox.Items.Count >= 1 && monthComboBox.Items.Count >= 1)
- {
- monthComboBox.SelectedIndex = monthComboBox.Items.Count - 1;
- dayComboBox.SelectedIndex = dayComboBox.Items.Count - 1;
- yearComboBox.SelectedIndex = yearComboBox.Items.Count - 1;
- monthComboBox.Enabled = true;
- dayComboBox.Enabled = true;
- yearComboBox.Enabled = true;
- }
- else
- {
- monthComboBox.Enabled = false;
- dayComboBox.Enabled = false;
- yearComboBox.Enabled = false;
- }
- monthComboBox.SelectedIndexChanged += UpdateDaysOfMonth;
- dayComboBox.SelectedIndexChanged += UpdateDataGridViewInformation;
- yearComboBox.SelectedIndexChanged += UpdateDaysOfMonthByYear;
- DrawingControl.ResumeDrawing(dateSelectorPanel);
- }
-
- private void UpdateDaysOfMonth(object sender, EventArgs e)
- {
- if (yearComboBox.SelectedIndex == -1) return;
- var year = yearComboBox.SelectedItem.ToString();
- var month = monthComboBox.SelectedItem.ToString();
- var dateParserPattern = new Regex("^" + month + @"\/\d{2}\/" + year);
-
- dayComboBox.Items.Clear();
-
- for (var i = 0; i < _gDateStringCollection.Count; i++)
- {
- if (dateParserPattern.IsMatch(_gDateStringCollection[i]))
- {
- var dateArray = _gDateStringCollection[i].Split('/');
- var day = dateArray[1];
- dayComboBox.Items.Add(day);
- }
- }
-
- if (dayComboBox.Items.Count > 0)
- {
- dayComboBox.SelectedIndex = dayComboBox.Items.Count - 1;
- }
-
- CalculateProfitAnalysis();
- CalculateGrossProfit();
- }
- ///
- /// Fires when the Year combo box's index changes.
- ///
- ///
- ///
- private void UpdateDaysOfMonthByYear(object sender, EventArgs e)
- {
- //Obligatory database retrieval call...
- var databaseTracker = new DatabaseTracker();
- var databaseReader = new DatabaseReader();
- //First, grab the year and the month from their respective combo boxes.
- var year = yearComboBox.SelectedItem.ToString();
- var month = monthComboBox.SelectedItem.ToString();
- //Since we can more or less be certain that nothing is null, clear the current date collection.
- _gDateStringCollection.Clear();
- var months = databaseReader.RetrieveUniqueMonthsList(year, databaseTracker.DatabaseConnectionString);
- var mostRecentMonth = months.Max();
- if (mostRecentMonth.Length == 1)
- {
- mostRecentMonth = "0" + mostRecentMonth;
- }
- var datesList = databaseReader.RetrieveDateListByYear(year, databaseTracker.DatabaseConnectionString);
-
- for (var i = 0; i < datesList.Count; i++)
- {
- _gDateStringCollection.Add(datesList[i].ToString("MM/dd/yyyy"));
- }
-
- //Clear the month and day combo boxes and unregister their event handlers.
- dayComboBox.Items.Clear();
- monthComboBox.Items.Clear();
- monthComboBox.SelectedIndexChanged -= UpdateDaysOfMonth;
- dayComboBox.SelectedIndexChanged -= UpdateDataGridViewInformation;
- for (var i = 0; i < _gDateStringCollection.Count; i ++)
- {
- var dateArray = _gDateStringCollection[i].Split('/');
- month = dateArray[0];
- //Declare the patterns to look for when enumerating the combo boxes.
- var dayBasedOnMonthAndYeaRegex = new Regex(@"^(" + mostRecentMonth + @"\/\d{2}\/" + year + ")"); //Only allows days that are actually part of the month and year.
- var day = dateArray[1];
-
- if (dayBasedOnMonthAndYeaRegex.IsMatch(_gDateStringCollection[i]))
- {
- dayComboBox.Items.Add(day);
- }
-
- if (!monthComboBox.Items.Contains(month))
- {
- monthComboBox.Items.Add(month);
- }
- }
-
- if (dayComboBox.Items.Count > 0)
- {
- dayComboBox.SelectedIndex = dayComboBox.Items.Count - 1;
- }
- if (monthComboBox.Items.Count > 0)
- {
- monthComboBox.SelectedIndex = monthComboBox.Items.Count - 1;
- }
-
- //Now re-register the event handlers
- monthComboBox.SelectedIndexChanged += UpdateDaysOfMonth;
- dayComboBox.SelectedIndexChanged += UpdateDataGridViewInformation;
-
- BuildAndFillDataGridTables(monthComboBox.SelectedItem + "/" + dayComboBox.SelectedItem + "/" + year);
- CalculateProfitAnalysis();
- CalculateGrossProfit();
- }
-
- private void adSpecialKeyWordsToolsMainMenu_Click(object sender, EventArgs e)
- {
- var keyWordRegister = new FrmAdSpecialRegister();
- keyWordRegister.ShowDialog();
}
private void deleteRecordsMainMenu_Click(object sender, EventArgs e)
{
var frmDeleteRecord = new FrmDeleteRecord();
frmDeleteRecord.ShowDialog();
- FillDateSuggestionComboBoxes();
- BuildAndFillDataGridTables();
CalculateProfitAnalysis();
CalculateGrossProfit();
}
private void modifyRecordMainMenu_Click(object sender, EventArgs e)
{
- var modifyForm = new FrmModifyRecord();
- modifyForm.ShowDialog();
- //BuildAndFillDataGridTables();
- //CalculateProfitAnalysis();
- //CalculateGrossProfit();
+ var form = new NewModifyRecord(monthCalendar.SelectionStart);
+ form.ShowDialog();
}
private void manageItemsToolsMainMenu_Click(object sender, EventArgs e)
@@ -686,13 +177,14 @@ namespace AdvertsingProfitControl
var rect = e.MarginBounds;
- if ((double)bitMap.Width / (double)bitMap.Height > (double)rect.Width / (double)rect.Height) // image is wider
+ if ((double) bitMap.Width/(double) bitMap.Height > (double) rect.Width/(double) rect.Height)
+ // image is wider
{
- rect.Height = (int)((double)bitMap.Height / (double)bitMap.Width * (double)rect.Width);
+ rect.Height = (int) ((double) bitMap.Height/(double) bitMap.Width*(double) rect.Width);
}
else
{
- rect.Width = (int)((double)bitMap.Width / (double)bitMap.Height * (double)rect.Height);
+ rect.Width = (int) ((double) bitMap.Width/(double) bitMap.Height*(double) rect.Height);
}
if (_LazyPageCounter == 0)
@@ -721,17 +213,16 @@ namespace AdvertsingProfitControl
var databaseTracker = new DatabaseTracker();
var databaseReader = new DatabaseReader();
var dateId =
- databaseReader.RetrieveDateIdByDateString(
- monthComboBox.SelectedItem + "/" + dayComboBox.SelectedItem + "/" + yearComboBox.SelectedItem,
+ databaseReader.RetrieveDateIdByDateString(monthCalendar.SelectionStart.ToShortDateString(),
databaseTracker.DatabaseConnectionString);
- double remaingingSales = _departmentSales - _SalesProducedByAdItems;
+ double remaingingSales = _departmentSales - _salesProducedByAdItems;
double totalProfitReturnFromReminaingSales = remaingingSales*.3;
- double totalProfitReturn = _TotalProfitReturnFromAdItems + totalProfitReturnFromReminaingSales;
- test.BuildFormFrontCompressedLayout(dateId.ToString(), _departmentSales, _SalesProducedByAdItems, remaingingSales,
- _TotalProfitReturnFromAdItems, totalProfitReturnFromReminaingSales, totalProfitReturn,
+ double totalProfitReturn = _totalProfitReturnFromAdItems + totalProfitReturnFromReminaingSales;
+ test.BuildFormFrontCompressedLayout(dateId, _departmentSales, _salesProducedByAdItems, remaingingSales,
+ _totalProfitReturnFromAdItems, totalProfitReturnFromReminaingSales, totalProfitReturn,
commentsTextBox.Text);
test.RenderHtmlToImage();
- backPageTest.GenerateWeeklyInventoryControlPage(dateId.ToString());
+ backPageTest.GenerateWeeklyInventoryControlPage(dateId);
backPageTest.RenderHtmlToImage();
}
else
@@ -761,7 +252,7 @@ namespace AdvertsingProfitControl
private void newModifyRecordToolStripMenuItem_Click(object sender, EventArgs e)
{
- var date = DateTime.Parse(monthComboBox.SelectedItem + @"/" + dayComboBox.SelectedItem + @"/" + yearComboBox.SelectedItem);
+ var date = monthCalendar.SelectionStart;
var form = new NewModifyRecord(date);
form.ShowDialog();
}
@@ -772,8 +263,893 @@ namespace AdvertsingProfitControl
ModifyRecords = 1,
DeleteRecords = 2
}
- }
+ ///
+ /// Fills the APC DataGridViews with the appropriate columns and starting row for the user to start
+ /// entering data.
+ ///
+ private void ConstructApcDataGridViews()
+ {
+ //Construct a list of column names for the inventory/actual sales DataGridViews and the inventory DataGirdView.
+ string[] saleColumnNames =
+ {
+ "AdItem", "Sold", "SalePrice", "TotalSales", "Cost", "ProfitReturn",
+ "TotalProfitReturn"
+ };
+ string[] inventoryColumnNames =
+ {
+ "AdItem", "BeginningInventory", "Received", "Total", "EndingInventory"
+ };
+
+ foreach (var name in saleColumnNames)
+ {
+ var column = new DataGridViewTextBoxColumn
+ {
+ Name = name,
+ HeaderText = TextFormat.AddSpacesToSentence(name, false),
+ ValueType = typeof(string),
+ SortMode = DataGridViewColumnSortMode.NotSortable,
+ MaxInputLength = 20
+ };
+ projectionsDataGridView.Columns.Add(column);
+ }
+ //Add the columns into the inventory DataGridView after setting their types.
+ foreach (var name in inventoryColumnNames)
+ {
+ var column = new DataGridViewTextBoxColumn
+ {
+ Name = name,
+ HeaderText = TextFormat.AddSpacesToSentence(name, false),
+ ValueType = typeof(string),
+ SortMode = DataGridViewColumnSortMode.NotSortable,
+ MaxInputLength = 20
+ };
+ inventoryDataGridView.Columns.Add(column);
+ }
+ //
+ foreach (var name in saleColumnNames)
+ {
+ var column = new DataGridViewTextBoxColumn
+ {
+ Name = name,
+ HeaderText = TextFormat.AddSpacesToSentence(name, false),
+ ValueType = typeof(string),
+ SortMode = DataGridViewColumnSortMode.NotSortable,
+ MaxInputLength = 20
+ };
+ actualSalesDataGridView.Columns.Add(column);
+ }
+ }
+
+ ///
+ /// Constructs the invoices DataGridView.
+ ///
+ private void ConstructInvoicesDataGridView()
+ {
+ string[] invoicesColumnNames =
+ {
+ "InvoiceDate", "Supplier", "InvoiceNumber", "InvoiceNetAmountAtCost",
+ "InvoiceNetAmount", "InvoiceNote"
+ };
+
+ foreach (var name in invoicesColumnNames)
+ {
+ var column = new DataGridViewTextBoxColumn
+ {
+ Name = name,
+ HeaderText = TextFormat.AddSpacesToSentence(name, false),
+ ValueType = typeof(string),
+ SortMode = DataGridViewColumnSortMode.NotSortable,
+ MaxInputLength = 20
+ };
+ invoicesDataGridView.Columns.Add(column);
+ }
+ }
+
+ private void LoadDate(DateTime date)
+ {
+ var databaseTracker = new DatabaseTracker();
+ var databaseReader = new DatabaseReader();
+ var dateId = databaseReader.RetrieveDateIdByDateString(date.ToString("d"),
+ databaseTracker.DatabaseConnectionString);
+ if (dateId == 0)
+ {
+ errorLabel.Text = @"Failed to get the date ID number, aborting load operation." + Environment.NewLine;
+ return;
+ }
+ informationLabel.Text = @"Loading data for " + date.ToString("d") + "." + Environment.NewLine;
+ var projections = databaseReader.ReturnProjectionsTable(dateId, databaseTracker.DatabaseConnectionString);
+ var inventory = databaseReader.ReturnInventoryTable(dateId, databaseTracker.DatabaseConnectionString);
+ var actualSales = databaseReader.ReturnActualSales(dateId, databaseTracker.DatabaseConnectionString);
+ LoadProjectionsTable(projections);
+ LoadInventoryTable(inventory);
+ LoadActualSalesTable(actualSales);
+ var invoices = databaseReader.ReturnInvoiceTable(dateId, databaseTracker.DatabaseConnectionString);
+ LoadInvoices(invoices);
+ var comments = databaseReader.RetrieveComments(int.Parse(dateId.ToString()),
+ databaseTracker.DatabaseConnectionString);
+ if (comments.Count == 2)
+ {
+ commentsTextBox.Text = comments[1];
+ }
+ else
+ {
+ informationLabel.Text += @"No comments to display." + Environment.NewLine;
+ }
+ var weeklySales = databaseReader.ReturnWeeklySalesFromDateId(dateId,
+ databaseTracker.DatabaseConnectionString);
+ if (weeklySales.Rows.Count == 1)
+ {
+ LoadWeeklySales(weeklySales);
+ }
+ else
+ {
+ informationLabel.Text += @"No sales to display." + Environment.NewLine;
+ }
+
+ var taxable = databaseReader.ReturnTaxableFromDateId(dateId, databaseTracker.DatabaseConnectionString);
+ if (taxable.Rows.Count == 1)
+ {
+ LoadTaxable(taxable);
+ }
+ else
+ {
+ informationLabel.Text += @"No taxable data to display." + Environment.NewLine;
+ }
+ var costAnalysis = databaseReader.ReturnCostAnalysis(dateId,
+ databaseTracker.DatabaseConnectionString);
+ if (costAnalysis.Rows.Count == 1)
+ {
+ LoadCostAnalysis(costAnalysis);
+ }
+ else
+ {
+ informationLabel.Text += @"No cost analysis data to display." + Environment.NewLine;
+ }
+ }
+
+ private void LoadProjectionsTable(DataTable projections)
+ {
+ if (projections.Rows.Count == 0) return;
+ var adSpecialIndex = -1;
+ double totalSales = 0;
+ double totalProfitReturn = 0;
+ for (var rowIndex = 0; rowIndex < projections.Rows.Count; rowIndex++)
+ {
+ var newRow = new DataGridViewRow();
+ for (var cellIndex = 0; cellIndex < projections.Rows[rowIndex].ItemArray.Length; cellIndex++)
+ {
+ //ID and Ad Item.
+ if (cellIndex == 1)
+ {
+ var cell = new DataGridViewTextBoxCell
+ {
+ Value = projections.Rows[rowIndex].ItemArray[cellIndex].ToString()
+ };
+ newRow.Cells.Add(cell);
+ continue;
+ }
+ //String allowed columns
+ if (cellIndex > 1 && cellIndex <= 3)
+ {
+ if (projections.Rows[rowIndex].ItemArray[cellIndex].ToString() != string.Empty)
+ {
+ var cell = new DataGridViewTextBoxCell
+ {
+ Value = projections.Rows[rowIndex].ItemArray[cellIndex].ToString()
+ };
+ newRow.Cells.Add(cell);
+ }
+ else
+ {
+ var cell = new DataGridViewTextBoxCell {Value = string.Empty};
+ newRow.Cells.Add(cell);
+ }
+ continue;
+ }
+ //If the cell is meant to be summed into a totals roll add its contents to the total.
+ //If the cell is the total sales cell..
+ if (cellIndex == 4)
+ {
+ if (projections.Rows[rowIndex].ItemArray[cellIndex].ToString() != string.Empty &&
+ Math.Abs(double.Parse(projections.Rows[rowIndex].ItemArray[cellIndex].ToString())) > 0)
+ {
+ totalSales += double.Parse(projections.Rows[rowIndex].ItemArray[cellIndex].ToString());
+ var cell = new DataGridViewTextBoxCell
+ {
+ Value =
+ double.Parse(projections.Rows[rowIndex].ItemArray[cellIndex].ToString())
+ .ToString("N2")
+ };
+ newRow.Cells.Add(cell);
+ }
+ else
+ {
+ var cell = new DataGridViewTextBoxCell {Value = string.Empty};
+ newRow.Cells.Add(cell);
+ }
+ continue;
+ }
+ //or the total profit return cell.
+ if (cellIndex == 7)
+ {
+ if (projections.Rows[rowIndex].ItemArray[cellIndex].ToString() != string.Empty &&
+ Math.Abs(double.Parse(projections.Rows[rowIndex].ItemArray[cellIndex].ToString())) > 0)
+ {
+ totalProfitReturn += double.Parse(projections.Rows[rowIndex].ItemArray[cellIndex].ToString());
+ var cell = new DataGridViewTextBoxCell
+ {
+ Value =
+ double.Parse(projections.Rows[rowIndex].ItemArray[cellIndex].ToString())
+ .ToString("N2")
+ };
+ newRow.Cells.Add(cell);
+ }
+ else
+ {
+ var cell = new DataGridViewTextBoxCell {Value = string.Empty};
+ newRow.Cells.Add(cell);
+ }
+ continue;
+ }
+ //Everything in between the ad item cell and the row attribute cells.
+ if (cellIndex > 3 && cellIndex < 8)
+ {
+ if (Math.Abs(double.Parse(projections.Rows[rowIndex].ItemArray[cellIndex].ToString())) > 0)
+ {
+ var cell = new DataGridViewTextBoxCell
+ {
+ Value =
+ double.Parse(projections.Rows[rowIndex].ItemArray[cellIndex].ToString())
+ .ToString("N2")
+ };
+ newRow.Cells.Add(cell);
+ }
+ else
+ {
+ var cell = new DataGridViewTextBoxCell {Value = string.Empty};
+ newRow.Cells.Add(cell);
+ }
+ continue;
+ }
+ //Check the attribute cell.
+ if (cellIndex == 8)
+ {
+ var rowAttribute = int.Parse(projections.Rows[rowIndex].ItemArray[cellIndex].ToString());
+ switch (rowAttribute)
+ {
+ case 1:
+ //Header row
+ newRow.DefaultCellStyle.BackColor = ApplicationColors.HeaderRow;
+ break;
+ case 2:
+ //Member Row
+ newRow.DefaultCellStyle.BackColor = ApplicationColors.MemberRow;
+ break;
+ }
+ continue;
+ }
+ //Check the group it is part of if any.
+ if (cellIndex != 9) continue;
+ //Check to see if this row belongs to an ad special group.
+ if (projections.Rows[rowIndex].ItemArray[cellIndex].ToString() == "0") continue;
+ //If the ad special index is not set, then create the ad special row with the human friendly group name.
+ if (adSpecialIndex != -1) continue;
+ var databaseTracker = new DatabaseTracker();
+ var databaseReader = new DatabaseReader();
+ var groupName =
+ databaseReader.ReturnGroupNameFromGroupId(
+ projections.Rows[rowIndex].ItemArray[cellIndex].ToString(),
+ databaseTracker.DatabaseConnectionString);
+ var adSpecialRow = new DataGridViewRow();
+ projectionsDataGridView.Rows.Add(adSpecialRow);
+ projectionsDataGridView.Rows[rowIndex].Cells[3].Value = groupName;
+ projectionsDataGridView.Rows[rowIndex].DefaultCellStyle.BackColor =
+ ApplicationColors.AdSpecial;
+ adSpecialIndex = rowIndex;
+ }
+ projectionsDataGridView.Rows.Add(newRow);
+ }
+ //Now add the totals row.
+ var totalsRow = new DataGridViewRow();
+ projectionsDataGridView.Rows.Add(totalsRow);
+ projectionsDataGridView.Rows[projectionsDataGridView.Rows.Count - 1].Cells[0].Value = "Total";
+ projectionsDataGridView.Rows[projectionsDataGridView.Rows.Count - 1].Cells[2].Style.Alignment =
+ DataGridViewContentAlignment.MiddleRight;
+ projectionsDataGridView.Rows[projectionsDataGridView.Rows.Count - 1].Cells[2].Value = @"(A)";
+ if (Math.Abs(totalSales) > 0)
+ {
+ projectionsDataGridView.Rows[projectionsDataGridView.Rows.Count - 1].Cells[3].Value =
+ totalSales.ToString("N2");
+ }
+ projectionsDataGridView.Rows[projectionsDataGridView.Rows.Count - 1].Cells[5].Style.Alignment =
+ DataGridViewContentAlignment.MiddleRight;
+ projectionsDataGridView.Rows[projectionsDataGridView.Rows.Count - 1].Cells[5].Value = @"(B)";
+ if (Math.Abs(totalProfitReturn) > 0)
+ {
+ projectionsDataGridView.Rows[projectionsDataGridView.Rows.Count - 1].Cells[6].Value =
+ totalProfitReturn.ToString("N2");
+ }
+ }
+
+ private void LoadInventoryTable(DataTable inventory)
+ {
+ if (inventory.Rows.Count == 0) return;
+ var adSpecialIndex = -1;
+ for (var rowIndex = 0; rowIndex < inventory.Rows.Count; rowIndex++)
+ {
+ var newRow = new DataGridViewRow();
+ for (var cellIndex = 1; cellIndex < inventory.Rows[rowIndex].ItemArray.Length; cellIndex++)
+ {
+ //String allowed columns
+ if (cellIndex < 6)
+ {
+ if (inventory.Rows[rowIndex].ItemArray[cellIndex].ToString() != string.Empty)
+ {
+ var cell = new DataGridViewTextBoxCell
+ {
+ Value = inventory.Rows[rowIndex].ItemArray[cellIndex].ToString()
+ };
+ newRow.Cells.Add(cell);
+ }
+ else
+ {
+ var cell = new DataGridViewTextBoxCell {Value = string.Empty};
+ newRow.Cells.Add(cell);
+ }
+ continue;
+ }
+ //Check the attribute cell.
+ if (cellIndex == 6)
+ {
+ var rowAttribute = int.Parse(inventory.Rows[rowIndex].ItemArray[cellIndex].ToString());
+ switch (rowAttribute)
+ {
+ case 1:
+ //Header row
+ newRow.DefaultCellStyle.BackColor = ApplicationColors.HeaderRow;
+ break;
+ case 2:
+ //Member Row
+ newRow.DefaultCellStyle.BackColor = ApplicationColors.MemberRow;
+ break;
+ }
+ continue;
+ }
+ //Check the group it is part of if any.
+ if (cellIndex != 7) continue;
+ //Check to see if this row belongs to an ad special group.
+ if (inventory.Rows[rowIndex].ItemArray[cellIndex].ToString() == "0") continue;
+ //If the ad special index is not set, then create the ad special row with the human friendly group name.
+ if (adSpecialIndex != -1) continue;
+ var databaseTracker = new DatabaseTracker();
+ var databaseReader = new DatabaseReader();
+ var groupName =
+ databaseReader.ReturnGroupNameFromGroupId(
+ inventory.Rows[rowIndex].ItemArray[cellIndex].ToString(),
+ databaseTracker.DatabaseConnectionString);
+ var adSpecialRow = new DataGridViewRow();
+ inventoryDataGridView.Rows.Add(adSpecialRow);
+ inventoryDataGridView.Rows[rowIndex].Cells[2].Value = groupName;
+ inventoryDataGridView.Rows[rowIndex].DefaultCellStyle.BackColor =
+ ApplicationColors.AdSpecial;
+ adSpecialIndex = rowIndex;
+ }
+ inventoryDataGridView.Rows.Add(newRow);
+ }
+ }
+
+ private void LoadActualSalesTable(DataTable actualSales)
+ {
+ if (actualSales.Rows.Count == 0) return;
+ var adSpecialIndex = -1;
+ double totalSales = 0;
+ double totalProfitReturn = 0;
+ for (var rowIndex = 0; rowIndex < actualSales.Rows.Count; rowIndex++)
+ {
+ var newRow = new DataGridViewRow();
+ for (var cellIndex = 0; cellIndex < actualSales.Rows[rowIndex].ItemArray.Length; cellIndex++)
+ {
+ //ID and Ad Item.
+ if (cellIndex == 1)
+ {
+ var cell = new DataGridViewTextBoxCell
+ {
+ Value = actualSales.Rows[rowIndex].ItemArray[cellIndex].ToString()
+ };
+ newRow.Cells.Add(cell);
+ continue;
+ }
+ //String allowed columns
+ if (cellIndex > 1 && cellIndex <= 3)
+ {
+ if (actualSales.Rows[rowIndex].ItemArray[cellIndex].ToString() != string.Empty)
+ {
+ var cell = new DataGridViewTextBoxCell
+ {
+ Value = actualSales.Rows[rowIndex].ItemArray[cellIndex].ToString()
+ };
+ newRow.Cells.Add(cell);
+ }
+ else
+ {
+ var cell = new DataGridViewTextBoxCell {Value = string.Empty};
+ newRow.Cells.Add(cell);
+ }
+ continue;
+ }
+ //If the cell is meant to be summed into a totals roll add its contents to the total.
+ //If the cell is the total sales cell..
+ if (cellIndex == 4)
+ {
+ if (actualSales.Rows[rowIndex].ItemArray[cellIndex].ToString() != string.Empty &&
+ Math.Abs(double.Parse(actualSales.Rows[rowIndex].ItemArray[cellIndex].ToString())) > 0)
+ {
+ totalSales += double.Parse(actualSales.Rows[rowIndex].ItemArray[cellIndex].ToString());
+ var cell = new DataGridViewTextBoxCell
+ {
+ Value =
+ double.Parse(actualSales.Rows[rowIndex].ItemArray[cellIndex].ToString())
+ .ToString("N2")
+ };
+ newRow.Cells.Add(cell);
+ }
+ else
+ {
+ var cell = new DataGridViewTextBoxCell {Value = string.Empty};
+ newRow.Cells.Add(cell);
+ }
+ continue;
+ }
+ //or the total profit return cell.
+ if (cellIndex == 7)
+ {
+ if (actualSales.Rows[rowIndex].ItemArray[cellIndex].ToString() != string.Empty &&
+ Math.Abs(double.Parse(actualSales.Rows[rowIndex].ItemArray[cellIndex].ToString())) > 0)
+ {
+ totalProfitReturn += double.Parse(actualSales.Rows[rowIndex].ItemArray[cellIndex].ToString());
+ var cell = new DataGridViewTextBoxCell
+ {
+ Value =
+ double.Parse(actualSales.Rows[rowIndex].ItemArray[cellIndex].ToString())
+ .ToString("N2")
+ };
+ newRow.Cells.Add(cell);
+ }
+ else
+ {
+ var cell = new DataGridViewTextBoxCell {Value = string.Empty};
+ newRow.Cells.Add(cell);
+ }
+ continue;
+ }
+ //Everything in between the ad item cell and the row attribute cells.
+ if (cellIndex > 3 && cellIndex < 8)
+ {
+ if (Math.Abs(double.Parse(actualSales.Rows[rowIndex].ItemArray[cellIndex].ToString())) > 0)
+ {
+ var cell = new DataGridViewTextBoxCell
+ {
+ Value =
+ double.Parse(actualSales.Rows[rowIndex].ItemArray[cellIndex].ToString())
+ .ToString("N2")
+ };
+ newRow.Cells.Add(cell);
+ }
+ else
+ {
+ var cell = new DataGridViewTextBoxCell {Value = string.Empty};
+ newRow.Cells.Add(cell);
+ }
+ continue;
+ }
+ //Check the attribute cell.
+ if (cellIndex == 8)
+ {
+ var rowAttribute = int.Parse(actualSales.Rows[rowIndex].ItemArray[cellIndex].ToString());
+ switch (rowAttribute)
+ {
+ case 1:
+ //Header row
+ newRow.DefaultCellStyle.BackColor = ApplicationColors.HeaderRow;
+ break;
+ case 2:
+ //Member Row
+ newRow.DefaultCellStyle.BackColor = ApplicationColors.MemberRow;
+ break;
+ }
+ continue;
+ }
+ //Check the group it is part of if any.
+ if (cellIndex != 9) continue;
+ //Check to see if this row belongs to an ad special group.
+ if (actualSales.Rows[rowIndex].ItemArray[cellIndex].ToString() == "0") continue;
+ //If the ad special index is not set, then create the ad special row with the human friendly group name.
+ if (adSpecialIndex != -1) continue;
+ var databaseTracker = new DatabaseTracker();
+ var databaseReader = new DatabaseReader();
+ var groupName =
+ databaseReader.ReturnGroupNameFromGroupId(
+ actualSales.Rows[rowIndex].ItemArray[cellIndex].ToString(),
+ databaseTracker.DatabaseConnectionString);
+ var adSpecialRow = new DataGridViewRow();
+ actualSalesDataGridView.Rows.Add(adSpecialRow);
+ actualSalesDataGridView.Rows[rowIndex].Cells[3].Value = groupName;
+ actualSalesDataGridView.Rows[rowIndex].DefaultCellStyle.BackColor =
+ ApplicationColors.AdSpecial;
+ adSpecialIndex = rowIndex;
+ }
+ actualSalesDataGridView.Rows.Add(newRow);
+ }
+ //Now add the totals row.
+ var totalsRow = new DataGridViewRow();
+ actualSalesDataGridView.Rows.Add(totalsRow);
+ actualSalesDataGridView.Rows[actualSalesDataGridView.Rows.Count - 1].Cells[0].Value = "Total";
+ actualSalesDataGridView.Rows[actualSalesDataGridView.Rows.Count - 1].Cells[2].Style.Alignment =
+ DataGridViewContentAlignment.MiddleRight;
+ actualSalesDataGridView.Rows[actualSalesDataGridView.Rows.Count - 1].Cells[2].Value = @"(A)";
+ if (Math.Abs(totalSales) > 0)
+ {
+ actualSalesDataGridView.Rows[actualSalesDataGridView.Rows.Count - 1].Cells[3].Value =
+ totalSales.ToString("N2");
+ }
+ actualSalesDataGridView.Rows[actualSalesDataGridView.Rows.Count - 1].Cells[5].Style.Alignment =
+ DataGridViewContentAlignment.MiddleRight;
+ actualSalesDataGridView.Rows[actualSalesDataGridView.Rows.Count - 1].Cells[5].Value = @"(B)";
+ if (Math.Abs(totalProfitReturn) > 0)
+ {
+ actualSalesDataGridView.Rows[actualSalesDataGridView.Rows.Count - 1].Cells[6].Value =
+ totalProfitReturn.ToString("N2");
+ }
+ }
+
+ private void LoadInvoices(DataTable invoices)
+ {
+ if (invoices.Rows.Count == 0) return;
+ _totalInvoicePurchases = 0;
+ for (var rowIndex = 0; rowIndex < invoices.Rows.Count; rowIndex++)
+ {
+ var row = new DataGridViewRow();
+ for (var cellIndex = 1; cellIndex < invoices.Rows[rowIndex].ItemArray.Length; cellIndex++)
+ {
+ var cell = new DataGridViewTextBoxCell();
+ switch (cellIndex)
+ {
+ //Apply formatting to the invoice date to trim the 12:00:00 time stamp.
+ case 1:
+ var date = DateTime.Parse(invoices.Rows[rowIndex].ItemArray[cellIndex].ToString());
+ cell.Value = date.ToString("d");
+ row.Cells.Add(cell);
+ continue;
+ //Apply formatting to the only cells that will have currency values in them.
+ case 4:
+ var netAmountAtCost = double.Parse(invoices.Rows[rowIndex].ItemArray[cellIndex].ToString()).ToString("N2");
+ if (netAmountAtCost != "0.00")
+ {
+ cell.Value = netAmountAtCost;
+ }
+ row.Cells.Add(cell);
+ break;
+ case 5:
+ var netAmoundExtendedRetail = double.Parse(invoices.Rows[rowIndex].ItemArray[cellIndex].ToString());
+ if (netAmoundExtendedRetail.ToString("N2") != "0.00")
+ {
+ _totalInvoicePurchases += netAmoundExtendedRetail;
+ cell.Value = netAmoundExtendedRetail.ToString("N2");
+ }
+ row.Cells.Add(cell);
+ break;
+ default:
+ //No special formatting rules here so just put the value in and move on.
+ cell.Value = invoices.Rows[rowIndex].ItemArray[cellIndex].ToString();
+ row.Cells.Add(cell);
+ break;
+ }
+ }
+ invoicesDataGridView.Rows.Add(row);
+ }
+ //Add the total purchases row to the invoice table.
+ var totalPurchaesRow = new DataGridViewRow();
+ invoicesDataGridView.Rows.Add(totalPurchaesRow);
+ invoicesDataGridView.Rows[invoicesDataGridView.Rows.Count - 1].Cells[0].Value = @"Total Purchases";
+ if (Math.Abs(_totalInvoicePurchases) > 0)
+ {
+ invoicesDataGridView.Rows[invoicesDataGridView.Rows.Count - 1].Cells[4].Value = _totalInvoicePurchases.ToString("N2");
+ }
+ }
+
+ private void LoadWeeklySales(DataTable weeklySales)
+ {
+ //Clear the department sales and prepare to add up a total.
+ _departmentSales = 0;
+ //Spin through the only row in the weekly sales table. Item in item
+ //array index zero (0) is the ID number of the weekly sales.
+ for (var cellIndex = 1; cellIndex < weeklySales.Rows[0].ItemArray.Length; cellIndex++)
+ {
+ double dollarAmount;
+ switch (cellIndex)
+ {
+ case 1: //Sunday
+ dollarAmount = double.Parse(weeklySales.Rows[0].ItemArray[cellIndex].ToString());
+ if (dollarAmount.ToString("N2") != "0.00")
+ {
+ _departmentSales += dollarAmount;
+ sundayWeeklySalesLabel.Text = @"Sunday: $" + dollarAmount;
+ }
+ else
+ {
+ sundayWeeklySalesLabel.Text = @"Sunday: " + CheckForHoliday(DayOfWeek.Sunday);
+ }
+ break;
+ case 2: //Monday
+ dollarAmount = double.Parse(weeklySales.Rows[0].ItemArray[cellIndex].ToString());
+ if (dollarAmount.ToString("N2") != "0.00")
+ {
+ _departmentSales += dollarAmount;
+ mondayWeeklySalesLabel.Text = @"Monday: $" + dollarAmount;
+ }
+ else
+ {
+ mondayWeeklySalesLabel.Text = @"Monday: " + CheckForHoliday(DayOfWeek.Monday);
+ }
+ break;
+ case 3: //Tuesday
+ dollarAmount = double.Parse(weeklySales.Rows[0].ItemArray[cellIndex].ToString());
+ if (dollarAmount.ToString("N2") != "0.00")
+ {
+ _departmentSales += dollarAmount;
+ tuesadayWeeklySalesLabel.Text = @"Tuesday: $" + dollarAmount;
+ }
+ else
+ {
+ tuesadayWeeklySalesLabel.Text = @"Tuesday: " + CheckForHoliday(DayOfWeek.Tuesday);
+ }
+ break;
+ case 4: //Wednesday
+ dollarAmount = double.Parse(weeklySales.Rows[0].ItemArray[cellIndex].ToString());
+ if (dollarAmount.ToString("N2") != "0.00")
+ {
+ _departmentSales += dollarAmount;
+ wednesdayWeeklySalesLabel.Text = @"Wednesday: $" + dollarAmount;
+ }
+ else
+ {
+ wednesdayWeeklySalesLabel.Text = @"Wednesday: " + CheckForHoliday(DayOfWeek.Wednesday);
+ }
+ break;
+ case 5: //Thursday
+ dollarAmount = double.Parse(weeklySales.Rows[0].ItemArray[cellIndex].ToString());
+ if (dollarAmount.ToString("N2") != "0.00")
+ {
+ _departmentSales += dollarAmount;
+ thursdayWeeklySalesLabel.Text = @"Thursday: $" + dollarAmount;
+ }
+ else
+ {
+ thursdayWeeklySalesLabel.Text = @"Thursday: " + CheckForHoliday(DayOfWeek.Thursday);
+ }
+ break;
+ case 6: //Friday
+ dollarAmount = double.Parse(weeklySales.Rows[0].ItemArray[cellIndex].ToString());
+ if (dollarAmount.ToString("N2") != "0.00")
+ {
+ _departmentSales += dollarAmount;
+ fridayWeeklySalesLabel.Text = @"Friday: $" + dollarAmount;
+ }
+ else
+ {
+ fridayWeeklySalesLabel.Text = @"Friday: " + CheckForHoliday(DayOfWeek.Friday);
+ }
+ break;
+ case 7: //Saturday
+ dollarAmount = double.Parse(weeklySales.Rows[0].ItemArray[cellIndex].ToString());
+ if (dollarAmount.ToString("N2") != "0.00")
+ {
+ _departmentSales += dollarAmount;
+ saturdayWeeklySalesLabel.Text = @"Saturday: $" + dollarAmount;
+ }
+ else
+ {
+ saturdayWeeklySalesLabel.Text = @"Saturday: " + CheckForHoliday(DayOfWeek.Saturday);
+ }
+ break;
+ case 8: //Total Sales
+ dollarAmount = double.Parse(weeklySales.Rows[0].ItemArray[cellIndex].ToString());
+ if (dollarAmount.ToString("N2") != "0.00")
+ {
+ totalWeeklySalesLabel.Text = @"Total Sales: $" + dollarAmount;
+ }
+ else
+ {
+ totalWeeklySalesLabel.Text = @"Total Sales: ";
+ }
+ break;
+ }
+ }
+ }
+
+ private void LoadTaxable(DataTable taxable)
+ {
+ //Spin through the only row in the taxable table. Item in item
+ //array index zero (0) is the ID number of the weekly sales.
+ for (var cellIndex = 1; cellIndex < taxable.Rows[0].ItemArray.Length; cellIndex++)
+ {
+ string formattedNumber;
+ switch (cellIndex)
+ {
+ case 1: //Sunday
+ formattedNumber = double.Parse(taxable.Rows[0].ItemArray[cellIndex].ToString()).ToString("N2");
+ if (formattedNumber != "0.00")
+ {
+ sundayTaxableLabel.Text = @"Sunday: $" + formattedNumber;
+ }
+ else
+ {
+ sundayTaxableLabel.Text = @"Sunday: " + CheckForHoliday(DayOfWeek.Sunday);
+ }
+ break;
+ case 2: //Monday
+ formattedNumber = double.Parse(taxable.Rows[0].ItemArray[cellIndex].ToString()).ToString("N2");
+ if (formattedNumber != "0.00")
+ {
+ mondayTaxableLabel.Text = @"Monday: $" + formattedNumber;
+ }
+ else
+ {
+ mondayTaxableLabel.Text = @"Monday: " + CheckForHoliday(DayOfWeek.Monday);
+ }
+ break;
+ case 3: //Tuesday
+ formattedNumber = double.Parse(taxable.Rows[0].ItemArray[cellIndex].ToString()).ToString("N2");
+ if (formattedNumber != "0.00")
+ {
+ tuesdayTaxableLabel.Text = @"Tuesday: $" + formattedNumber;
+ }
+ else
+ {
+ tuesdayTaxableLabel.Text = @"Tuesday: " + CheckForHoliday(DayOfWeek.Tuesday);
+ }
+ break;
+ case 4: //Wednesday
+ formattedNumber = double.Parse(taxable.Rows[0].ItemArray[cellIndex].ToString()).ToString("N2");
+ if (formattedNumber != "0.00")
+ {
+ wednesdayTaxableLabel.Text = @"Wednesday: $" + formattedNumber;
+ }
+ else
+ {
+ wednesdayTaxableLabel.Text = @"Wednesday: " + CheckForHoliday(DayOfWeek.Wednesday);
+ }
+ break;
+ case 5: //Thursday
+ formattedNumber = double.Parse(taxable.Rows[0].ItemArray[cellIndex].ToString()).ToString("N2");
+ if (formattedNumber != "0.00")
+ {
+ thursdayTaxableLabel.Text = @"Thursday: $" + formattedNumber;
+ }
+ else
+ {
+ thursdayTaxableLabel.Text = @"Thursday: " + CheckForHoliday(DayOfWeek.Thursday);
+ }
+ break;
+ case 6: //Friday
+ formattedNumber = double.Parse(taxable.Rows[0].ItemArray[cellIndex].ToString()).ToString("N2");
+ if (formattedNumber != "0.00")
+ {
+ fridayTaxableLabel.Text = @"Friday: $" + formattedNumber;
+ }
+ else
+ {
+ fridayTaxableLabel.Text = @"Friday: " + CheckForHoliday(DayOfWeek.Friday);
+ }
+ break;
+ case 7: //Saturday
+ formattedNumber = double.Parse(taxable.Rows[0].ItemArray[cellIndex].ToString()).ToString("N2");
+ if (formattedNumber != "0.00")
+ {
+ saturdayTaxableLabel.Text = @"Saturday: $" + formattedNumber;
+ }
+ else
+ {
+ saturdayTaxableLabel.Text = @"Saturday: " + CheckForHoliday(DayOfWeek.Saturday);
+ }
+ break;
+ case 8: //Total Taxable
+ formattedNumber = double.Parse(taxable.Rows[0].ItemArray[cellIndex].ToString()).ToString("N2");
+ if (formattedNumber != "0.00")
+ {
+ totalTaxableLabel.Text = @"Total Taxable: $" + formattedNumber;
+ }
+ break;
+ }
+ }
+ }
+
+ private void LoadCostAnalysis(DataTable costAnalysis)
+ {
+ //Spin through the only row in the taxable table. Item in item
+ //array index zero (0) is the ID number of the weekly sales.
+ for (var cellIndex = 1; cellIndex < costAnalysis.Rows[0].ItemArray.Length; cellIndex++)
+ {
+ string formattedNumber;
+ switch (cellIndex)
+ {
+ case 1: //Sales per man hour
+ formattedNumber = double.Parse(costAnalysis.Rows[0].ItemArray[cellIndex].ToString()).ToString("N2");
+ if (formattedNumber != "0.00")
+ {
+ salesPerManHourLabel.Text = @"Sales Per Man Hour: $" + formattedNumber;
+ }
+ break;
+ case 2: //Salary Percentage
+ formattedNumber = double.Parse(costAnalysis.Rows[0].ItemArray[cellIndex].ToString()).ToString("P2");
+ if (formattedNumber != "0.00")
+ {
+ salaryPercentageLabel.Text = @"Salary Percentage: " + formattedNumber;
+ }
+ break;
+ case 3: //Salary Dollars
+ formattedNumber = double.Parse(costAnalysis.Rows[0].ItemArray[cellIndex].ToString()).ToString("N2");
+ if (formattedNumber != "0.00")
+ {
+ salaryDollarsLabel.Text = @"Salary Dollars: $" + formattedNumber;
+ }
+ break;
+ case 4: //Supplies
+ formattedNumber = double.Parse(costAnalysis.Rows[0].ItemArray[cellIndex].ToString()).ToString("N2");
+ if (formattedNumber != "0.00")
+ {
+ suppliesLabel.Text = @"Supplies: $" + formattedNumber;
+ }
+ break;
+ }
+ }
+ }
+
+ private string CheckForHoliday(DayOfWeek day)
+ {
+ var holidayText = string.Empty;
+ //Get the currently selected date.
+ var date = monthCalendar.SelectionStart;
+ //Now make sure the selected day on the calendar (the date that came from the database) is not the same
+ //as the day provided, unless the day is Saturday. If the end of week date is not on a Saturday and the
+ //supplied day is Monday, than subtracting 5 would yield an incorrect date.
+ if (date.DayOfWeek == DayOfWeek.Saturday)
+ {
+ switch (day)
+ {
+ case DayOfWeek.Sunday:
+ date = date.AddDays(-6);
+ break;
+ case DayOfWeek.Monday:
+ date = date.AddDays(-5);
+ break;
+ case DayOfWeek.Tuesday:
+ date = date.AddDays(-4);
+ break;
+ case DayOfWeek.Wednesday:
+ date = date.AddDays(-3);
+ break;
+ case DayOfWeek.Thursday:
+ date = date.AddDays(-2);
+ break;
+ case DayOfWeek.Friday:
+ date = date.AddDays(-1);
+ break;
+ }
+ }
+ var holiday = Holiday.IsHoliday(date);
+ switch (holiday)
+ {
+ case Holidays.Thanksgiving:
+ case Holidays.Christmas:
+ holidayText = @"Closed for " + TextFormat.AddSpacesToSentence(holiday.ToString(), false);
+ break;
+ }
+ return holidayText;
+ }
+ }
+}
//http://stackoverflow.com/questions/487661/how-do-i-suspend-painting-for-a-control-and-its-children
internal class DrawingControl
{
@@ -793,4 +1169,3 @@ namespace AdvertsingProfitControl
parent.Refresh();
}
}
-}
diff --git a/AdvertsingProfitControl/FrmModifyRecord.cs b/AdvertsingProfitControl/FrmModifyRecord.cs
index 9819de3..02232d0 100644
--- a/AdvertsingProfitControl/FrmModifyRecord.cs
+++ b/AdvertsingProfitControl/FrmModifyRecord.cs
@@ -347,16 +347,16 @@ namespace AdvertsingProfitControl
//Re factor later....
#region DataGridView Filling Methods
- private void FillDataGridViews(string dateId = "")
+ private void FillDataGridViews(int dateId = 0)
{
var databaseTracker = new DatabaseTracker();
var databaseReader = new DatabaseReader();
BuildDataGridViewEvents(false);
- if (dateId == "")
+ if (dateId == 0)
{
- dateId = databaseReader.RetrieveMostRecentDateId(databaseTracker.DatabaseConnectionString);
+ //dateId = databaseReader.RetrieveMostRecentDateId(databaseTracker.DatabaseConnectionString);
}
//Clear the DataGridViews and the last used ad item.
projectionsDataGridView.DataSource = null;
@@ -423,7 +423,7 @@ namespace AdvertsingProfitControl
weeklySalesDataGridView.Rows.Add(row.ItemArray);
}
- commentsTextBox.Text = databaseReader.RetrieveComments(dateId, databaseTracker.DatabaseConnectionString);
+ commentsTextBox.Text = databaseReader.RetrieveComments(dateId, databaseTracker.DatabaseConnectionString)[1];
BuildDataGridViewEvents();
}
@@ -640,7 +640,7 @@ namespace AdvertsingProfitControl
{
var databaseTracker = new DatabaseTracker();
var databaseReader = new DatabaseReader();
- FillDataGridViews(databaseReader.RetrieveDateIdByDateString(monthComboBox.SelectedItem + "/" + dayComboBox.SelectedItem + "/" + yearComboBox.Text, databaseTracker.DatabaseConnectionString).ToString());
+ FillDataGridViews(databaseReader.RetrieveDateIdByDateString(monthComboBox.SelectedItem + "/" + dayComboBox.SelectedItem + "/" + yearComboBox.Text, databaseTracker.DatabaseConnectionString));
}
private void FillDateSuggestionComboBoxes()
@@ -666,7 +666,6 @@ namespace AdvertsingProfitControl
yearComboBox.Items.Clear();
monthComboBox.SelectedIndexChanged -= UpdateDaysOfMonth;
dayComboBox.SelectedIndexChanged -= UpdateDataGridViewInformation;
- yearComboBox.SelectedIndexChanged -= UpdateDaysOfMonthByYear;
//Now spin through the oneYearDatesTable and fill the class wide object with all the dates for the most recent year.
for (var i = 0; i < datesList.Count; i++)
{
@@ -727,7 +726,6 @@ namespace AdvertsingProfitControl
}
monthComboBox.SelectedIndexChanged += UpdateDaysOfMonth;
dayComboBox.SelectedIndexChanged += UpdateDataGridViewInformation;
- yearComboBox.SelectedIndexChanged += UpdateDaysOfMonthByYear;
DrawingControl.ResumeDrawing(dateSelectorGroupBox);
}
@@ -754,71 +752,6 @@ namespace AdvertsingProfitControl
}
}
- ///
- /// Fires when the Year combo box's index changes.
- ///
- ///
- ///
- private void UpdateDaysOfMonthByYear(object sender, EventArgs e)
- {
- //Obligatory database retrieval call...
- var databaseTracker = new DatabaseTracker();
- var databaseReader = new DatabaseReader();
- //First, grab the year and the month from their respective combo boxes.
- var year = yearComboBox.SelectedItem.ToString();
- //Since we can more or less be certain that nothing is null, clear the current date collection.
- _dateStringCollection.Clear();
- var months = databaseReader.RetrieveUniqueMonthsList(year, databaseTracker.DatabaseConnectionString);
- var mostRecentMonth = months.Max();
- if (mostRecentMonth.Length == 1)
- {
- mostRecentMonth = "0" + mostRecentMonth;
- }
- var datesList = databaseReader.RetrieveDateListByYear(year, databaseTracker.DatabaseConnectionString);
-
- for (var i = 0; i < datesList.Count; i++)
- {
- _dateStringCollection.Add(datesList[i].ToString("MM/dd/yyyy"));
- }
-
- //Clear the month and day combo boxes and unregister their event handlers.
- dayComboBox.Items.Clear();
- monthComboBox.Items.Clear();
- monthComboBox.SelectedIndexChanged -= UpdateDaysOfMonth;
- dayComboBox.SelectedIndexChanged -= UpdateDataGridViewInformation;
- for (var i = 0; i < _dateStringCollection.Count; i++)
- {
- var dateArray = _dateStringCollection[i].Split('/');
- var month = dateArray[0];
- //Declare the patterns to look for when enumerating the combo boxes.
- var dayBasedOnMonthAndYeaRegex = new Regex(@"^(" + mostRecentMonth + @"\/\d{2}\/" + year + ")"); //Only allows days that are actually part of the month and year.
- var day = dateArray[1];
-
- if (dayBasedOnMonthAndYeaRegex.IsMatch( _dateStringCollection[i]))
- {
- dayComboBox.Items.Add(day);
- }
-
- if (!monthComboBox.Items.Contains(month))
- {
- monthComboBox.Items.Add(month);
- }
- }
-
- if (dayComboBox.Items.Count > 0)
- {
- dayComboBox.SelectedIndex = dayComboBox.Items.Count - 1;
- }
- if (monthComboBox.Items.Count > 0)
- {
- monthComboBox.SelectedIndex = monthComboBox.Items.Count - 1;
- }
-
- //Now re-register the event handlers
- monthComboBox.SelectedIndexChanged += UpdateDaysOfMonth;
- dayComboBox.SelectedIndexChanged += UpdateDataGridViewInformation;
- FillDataGridViews(databaseReader.RetrieveDateIdByDateString(monthComboBox.SelectedItem + "/" + dayComboBox.SelectedItem + "/" + year, databaseTracker.DatabaseConnectionString).ToString());
- }
#endregion
#region Third Party Code
diff --git a/AdvertsingProfitControl/FrontPageGenerator.cs b/AdvertsingProfitControl/FrontPageGenerator.cs
index 1b7b010..b278cf8 100644
--- a/AdvertsingProfitControl/FrontPageGenerator.cs
+++ b/AdvertsingProfitControl/FrontPageGenerator.cs
@@ -38,7 +38,7 @@ namespace AdvertsingProfitControl
}
}
- public void BuildFormFrontCompressedLayout(string dateId, double departmentSales, double salesProducedByAdItems, double remainingSales, double totalProfitReturnFromAdItems, double totalProfitReturnFromRemainingSales, double totalProfitReturn, string comments)
+ public void BuildFormFrontCompressedLayout(int dateId, double departmentSales, double salesProducedByAdItems, double remainingSales, double totalProfitReturnFromAdItems, double totalProfitReturnFromRemainingSales, double totalProfitReturn, string comments)
{
var databaseTracker = new DatabaseTracker();
var databaseReader = new DatabaseReader();
diff --git a/AdvertsingProfitControl/Holiday.cs b/AdvertsingProfitControl/Holiday.cs
new file mode 100644
index 0000000..182e580
--- /dev/null
+++ b/AdvertsingProfitControl/Holiday.cs
@@ -0,0 +1,89 @@
+using System;
+using System.Linq;
+
+namespace AdvertsingProfitControl
+{
+ internal class Holiday
+ {
+ public static Holidays IsHoliday(DateTime date)
+ {
+ if(IsNewYearsDay(date) == Holidays.NewYearsDay) return Holidays.NewYearsDay;
+ if(IsFourthOfJuly(date) == Holidays.FourthOfJuly) return Holidays.FourthOfJuly;
+ if(IsThanksgivingDay(date) == Holidays.Thanksgiving) return Holidays.Thanksgiving;
+ return IsChristmasDay(date) == Holidays.Christmas ? Holidays.Christmas : Holidays.NoHoliday;
+ }
+ public static Holidays IsNewYearsEve(DateTime date)
+ {
+ return date.DayOfYear == AdjustForWeekendHoliday(new DateTime(date.Year, 12, 31)).DayOfYear ? Holidays.NewYearsEve : Holidays.NoHoliday;
+ }
+ public static Holidays IsNewYearsDay(DateTime date)
+ {
+ return date.DayOfYear == AdjustForWeekendHoliday(new DateTime(date.Year, 1, 1)).DayOfYear ? Holidays.NewYearsDay : Holidays.NoHoliday;
+ }
+ public static Holidays IsMemorialDay(DateTime date)
+ { //Last Monday in May
+ var memorialDay = new DateTime(date.Year, 5, 31);
+ var dayOfWeek = memorialDay.DayOfWeek;
+ while (dayOfWeek != DayOfWeek.Monday)
+ {
+ memorialDay = memorialDay.AddDays(-1);
+ dayOfWeek = memorialDay.DayOfWeek;
+ }
+ return date.DayOfYear == memorialDay.DayOfYear ? Holidays.MemorialDay : Holidays.NoHoliday;
+ }
+ public static Holidays IsFourthOfJuly(DateTime date)
+ {
+ return date.DayOfYear == AdjustForWeekendHoliday(new DateTime(date.Year, 7, 4)).DayOfYear ? Holidays.FourthOfJuly : Holidays.NoHoliday;
+ }
+ public static Holidays IsLaborDay(DateTime date)
+ { // First Monday in September
+ var laborDay = new DateTime(date.Year, 9, 1);
+ var dayOfWeek = laborDay.DayOfWeek;
+ while (dayOfWeek != DayOfWeek.Monday)
+ {
+ laborDay = laborDay.AddDays(1);
+ dayOfWeek = laborDay.DayOfWeek;
+ }
+ return date.DayOfYear == laborDay.DayOfYear ? Holidays.LaborDay : Holidays.NoHoliday;
+ }
+ public static Holidays IsThanksgivingDay(DateTime date)
+ {//4th Thursday in November
+ var thanksgiving = (from day in Enumerable.Range(1, 30)
+ where new DateTime(date.Year, 11, day).DayOfWeek == DayOfWeek.Thursday
+ select day).ElementAt(3);
+ var thanksgivingDay = new DateTime(date.Year, 11, thanksgiving);
+ return date.DayOfYear == thanksgivingDay.DayOfYear ? Holidays.Thanksgiving : Holidays.NoHoliday;
+ }
+ public static Holidays IsChristmasEve(DateTime date)
+ {
+ return date.DayOfYear == AdjustForWeekendHoliday(new DateTime(date.Year, 12, 24)).DayOfYear ? Holidays.ChristmasEve : Holidays.NoHoliday;
+ }
+ public static Holidays IsChristmasDay(DateTime date)
+ {
+ return date.DayOfYear == new DateTime(date.Year, 12, 25).DayOfYear ? Holidays.Christmas : Holidays.NoHoliday;
+ }
+ private static DateTime AdjustForWeekendHoliday(DateTime holiday)
+ {
+ switch (holiday.DayOfWeek)
+ {
+ case DayOfWeek.Saturday:
+ return holiday.AddDays(-1);
+ case DayOfWeek.Sunday:
+ return holiday.AddDays(1);
+ }
+ return holiday;
+ }
+ }
+ public enum Holidays
+ {
+ NoHoliday = 0,
+ NewYearsEve = 1,
+ NewYearsDay = 2,
+ MemorialDay = 3,
+ FourthOfJuly = 4,
+ LaborDay = 5,
+ Thanksgiving = 6,
+ ChristmasEve = 7,
+ Christmas = 8
+ }
+}
diff --git a/AdvertsingProfitControl/NewModifyRecord.cs b/AdvertsingProfitControl/NewModifyRecord.cs
index 00a880d..30e914b 100644
--- a/AdvertsingProfitControl/NewModifyRecord.cs
+++ b/AdvertsingProfitControl/NewModifyRecord.cs
@@ -2171,6 +2171,14 @@ namespace AdvertsingProfitControl
if (result == DialogResult.Yes)
{
//Save the changes made to the database then clear and load the date picked by the user.
+ if (SaveRecords(false))
+ {
+ informationLabel.Text = @"Saved all changes successfully." + Environment.NewLine;
+ }
+ else
+ {
+ errorLabel.Text = @"Failed to save all changes." + Environment.NewLine;
+ }
}
else if (result == DialogResult.Cancel)
{
@@ -2253,9 +2261,6 @@ namespace AdvertsingProfitControl
salaryDollarsTextBox.Validating -= ValidateCostAnalysisValues;
suppliesTextBox.Enter -= StoreBeginningTextBoxValue;
suppliesTextBox.Validating -= ValidateCostAnalysisValues;
- //Clear errors and information.
- informationLabel.Text = string.Empty;
- errorLabel.Text = string.Empty;
//Clear projections
projectionsDataGridView.Rows.Clear();
//Clear inventory
@@ -2387,13 +2392,19 @@ namespace AdvertsingProfitControl
var databaseTracker = new DatabaseTracker();
var databaseReader = new DatabaseReader();
var dateId = databaseReader.RetrieveDateIdByDateString(date.ToString("d"), databaseTracker.DatabaseConnectionString);
- var projections = databaseReader.ReturnProjectionsTable(dateId.ToString(), databaseTracker.DatabaseConnectionString);
- var inventory = databaseReader.ReturnInventoryTable(dateId.ToString(), databaseTracker.DatabaseConnectionString);
- var actualSales = databaseReader.ReturnActualSales(dateId.ToString(), databaseTracker.DatabaseConnectionString);
+ if (dateId == 0)
+ {
+ errorLabel.Text = @"Failed to get the date ID number, aborting load operation." + Environment.NewLine;
+ return;
+ }
+ informationLabel.Text = @"Loading data for " + _currentActiveDate.ToString("d") + "." + Environment.NewLine;
+ var projections = databaseReader.ReturnProjectionsTable(dateId, databaseTracker.DatabaseConnectionString);
+ var inventory = databaseReader.ReturnInventoryTable(dateId, databaseTracker.DatabaseConnectionString);
+ var actualSales = databaseReader.ReturnActualSales(dateId, databaseTracker.DatabaseConnectionString);
LoadProjectionsTable(projections);
LoadInventory(inventory);
LoadActualSales(actualSales);
- var invoices = databaseReader.ReturnInvoiceTable(dateId.ToString(), databaseTracker.DatabaseConnectionString);
+ var invoices = databaseReader.ReturnInvoiceTable(dateId, databaseTracker.DatabaseConnectionString);
var comments = databaseReader.RetrieveComments(int.Parse(dateId.ToString()), databaseTracker.DatabaseConnectionString);
if (comments.Count == 2)
{
@@ -2403,7 +2414,7 @@ namespace AdvertsingProfitControl
{
informationLabel.Text += @"No comments to display." + Environment.NewLine;
}
- var weeklySales = databaseReader.ReturnWeeklySalesFromDateId(dateId.ToString(),
+ var weeklySales = databaseReader.ReturnWeeklySalesFromDateId(dateId,
databaseTracker.DatabaseConnectionString);
if (weeklySales.Rows.Count == 1)
{
@@ -2414,7 +2425,7 @@ namespace AdvertsingProfitControl
informationLabel.Text += @"No sales to display." + Environment.NewLine;
}
- var taxable = databaseReader.ReturnTaxableFromDateId(dateId.ToString(), databaseTracker.DatabaseConnectionString);
+ var taxable = databaseReader.ReturnTaxableFromDateId(dateId, databaseTracker.DatabaseConnectionString);
if (taxable.Rows.Count == 1)
{
LoadTaxable(taxable);
@@ -2463,7 +2474,7 @@ namespace AdvertsingProfitControl
//Everything in between the ad item cell and the row attribute cells.
if (cellIndex > 1 && cellIndex <= 7)
{
- if (projections.Rows[rowIndex].ItemArray[cellIndex].ToString() == "0")
+ if (projections.Rows[rowIndex].ItemArray[cellIndex].ToString() == "0.0000")
{
var cell = new DataGridViewTextBoxCell {Value = string.Empty};
newRow.Cells.Add(cell);
@@ -2656,7 +2667,7 @@ namespace AdvertsingProfitControl
inventoryDataGridView.RowValidating += ValidateInventoryRow;
}
- public void LoadActualSales(DataTable actualSales)
+ private void LoadActualSales(DataTable actualSales)
{
//Assuming all the tables are correctly aligned.
//Disable the relevant events in the DataGridViews
@@ -2685,7 +2696,7 @@ namespace AdvertsingProfitControl
//Everything in between the ad item cell and the row attribute cells.
if (cellIndex > 1 && cellIndex <= 7)
{
- if (actualSales.Rows[rowIndex].ItemArray[cellIndex].ToString() == "0")
+ if (actualSales.Rows[rowIndex].ItemArray[cellIndex].ToString() == "0.0000")
{
var cell = new DataGridViewTextBoxCell { Value = string.Empty };
newRow.Cells.Add(cell);
@@ -3295,11 +3306,11 @@ namespace AdvertsingProfitControl
{
errorLabel.Text += @"Failed to process actual sales." + Environment.NewLine;
}
- if (!SaveInvoices(dateId)) return false;
- if (!SaveComments(dateId)) return false;
- if (!SaveWeeklySales(dateId)) return false;
- if (!SaveTaxable(dateId)) return false;
- return SaveCostAnalysis(dateId) && success;
+ if (!SaveInvoices(dateId, displayInformation)) return false;
+ if (!SaveComments(dateId, displayInformation)) return false;
+ if (!SaveWeeklySales(dateId, displayInformation)) return false;
+ if (!SaveTaxable(dateId, displayInformation)) return false;
+ return SaveCostAnalysis(dateId, displayInformation) && success;
}
///
@@ -3329,7 +3340,7 @@ namespace AdvertsingProfitControl
return dateId;
}
- private bool SaveInvoices(int dateId)
+ private bool SaveInvoices(int dateId, bool displayInformation = true)
{
var dbT = new DatabaseTracker();
var dbW = new DatabaseWriter(dbT.DatabaseConnectionString);
@@ -3340,11 +3351,11 @@ namespace AdvertsingProfitControl
errorLabel.Text = writerStatus.GetErrorMessage();
return false;
}
- informationLabel.Text += writerStatus.GetErrorMessage() + Environment.NewLine;
+ if(displayInformation) informationLabel.Text += writerStatus.GetErrorMessage() + Environment.NewLine;
return true;
}
- private bool SaveComments(int dateId)
+ private bool SaveComments(int dateId, bool displayInformation = true)
{
var dbT = new DatabaseTracker();
var dbW = new DatabaseWriter(dbT.DatabaseConnectionString);
@@ -3356,11 +3367,10 @@ namespace AdvertsingProfitControl
var status = dbW.ProcessComments(commentsTextBox.Text, dateId, dbT.DatabaseConnectionString);
if (status.Status == WritingOperationStatus.Failed)
{
- informationLabel.Text += @"Failed to add Comments to the database." + Environment.NewLine;
errorLabel.Text = status.ErrorMessage;
return false;
}
- informationLabel.Text += @"Comment(s) processed successfully." + Environment.NewLine;
+ if(displayInformation) informationLabel.Text += @"Comment(s) processed successfully." + Environment.NewLine;
var id = status.Id;
isCommentDirtyCheckBox.Tag = id;
isCommentDirtyCheckBox.Text = @"IsCommentDirty (" + id + @")";
@@ -3375,20 +3385,19 @@ namespace AdvertsingProfitControl
int.Parse(isCommentDirtyCheckBox.Tag.ToString()));
if (status.Status == WritingOperationStatus.Failed)
{
- informationLabel.Text += @"Failed to add Comments to the database." + Environment.NewLine;
errorLabel.Text = status.ErrorMessage;
return false;
}
isCommentDirtyCheckBox.Checked = false;
- informationLabel.Text += @"Comment(s) processed successfully." + Environment.NewLine;
+ if (displayInformation) informationLabel.Text += @"Comment(s) processed successfully." + Environment.NewLine;
return true;
}
}
- informationLabel.Text += @"No changes detected for the comment(s)" + Environment.NewLine;
+ if (displayInformation) informationLabel.Text += @"No changes detected for the comment(s)" + Environment.NewLine;
return true;
}
- private bool SaveWeeklySales(int dateId)
+ private bool SaveWeeklySales(int dateId, bool displayInformation = true)
{
var dbT = new DatabaseTracker();
var dbW = new DatabaseWriter(dbT.DatabaseConnectionString);
@@ -3416,11 +3425,10 @@ namespace AdvertsingProfitControl
var status = dbW.ProcessWeeklySales(weeklySales, dateId, dbT.DatabaseConnectionString);
if (status.Status == WritingOperationStatus.Failed)
{
- informationLabel.Text += @"Failed to add Weekly Sales to the database." + Environment.NewLine;
errorLabel.Text = status.ErrorMessage;
return false;
}
- informationLabel.Text += @"Weekly Sales processed successfully." + Environment.NewLine;
+ if (displayInformation) informationLabel.Text += @"Weekly Sales processed successfully." + Environment.NewLine;
isWeeklySalesDirtyCheckBox.Tag = status.Id;
isWeeklySalesDirtyCheckBox.Text = @"IsWeeklySalesDirty (" + status.Id + @")";
isWeeklySalesDirtyCheckBox.Checked = false;
@@ -3432,20 +3440,19 @@ namespace AdvertsingProfitControl
int.Parse(isWeeklySalesDirtyCheckBox.Tag.ToString()));
if (status.Status == WritingOperationStatus.Failed)
{
- informationLabel.Text += @"Failed to add Weekly Sales to the database." + Environment.NewLine;
errorLabel.Text = status.ErrorMessage;
return false;
}
isWeeklySalesDirtyCheckBox.Checked = false;
- informationLabel.Text += @"Weekly Sales updated successfully." + Environment.NewLine;
+ if (displayInformation) informationLabel.Text += @"Weekly Sales updated successfully." + Environment.NewLine;
return true;
}
}
- informationLabel.Text += @"No changes detected for Weekly Sales." + Environment.NewLine;
+ if (displayInformation) informationLabel.Text += @"No changes detected for Weekly Sales." + Environment.NewLine;
return true;
}
- private bool SaveTaxable(int dateId)
+ private bool SaveTaxable(int dateId, bool displayInformation = true)
{
var dbT = new DatabaseTracker();
var dbW = new DatabaseWriter(dbT.DatabaseConnectionString);
@@ -3469,11 +3476,10 @@ namespace AdvertsingProfitControl
var status = dbW.ProcessTaxable(taxable, dateId, dbT.DatabaseConnectionString);
if (status.Status == WritingOperationStatus.Failed)
{
- informationLabel.Text += @"Failed to add Taxable to the database." + Environment.NewLine;
errorLabel.Text = status.ErrorMessage;
return false;
}
- informationLabel.Text += @"Taxable processed successfully." + Environment.NewLine;
+ if (displayInformation) informationLabel.Text += @"Taxable processed successfully." + Environment.NewLine;
isTaxableDirtyCheckBox.Tag = status.Id;
isTaxableDirtyCheckBox.Text = @"IsTaxableDirty (" + status.Id + @")";
return true;
@@ -3484,20 +3490,19 @@ namespace AdvertsingProfitControl
int.Parse(isTaxableDirtyCheckBox.Tag.ToString()));
if (status.Status == WritingOperationStatus.Failed)
{
- informationLabel.Text += @"Failed to add Taxable to the database." + Environment.NewLine;
errorLabel.Text = status.ErrorMessage;
return false;
}
isTaxableDirtyCheckBox.Checked = false;
- informationLabel.Text += @"Taxable updated successfully." + Environment.NewLine;
+ if (displayInformation) informationLabel.Text += @"Taxable updated successfully." + Environment.NewLine;
return true;
}
}
- informationLabel.Text += @"No changes detected for Taxable." + Environment.NewLine;
+ if (displayInformation) informationLabel.Text += @"No changes detected for Taxable." + Environment.NewLine;
return true;
}
- private bool SaveCostAnalysis(int dateId)
+ private bool SaveCostAnalysis(int dateId, bool displayInformation = true)
{
var dbT = new DatabaseTracker();
var dbW = new DatabaseWriter(dbT.DatabaseConnectionString);
@@ -3517,11 +3522,10 @@ namespace AdvertsingProfitControl
var status = dbW.ProcessCostAnalysis(costAnalysis, dateId, dbT.DatabaseConnectionString);
if (status.Status == WritingOperationStatus.Failed)
{
- informationLabel.Text += @"Failed to add Cost Analysis to the database." + Environment.NewLine;
errorLabel.Text = status.ErrorMessage;
return false;
}
- informationLabel.Text += @"Costs Analysis processed successfully." + Environment.NewLine;
+ if (displayInformation) informationLabel.Text += @"Costs Analysis processed successfully." + Environment.NewLine;
isCostAnalysisDirtyCheckBox.Tag = status.Id;
isCostAnalysisDirtyCheckBox.Text = @"IsCostAnalysisDirty (" + status.Id + @")";
isCostAnalysisDirtyCheckBox.Checked = false;
@@ -3533,16 +3537,15 @@ namespace AdvertsingProfitControl
int.Parse(isCostAnalysisDirtyCheckBox.Tag.ToString()));
if (status.Status == WritingOperationStatus.Failed)
{
- informationLabel.Text += @"Failed to add Cost Analysis to the database." + Environment.NewLine;
errorLabel.Text = status.ErrorMessage;
return false;
}
isCostAnalysisDirtyCheckBox.Checked = false;
- informationLabel.Text += @"Cost Analysis updated successfully." + Environment.NewLine;
+ if (displayInformation) informationLabel.Text += @"Cost Analysis updated successfully." + Environment.NewLine;
return true;
}
}
- informationLabel.Text += @"No changes made to Cost Analysis." + Environment.NewLine;
+ if (displayInformation) informationLabel.Text += @"No changes made to Cost Analysis." + Environment.NewLine;
return true;
}
#endregion
diff --git a/AdvertsingProfitControl/bin/Debug/AdvertsingProfitControl.vshost.application b/AdvertsingProfitControl/bin/Debug/AdvertsingProfitControl.vshost.application
index b0428ef..0367083 100644
--- a/AdvertsingProfitControl/bin/Debug/AdvertsingProfitControl.vshost.application
+++ b/AdvertsingProfitControl/bin/Debug/AdvertsingProfitControl.vshost.application
@@ -14,7 +14,7 @@
- 1Hy88d0pyLqSm+LXJWOGDCgRmXG4f4D5il87bOZtle0=
+ YwflYtfjVV9x9+eYf7fKZfD6BpJXoaFqTjumSTnk4Aw=
diff --git a/AdvertsingProfitControl/bin/Debug/AdvertsingProfitControl.vshost.exe.manifest b/AdvertsingProfitControl/bin/Debug/AdvertsingProfitControl.vshost.exe.manifest
index 80afe5f..ee6ea0d 100644
--- a/AdvertsingProfitControl/bin/Debug/AdvertsingProfitControl.vshost.exe.manifest
+++ b/AdvertsingProfitControl/bin/Debug/AdvertsingProfitControl.vshost.exe.manifest
@@ -43,14 +43,14 @@
-
+
- 9J9ugoTiC4+wY6MW3l8lpcH7ZE4DSPiDNUUMrWgEDvE=
+ msc2oqq6RpSLr/3P5XGCDPYZql/YogX5J9EV62lCzlM=
@@ -93,7 +93,7 @@
- h0U0mLzUnhEKHaiuXsTC+7xvKixcE9+lG0nu0vBTYdI=
+ BhxzzAVktfxM46PKaURg6/dVO+AoTuOm4bm2CLmjz1A=