Removed the Invoice Net Amount Extended Retail column from the Invoice table DataGridViews. Fixed a crash bug on the main form caused by an empty department sales variable. Small refactoring on the main form's calculation methods.

This commit is contained in:
2017-04-17 02:01:31 -05:00
parent 61f369f7fe
commit c72fbf88cf
8 changed files with 81 additions and 47 deletions
@@ -414,8 +414,7 @@ namespace AdvertsingProfitControl
Supplier = 2,
InvoiceNumber = 3,
InvoiceNetAmountAtCost = 4,
InvoiceNetAmount = 5,
InvoiceNote = 6,
IsDirty = 7
InvoiceNote = 5,
IsDirty = 6
}
}
@@ -102,6 +102,7 @@
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Configuration" />
<Reference Include="System.Data" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Runtime.Serialization" />
+32 -6
View File
@@ -33,31 +33,33 @@
this.moveOverButton = new System.Windows.Forms.Button();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.convertButton = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// existingDatesListBox
//
this.existingDatesListBox.FormattingEnabled = true;
this.existingDatesListBox.ItemHeight = 24;
this.existingDatesListBox.Location = new System.Drawing.Point(59, 84);
this.existingDatesListBox.Location = new System.Drawing.Point(23, 12);
this.existingDatesListBox.Name = "existingDatesListBox";
this.existingDatesListBox.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
this.existingDatesListBox.Size = new System.Drawing.Size(254, 316);
this.existingDatesListBox.Size = new System.Drawing.Size(353, 364);
this.existingDatesListBox.TabIndex = 0;
//
// datesToConvertListBox
//
this.datesToConvertListBox.FormattingEnabled = true;
this.datesToConvertListBox.ItemHeight = 24;
this.datesToConvertListBox.Location = new System.Drawing.Point(373, 84);
this.datesToConvertListBox.Location = new System.Drawing.Point(556, 29);
this.datesToConvertListBox.Name = "datesToConvertListBox";
this.datesToConvertListBox.Size = new System.Drawing.Size(254, 316);
this.datesToConvertListBox.Size = new System.Drawing.Size(97, 52);
this.datesToConvertListBox.TabIndex = 1;
//
// moveOverButton
//
this.moveOverButton.Enabled = false;
this.moveOverButton.Location = new System.Drawing.Point(59, 446);
this.moveOverButton.Location = new System.Drawing.Point(381, 417);
this.moveOverButton.Name = "moveOverButton";
this.moveOverButton.Size = new System.Drawing.Size(160, 56);
this.moveOverButton.TabIndex = 2;
@@ -71,7 +73,7 @@
//
// convertButton
//
this.convertButton.Location = new System.Drawing.Point(373, 452);
this.convertButton.Location = new System.Drawing.Point(556, 530);
this.convertButton.Name = "convertButton";
this.convertButton.Size = new System.Drawing.Size(133, 50);
this.convertButton.TabIndex = 3;
@@ -79,11 +81,32 @@
this.convertButton.UseVisualStyleBackColor = true;
this.convertButton.Click += new System.EventHandler(this.convertButton_Click);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(12, 515);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(64, 25);
this.label1.TabIndex = 4;
this.label1.Text = "label1";
//
// button1
//
this.button1.Location = new System.Drawing.Point(400, 530);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(141, 58);
this.button1.TabIndex = 5;
this.button1.Text = "button1";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// DebugDatabaseConverter
//
this.AutoScaleDimensions = new System.Drawing.SizeF(11F, 24F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(701, 592);
this.Controls.Add(this.button1);
this.Controls.Add(this.label1);
this.Controls.Add(this.convertButton);
this.Controls.Add(this.moveOverButton);
this.Controls.Add(this.datesToConvertListBox);
@@ -92,6 +115,7 @@
this.Text = "DebugDatabaseConverter";
this.Load += new System.EventHandler(this.DebugDatabaseConverter_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
@@ -102,5 +126,7 @@
private System.Windows.Forms.Button moveOverButton;
private System.Windows.Forms.OpenFileDialog openFileDialog1;
private System.Windows.Forms.Button convertButton;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Button button1;
}
}
@@ -69,6 +69,7 @@ namespace AdvertsingProfitControl
}
}
}
}
private void MoveOverButton_Click(object sender, EventArgs e)
@@ -776,5 +777,23 @@ namespace AdvertsingProfitControl
return dataTable;
}
private void button1_Click(object sender, EventArgs e)
{
var db = new AdvertisingProfitControlModel();
using (var scope = new TransactionScope())
{
var invoices = db.Invoices.Select(x => x);
foreach (var invoice in invoices)
{
invoice.InvoiceNetAmountAtCost = invoice.InvoiceNetAmount;
invoice.InvoiceNetAmount = null;
}
db.SaveChanges();
scope.Complete();
}
}
}
}
+20 -18
View File
@@ -49,8 +49,8 @@ namespace AdvertsingProfitControl
if (actualSalesDataGridView.Rows.Count == 0)
{
salesProducedLabel.Text = @"Sales Produced By Ad Items (A): No Data";
totalProfitFromAdItemsLabel.Text = @"Total Profit Return " + Environment.NewLine + @" From Ad Items (B): No Data";
if (Math.Abs(_departmentSales) < 1)
totalProfitFromAdItemsLabel.Text = @"Total Profit Return " + Environment.NewLine + @"From Ad Items (B): No Data";
if (_departmentSales == 0)
{
departmentSalesLabel.Text = @"Department Sales: No Data";
}
@@ -71,17 +71,17 @@ namespace AdvertsingProfitControl
}
}
if (Math.Abs(_salesProducedByAdItems) < 1)
if (_salesProducedByAdItems == 0)
{
salesProducedLabel.Text = @"Sales Produced By Ad Items (A): No Data";
incompleteData = true;
}
if (Math.Abs(_totalProfitReturnFromAdItems) < 1)
if (_totalProfitReturnFromAdItems == 0)
{
totalProfitFromAdItemsLabel.Text = @"Total Profit Return " + Environment.NewLine + @"From Ad Items (B): No Data";
incompleteData = true;
}
if (Math.Abs(_departmentSales) < 1)
if (_departmentSales == 0)
{
departmentSalesLabel.Text = @"Department Sales: No Data";
incompleteData = true;
@@ -107,16 +107,21 @@ namespace AdvertsingProfitControl
private void CalculateGrossProfit()
{
if (Math.Abs(_totalInvoicePurchases) < 1)
if (_totalInvoicePurchases == 0)
{
//IF Cost of Sales hasn't been calculated, then clear labels and return.
if (Math.Abs(_departmentSales) < 1)
{
grossProfitTotalSales.Text = @"Total Sales: No Data";
}
grossProfitTotalSales.Text = _departmentSales == 0
? @"Total Sales: No Data"
: @"Total Sales: " + _departmentSales.ToString("C");
grossProfitLessCostOfSales.Text = @"Less Cost of Sales: No Data";
return;
}
//IF Cost of Sales hasn't been calculated, then clear labels and return.
if (_departmentSales == 0)
{
grossProfitTotalSales.Text = @"Total Sales: No Data";
grossProfitLessCostOfSales.Text = @"Less Cost of Sales: " + _totalInvoicePurchases.ToString("C");
return;
}
grossProfitTotalSales.Text = @"Total Sales: " + _departmentSales.ToString("C");
grossProfitLessCostOfSales.Text = @"Less Cost of Sales: " + _totalInvoicePurchases.ToString("C");
var dollarGrossProfit = _departmentSales - _totalInvoicePurchases;
@@ -432,8 +437,7 @@ namespace AdvertsingProfitControl
{
string[] invoicesColumnNames =
{
"InvoiceDate", "Supplier", "InvoiceNumber", "InvoiceNetAmountAtCost",
"InvoiceNetAmountExtendedRetail", "InvoiceNote"
"InvoiceDate", "Supplier", "InvoiceNumber", "InvoiceNetAmountAtCost", "InvoiceNote"
};
foreach (var name in invoicesColumnNames)
@@ -444,7 +448,6 @@ namespace AdvertsingProfitControl
HeaderText = TextFormat.AddSpacesToSentence(name, false),
ValueType = typeof(string),
SortMode = DataGridViewColumnSortMode.NotSortable,
MaxInputLength = 20
};
invoicesDataGridView.Columns.Add(column);
}
@@ -651,9 +654,8 @@ namespace AdvertsingProfitControl
invoicesDataGridView.Rows[index].Cells[2].Value = invoice.InvoiceNumber;
invoicesDataGridView.Rows[index].Cells[3].Value = $@"{invoice.InvoiceNetAmountAtCost:N2}";
//Net Amount Extended Retail is not the required field.
if (invoice.InvoiceNetAmountAtCost != null) _totalInvoicePurchases += (decimal)invoice.InvoiceNetAmountAtCost;
invoicesDataGridView.Rows[index].Cells[4].Value = $@"{invoice.InvoiceNetAmount:N2}";
invoicesDataGridView.Rows[index].Cells[5].Value = invoice.InvoiceNote;
if (invoice.InvoiceNetAmountAtCost != null) _totalInvoicePurchases += (decimal)invoice.InvoiceNetAmountAtCost;
invoicesDataGridView.Rows[index].Cells[4].Value = invoice.InvoiceNote;
}
//Add the total purchases row to the invoice table.
if(invoicesDataGridView.RowCount == 0) return;
@@ -662,7 +664,7 @@ namespace AdvertsingProfitControl
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");
invoicesDataGridView.Rows[invoicesDataGridView.Rows.Count - 1].Cells[3].Value = _totalInvoicePurchases.ToString("N2");
}
}
+4 -17
View File
@@ -2153,7 +2153,7 @@ namespace AdvertsingProfitControl
/// </summary>
private void ConstructInvoicesDataGridView()
{
string[] invoicesColumnNames = { "ID", "InvoiceDate", "Supplier", "InvoiceNumber", "InvoiceNetAmountAtCost", "InvoiceNetAmountExtendedRetail", "InvoiceNote", "IsDirty" };
string[] invoicesColumnNames = { "ID", "InvoiceDate", "Supplier", "InvoiceNumber", "InvoiceNetAmountAtCost", "InvoiceNote", "IsDirty" };
foreach (var name in invoicesColumnNames)
{
@@ -2960,8 +2960,7 @@ namespace AdvertsingProfitControl
invoicesDataGridView.Rows[index].Cells[1].Value = invoice.InvoiceDate.ToString("d");
invoicesDataGridView.Rows[index].Cells[3].Value = invoice.InvoiceNumber;
invoicesDataGridView.Rows[index].Cells[4].Value = invoice.InvoiceNetAmountAtCost == 0 ? "" : invoice.InvoiceNetAmountAtCost.ToString();
invoicesDataGridView.Rows[index].Cells[5].Value = invoice.InvoiceNetAmount == 0 ? "" : invoice.InvoiceNetAmount.ToString();
invoicesDataGridView.Rows[index].Cells[6].Value = invoice.InvoiceNote;
invoicesDataGridView.Rows[index].Cells[5].Value = invoice.InvoiceNote;
invoicesDataGridView.Rows[index].Cells[(int)InvoiceTableColumns.IsDirty].Value = false;
index++;
}
@@ -3829,12 +3828,6 @@ namespace AdvertsingProfitControl
? 0
: decimal.Parse(
row.Cells[(int)InvoiceTableColumns.InvoiceNetAmountAtCost].EditedFormattedValue.ToString());
invoice.InvoiceNetAmount =
string.IsNullOrWhiteSpace(
row.Cells[(int)InvoiceTableColumns.InvoiceNetAmount].EditedFormattedValue.ToString())
? 0
: decimal.Parse(
row.Cells[(int)InvoiceTableColumns.InvoiceNetAmount].EditedFormattedValue.ToString());
invoice.InvoiceNote = row.Cells[(int)InvoiceTableColumns.InvoiceNote].EditedFormattedValue.ToString();
invoice.FkSupplierId = supplier.Id;
invoice.FkDateId = date.Id;
@@ -3859,17 +3852,10 @@ namespace AdvertsingProfitControl
: decimal.Parse(
row.Cells[(int) InvoiceTableColumns.InvoiceNetAmountAtCost]
.EditedFormattedValue.ToString());
invoice.InvoiceNetAmount =
string.IsNullOrWhiteSpace(
row.Cells[(int) InvoiceTableColumns.InvoiceNetAmount].EditedFormattedValue
.ToString())
? 0
: decimal.Parse(
row.Cells[(int) InvoiceTableColumns.InvoiceNetAmount].EditedFormattedValue
.ToString());
invoice.InvoiceNote =
row.Cells[(int) InvoiceTableColumns.InvoiceNote].EditedFormattedValue.ToString();
invoice.FkSupplierId = supplier.Id;
idNumbers.Add(row.Index, invoice);
}
else
{
@@ -3889,6 +3875,7 @@ namespace AdvertsingProfitControl
invoicesDataGridView.Rows[index.Key].HeaderCell.Style.BackColor = ApplicationColors.EditingSaved;
invoicesDataGridView.Rows[index.Key].Cells[(int)InvoiceTableColumns.IsDirty].Value = false;
}
informationLabel.Text += @"Updated the Invoices table." + Environment.NewLine;
}
else
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2.0.1.16")]
[assembly: AssemblyFileVersion("2.0.1.16")]
[assembly: AssemblyVersion("2.0.2.16")]
[assembly: AssemblyFileVersion("2.0.2.16")]