diff --git a/AdvertsingProfitControl/FrmMain.Designer.cs b/AdvertsingProfitControl/FrmMain.Designer.cs
index 7c3513c..a241b2c 100644
--- a/AdvertsingProfitControl/FrmMain.Designer.cs
+++ b/AdvertsingProfitControl/FrmMain.Designer.cs
@@ -86,7 +86,6 @@
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();
@@ -309,9 +308,8 @@
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.Size = new System.Drawing.Size(0, 25);
this.errorLabel.TabIndex = 8;
- this.errorLabel.Text = "errors";
//
// shrinkLinkLabel
//
@@ -498,7 +496,7 @@
// mondayTaxableLabel
//
this.mondayTaxableLabel.AutoSize = true;
- this.mondayTaxableLabel.Location = new System.Drawing.Point(6, 61);
+ this.mondayTaxableLabel.Location = new System.Drawing.Point(6, 67);
this.mondayTaxableLabel.Name = "mondayTaxableLabel";
this.mondayTaxableLabel.Size = new System.Drawing.Size(89, 25);
this.mondayTaxableLabel.TabIndex = 7;
@@ -507,7 +505,7 @@
// tuesdayTaxableLabel
//
this.tuesdayTaxableLabel.AutoSize = true;
- this.tuesdayTaxableLabel.Location = new System.Drawing.Point(6, 93);
+ this.tuesdayTaxableLabel.Location = new System.Drawing.Point(6, 100);
this.tuesdayTaxableLabel.Name = "tuesdayTaxableLabel";
this.tuesdayTaxableLabel.Size = new System.Drawing.Size(95, 25);
this.tuesdayTaxableLabel.TabIndex = 6;
@@ -516,7 +514,7 @@
// saturdayTaxableLabel
//
this.saturdayTaxableLabel.AutoSize = true;
- this.saturdayTaxableLabel.Location = new System.Drawing.Point(6, 221);
+ this.saturdayTaxableLabel.Location = new System.Drawing.Point(6, 232);
this.saturdayTaxableLabel.Name = "saturdayTaxableLabel";
this.saturdayTaxableLabel.Size = new System.Drawing.Size(97, 25);
this.saturdayTaxableLabel.TabIndex = 5;
@@ -525,7 +523,7 @@
// totalTaxableLabel
//
this.totalTaxableLabel.AutoSize = true;
- this.totalTaxableLabel.Location = new System.Drawing.Point(6, 253);
+ this.totalTaxableLabel.Location = new System.Drawing.Point(6, 265);
this.totalTaxableLabel.Name = "totalTaxableLabel";
this.totalTaxableLabel.Size = new System.Drawing.Size(62, 25);
this.totalTaxableLabel.TabIndex = 4;
@@ -534,7 +532,7 @@
// fridayTaxableLabel
//
this.fridayTaxableLabel.AutoSize = true;
- this.fridayTaxableLabel.Location = new System.Drawing.Point(6, 189);
+ this.fridayTaxableLabel.Location = new System.Drawing.Point(6, 199);
this.fridayTaxableLabel.Name = "fridayTaxableLabel";
this.fridayTaxableLabel.Size = new System.Drawing.Size(72, 25);
this.fridayTaxableLabel.TabIndex = 3;
@@ -543,7 +541,7 @@
// thursdayTaxableLabel
//
this.thursdayTaxableLabel.AutoSize = true;
- this.thursdayTaxableLabel.Location = new System.Drawing.Point(6, 157);
+ this.thursdayTaxableLabel.Location = new System.Drawing.Point(6, 166);
this.thursdayTaxableLabel.Name = "thursdayTaxableLabel";
this.thursdayTaxableLabel.Size = new System.Drawing.Size(101, 25);
this.thursdayTaxableLabel.TabIndex = 2;
@@ -552,7 +550,7 @@
// wednesdayTaxableLabel
//
this.wednesdayTaxableLabel.AutoSize = true;
- this.wednesdayTaxableLabel.Location = new System.Drawing.Point(6, 125);
+ this.wednesdayTaxableLabel.Location = new System.Drawing.Point(6, 133);
this.wednesdayTaxableLabel.Name = "wednesdayTaxableLabel";
this.wednesdayTaxableLabel.Size = new System.Drawing.Size(124, 25);
this.wednesdayTaxableLabel.TabIndex = 1;
@@ -561,7 +559,7 @@
// sundayTaxableLabel
//
this.sundayTaxableLabel.AutoSize = true;
- this.sundayTaxableLabel.Location = new System.Drawing.Point(6, 29);
+ this.sundayTaxableLabel.Location = new System.Drawing.Point(6, 31);
this.sundayTaxableLabel.Name = "sundayTaxableLabel";
this.sundayTaxableLabel.Size = new System.Drawing.Size(86, 25);
this.sundayTaxableLabel.TabIndex = 0;
@@ -576,7 +574,6 @@
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
//
@@ -754,7 +751,6 @@
//
// costAnalysisGroupBox
//
- this.costAnalysisGroupBox.Controls.Add(this.informationLabel);
this.costAnalysisGroupBox.Controls.Add(this.suppliesLabel);
this.costAnalysisGroupBox.Controls.Add(this.salaryDollarsLabel);
this.costAnalysisGroupBox.Controls.Add(this.salaryPercentageLabel);
@@ -768,15 +764,6 @@
this.costAnalysisGroupBox.TabStop = false;
this.costAnalysisGroupBox.Text = "Cost Analysis";
//
- // informationLabel
- //
- 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";
- //
// suppliesLabel
//
this.suppliesLabel.AutoSize = true;
@@ -1030,7 +1017,6 @@
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;
diff --git a/AdvertsingProfitControl/FrmMain.cs b/AdvertsingProfitControl/FrmMain.cs
index 1a20445..b6d7952 100644
--- a/AdvertsingProfitControl/FrmMain.cs
+++ b/AdvertsingProfitControl/FrmMain.cs
@@ -1,12 +1,10 @@
using System;
-using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.Drawing.Printing;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
-using System.Text.RegularExpressions;
using System.Windows.Forms;
namespace AdvertsingProfitControl
@@ -17,8 +15,9 @@ namespace AdvertsingProfitControl
private double _totalProfitReturnFromAdItems;
private double _totalInvoicePurchases; //Total Purchases
private double _departmentSales; //weekly sales total
+ private DateTime _currentActiveDate;
readonly FrmLogConsole _console = FrmLogConsole.GetStaticInstance;
- private int _LazyPageCounter = 0;
+ private int _LazyPageCounter;
public FrmMain()
{
@@ -29,14 +28,15 @@ namespace AdvertsingProfitControl
{
var databaseTracker = new DatabaseTracker();
var databaseReader = new DatabaseReader();
+ monthCalendar.BoldedDates = databaseReader.RetrieveDates(databaseTracker.DatabaseConnectionString).ToArray();
RowParsing.AdSpecialGroups.AddRange(databaseReader.ReturnGroupNameList(databaseTracker.DatabaseConnectionString));
ConstructApcDataGridViews();
ConstructInvoicesDataGridView();
var date = databaseReader.RetrieveMostRecentDate(databaseTracker.DatabaseConnectionString);
monthCalendar.SelectionStart = date;
+ _currentActiveDate = date;
LoadDate(date);
- CalculateProfitAnalysis();
- CalculateGrossProfit();
+ monthCalendar.DateChanged += ValidateDateChanged;
//projectionsDataGridView.KeyDown += FrmMain_KeyDown;
//var margin = new Margins(50, 50, 0, 0);
//_printDoc.DefaultPageSettings.Margins = margin;
@@ -44,6 +44,16 @@ namespace AdvertsingProfitControl
private void CalculateProfitAnalysis(double shrink = 0.30)
{
+ if (actualSalesDataGridView.Rows.Count == 0)
+ {
+ salesProducedLabel.Text = @"Sales Produced By Ad Items (A): No Data";
+ totalProfitFromAdItemsLabel.Text = @"Total Profit Return From Ad Items (B): No Data";
+ if (Math.Abs(_departmentSales) < 1)
+ {
+ departmentSalesLabel.Text = @"Department Sales: No Data";
+ }
+ return;
+ }
var incompleteData = false;
//First grab the total sales and the total profit return generated by the actual sales of product.
if (
@@ -357,7 +367,7 @@ namespace AdvertsingProfitControl
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;
+ ClearForm();
var projections = databaseReader.ReturnProjectionsTable(dateId, databaseTracker.DatabaseConnectionString);
var inventory = databaseReader.ReturnInventoryTable(dateId, databaseTracker.DatabaseConnectionString);
var actualSales = databaseReader.ReturnActualSales(dateId, databaseTracker.DatabaseConnectionString);
@@ -374,7 +384,7 @@ namespace AdvertsingProfitControl
}
else
{
- informationLabel.Text += @"No comments to display." + Environment.NewLine;
+ commentMainGroupBox.Text = @"Comments (None to Display)";
}
var weeklySales = databaseReader.ReturnWeeklySalesFromDateId(dateId,
databaseTracker.DatabaseConnectionString);
@@ -384,7 +394,7 @@ namespace AdvertsingProfitControl
}
else
{
- informationLabel.Text += @"No sales to display." + Environment.NewLine;
+ weeklySalesGroupBox.Text = @"Weekly Sales (Nothing to Display)";
}
var taxable = databaseReader.ReturnTaxableFromDateId(dateId, databaseTracker.DatabaseConnectionString);
@@ -394,7 +404,7 @@ namespace AdvertsingProfitControl
}
else
{
- informationLabel.Text += @"No taxable data to display." + Environment.NewLine;
+ taxableGroupBox.Text = @"Taxable (Nothing to Display)";
}
var costAnalysis = databaseReader.ReturnCostAnalysis(dateId,
databaseTracker.DatabaseConnectionString);
@@ -404,8 +414,11 @@ namespace AdvertsingProfitControl
}
else
{
- informationLabel.Text += @"No cost analysis data to display." + Environment.NewLine;
+ costAnalysisGroupBox.Text = @"Cost Analysis (Nothing to Display)";
}
+ CalculateProfitAnalysis();
+ CalculateGrossProfit();
+ dateTimeGroupBox.Text = @"Loaded " + date.ToString("d");
}
private void LoadProjectionsTable(DataTable projections)
@@ -1148,6 +1161,59 @@ namespace AdvertsingProfitControl
}
return holidayText;
}
+
+ private void ValidateDateChanged(object sender, DateRangeEventArgs e)
+ {
+ if (e.Start == _currentActiveDate || !monthCalendar.BoldedDates.Contains(e.Start)) return;
+ _currentActiveDate = e.Start;
+ //Load the specified date from the database.
+ LoadDate(e.Start);
+ }
+
+ private void ClearForm()
+ {
+ projectionsDataGridView.Rows.Clear();
+ inventoryDataGridView.Rows.Clear();
+ actualSalesDataGridView.Rows.Clear();
+ invoicesDataGridView.Rows.Clear();
+ commentsTextBox.Text = string.Empty;
+ commentMainGroupBox.Text = @"Comments";
+ dateTimeGroupBox.Text = string.Empty;
+ salesPerManHourLabel.Text = @"Sales Per Man Hour:";
+ salaryPercentageLabel.Text = @"Salary Percentage:";
+ salaryDollarsLabel.Text = @"Salary Dollars:";
+ suppliesLabel.Text = @"Supplies:";
+ costAnalysisGroupBox.Text = @"Cost Analysis";
+ sundayWeeklySalesLabel.Text = @"Sunday: ";
+ mondayWeeklySalesLabel.Text = @"Monday: ";
+ tuesadayWeeklySalesLabel.Text = @"Tuesday: ";
+ wednesdayWeeklySalesLabel.Text = @"Wednesday: ";
+ thursdayWeeklySalesLabel.Text = @"Wednesday: ";
+ fridayWeeklySalesLabel.Text = @"Friday: ";
+ saturdayWeeklySalesLabel.Text = @"Saturday: ";
+ totalWeeklySalesLabel.Text = @"Total Sales: ";
+ weeklySalesGroupBox.Text = @"Weekly Sales";
+ sundayTaxableLabel.Text = @"Sunday: ";
+ mondayTaxableLabel.Text = @"Monday: ";
+ tuesdayTaxableLabel.Text = @"Tuesday: ";
+ wednesdayTaxableLabel.Text = @"Wednesday: ";
+ thursdayTaxableLabel.Text = @"Wednesday: ";
+ fridayTaxableLabel.Text = @"Friday: ";
+ saturdayTaxableLabel.Text = @"Saturday: ";
+ totalTaxableLabel.Text = @"Total: ";
+ taxableGroupBox.Text = @"Taxable";
+ departmentSalesLabel.Text = @"Department Sales: ";
+ salesProducedLabel.Text = @"Sales Produced By Ad Items (A):";
+ remainingSalesLabel.Text = @"Remaining Sales:";
+ totalProfitFromAdItemsLabel.Text = @"Total Profit Return From Ad Items (B): ";
+ totalProfitReturnFromRemaingLabel.Text = @"Total Profit Return From Remaining Sales: ";
+ totalProfitReturnLabel.Text = @"Total Profit Return: ";
+ grossProfitTotalSales.Text = @"Total Sales:";
+ grossProfitLessCostOfSales.Text = @"Less Cost of Sales: ";
+ grossProfitDollarGrossProfitLabel.Text = @"Dollar Gross Profit: ";
+ perfectGrossProfitLabel.Text = @"Percent Gross Profit: ";
+ grossProfitEstimatedWeeklyDeptmartmentExpenseLabel.Text = @"Estimated Weekly Department Expense: ";
+ }
}
}
//http://stackoverflow.com/questions/487661/how-do-i-suspend-painting-for-a-control-and-its-children
diff --git a/AdvertsingProfitControl/bin/Debug/AdvertsingProfitControl.vshost.application b/AdvertsingProfitControl/bin/Debug/AdvertsingProfitControl.vshost.application
index 0367083..52ff4a9 100644
--- a/AdvertsingProfitControl/bin/Debug/AdvertsingProfitControl.vshost.application
+++ b/AdvertsingProfitControl/bin/Debug/AdvertsingProfitControl.vshost.application
@@ -14,7 +14,7 @@
- YwflYtfjVV9x9+eYf7fKZfD6BpJXoaFqTjumSTnk4Aw=
+ LhUa23CJtjZ/BowQJj0qgveDidagP1l9WYafRZkbi6Y=
diff --git a/AdvertsingProfitControl/bin/Debug/AdvertsingProfitControl.vshost.exe.manifest b/AdvertsingProfitControl/bin/Debug/AdvertsingProfitControl.vshost.exe.manifest
index ee6ea0d..05547ee 100644
--- a/AdvertsingProfitControl/bin/Debug/AdvertsingProfitControl.vshost.exe.manifest
+++ b/AdvertsingProfitControl/bin/Debug/AdvertsingProfitControl.vshost.exe.manifest
@@ -43,14 +43,14 @@
-
+
- msc2oqq6RpSLr/3P5XGCDPYZql/YogX5J9EV62lCzlM=
+ NwwEYHm9hzA8o7iitiqniu7tzLtilE7WXD+uqYszcZ4=