Fixed some crash bugs related to the front page renderer recieving empty (null) table records. Twaeked both renderers' formatting.
This commit is contained in:
@@ -77,6 +77,7 @@ namespace AdvertsingProfitControl
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "border:none");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);
|
||||
//TODO: Validate the last week's date
|
||||
//Grab last week's date
|
||||
writer.Write("Week Ending <u>" + date.AddDays(-7).ToString("d") + "</u>");
|
||||
writer.RenderEndTag();//td
|
||||
writer.RenderEndTag();//tr
|
||||
@@ -130,25 +131,33 @@ namespace AdvertsingProfitControl
|
||||
writer.RenderEndTag();//td
|
||||
//Sunday td
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:left");
|
||||
if (weeklySale == null) writer.AddAttribute(HtmlTextWriterAttribute.Colspan, "2");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);
|
||||
writer.Write("Sunday");
|
||||
writer.RenderEndTag();//td
|
||||
//Dollar amount for Sunday
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:right");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);
|
||||
if (weeklySale != null) writer.Write($"{weeklySale.Sunday:N2}");
|
||||
writer.RenderEndTag();//dollar amount Sunday end
|
||||
writer.RenderEndTag();//tr
|
||||
if (weeklySale != null)
|
||||
{
|
||||
//Dollar amount for Sunday
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:right");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);
|
||||
writer.Write($"{weeklySale.Sunday:N2}");
|
||||
writer.RenderEndTag();//dollar amount Sunday end
|
||||
writer.RenderEndTag();//tr
|
||||
}
|
||||
//Row spanned row for the header row.
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Tr);
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:left");
|
||||
if (weeklySale == null) writer.AddAttribute(HtmlTextWriterAttribute.Colspan, "2");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);//Monday cell
|
||||
writer.Write("Monday");
|
||||
writer.RenderEndTag();//Monday end
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:right");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);//Monday dollar amount
|
||||
if (weeklySale != null) writer.Write($"{weeklySale.Monday:N2}");
|
||||
writer.RenderEndTag();//end Monday dollar amount
|
||||
if (weeklySale != null)
|
||||
{
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:right");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);//Monday dollar amount
|
||||
writer.Write($"{weeklySale.Monday:N2}");
|
||||
writer.RenderEndTag();//end Monday dollar amount
|
||||
}
|
||||
writer.RenderEndTag();//end spanned row tr
|
||||
//
|
||||
for (var i = 0; i < 33; i++)
|
||||
@@ -382,62 +391,74 @@ namespace AdvertsingProfitControl
|
||||
{
|
||||
case 0:
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:left");
|
||||
if (sales == null) writer.AddAttribute(HtmlTextWriterAttribute.Colspan, "2");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);//Tuesday
|
||||
writer.Write("Tuesday");
|
||||
writer.RenderEndTag();
|
||||
if (sales == null) break;
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:right");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);//Tuesday
|
||||
if (sales != null && sales.Tuesday != 0) writer.Write($@"{sales.Tuesday:N2}");
|
||||
writer.Write($@"{sales.Tuesday:N2}");
|
||||
writer.RenderEndTag();
|
||||
break;
|
||||
case 1:
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:left");
|
||||
if(sales == null) writer.AddAttribute(HtmlTextWriterAttribute.Colspan, "2");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);//Wednesday
|
||||
writer.Write("Wednesday");
|
||||
writer.RenderEndTag();
|
||||
if (sales == null) break;
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:right");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);
|
||||
if (sales != null && sales.Wednesday != 0) writer.Write($@"{sales.Wednesday:N2}");
|
||||
writer.Write($@"{sales.Wednesday:N2}");
|
||||
writer.RenderEndTag();
|
||||
break;
|
||||
case 2:
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:left");
|
||||
if (sales == null) writer.AddAttribute(HtmlTextWriterAttribute.Colspan, "2");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);//Thursday
|
||||
writer.Write("Thursday");
|
||||
writer.RenderEndTag();
|
||||
if (sales == null) break;
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:right");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);
|
||||
if (sales != null && sales.Thursday != 0) writer.Write($@"{sales.Thursday:N2}");
|
||||
writer.Write($@"{sales.Thursday:N2}");
|
||||
writer.RenderEndTag();
|
||||
break;
|
||||
case 3:
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:left");
|
||||
if (sales == null) writer.AddAttribute(HtmlTextWriterAttribute.Colspan, "2");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);//Friday
|
||||
writer.Write("Friday");
|
||||
writer.RenderEndTag();
|
||||
if (sales == null) break;
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:right");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);
|
||||
if (sales != null && sales.Friday != 0) writer.Write($@"{sales.Friday:N2}");
|
||||
writer.Write($@"{sales.Friday:N2}");
|
||||
writer.RenderEndTag();
|
||||
break;
|
||||
case 4:
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:left");
|
||||
if (sales == null) writer.AddAttribute(HtmlTextWriterAttribute.Colspan, "2");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);//Saturday
|
||||
writer.Write("Saturday");
|
||||
writer.RenderEndTag();
|
||||
if (sales == null) break;
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:right");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);
|
||||
if (sales != null && sales.Saturday != 0) writer.Write($@"{sales.Saturday:N2}");
|
||||
writer.Write($@"{sales.Saturday:N2}");
|
||||
writer.RenderEndTag();
|
||||
break;
|
||||
case 5:
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:left");
|
||||
if (sales == null) writer.AddAttribute(HtmlTextWriterAttribute.Colspan, "2");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);//total sales
|
||||
writer.Write("Total Sales");
|
||||
writer.RenderEndTag();
|
||||
if (sales == null) break;
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:right");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);
|
||||
if (sales != null && sales.TotalSales != 0) writer.Write($@"{sales.TotalSales:N2}");
|
||||
writer.Write($@"{sales.TotalSales:N2}");
|
||||
writer.RenderEndTag();
|
||||
break;
|
||||
}
|
||||
@@ -449,82 +470,98 @@ namespace AdvertsingProfitControl
|
||||
{
|
||||
case 7:
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:left");
|
||||
if (taxable == null) writer.AddAttribute(HtmlTextWriterAttribute.Colspan, "2");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);//Sunday
|
||||
writer.Write("Sunday");
|
||||
writer.RenderEndTag();
|
||||
if (taxable == null) break;
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:right");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);
|
||||
if (taxable != null && taxable.Sunday != 0) writer.Write($@"{taxable.Sunday:N2}");
|
||||
writer.Write($@"{taxable.Sunday:N2}");
|
||||
writer.RenderEndTag();
|
||||
break;
|
||||
case 8:
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:left");
|
||||
if (taxable == null) writer.AddAttribute(HtmlTextWriterAttribute.Colspan, "2");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);//Monday
|
||||
writer.Write("Monday");
|
||||
writer.RenderEndTag();
|
||||
if (taxable == null) break;
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:right");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);
|
||||
if (taxable != null && taxable.Monday != 0) writer.Write($@"{taxable.Monday:N2}");
|
||||
writer.Write($@"{taxable.Monday:N2}");
|
||||
writer.RenderEndTag();
|
||||
break;
|
||||
case 9:
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:left");
|
||||
if (taxable == null) writer.AddAttribute(HtmlTextWriterAttribute.Colspan, "2");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);//Tuesday
|
||||
writer.Write("Tuesday");
|
||||
writer.RenderEndTag();
|
||||
if (taxable == null) break;
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:right");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);//Tuesday
|
||||
if (taxable != null && taxable.Tuesday != 0) writer.Write($@"{taxable.Tuesday:N2}");
|
||||
writer.Write($@"{taxable.Tuesday:N2}");
|
||||
writer.RenderEndTag();
|
||||
break;
|
||||
case 10:
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:left");
|
||||
if (taxable == null) writer.AddAttribute(HtmlTextWriterAttribute.Colspan, "2");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);//Wednesday
|
||||
writer.Write("Wednesday");
|
||||
writer.RenderEndTag();
|
||||
if (taxable == null) break;
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:right");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);
|
||||
if (taxable != null && taxable.Wednesday != 0) writer.Write($@"{taxable.Wednesday:N2}");
|
||||
writer.Write($@"{taxable.Wednesday:N2}");
|
||||
writer.RenderEndTag();
|
||||
break;
|
||||
case 11:
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:left");
|
||||
if (taxable == null) writer.AddAttribute(HtmlTextWriterAttribute.Colspan, "2");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);//Thursday
|
||||
writer.Write("Thursday");
|
||||
writer.RenderEndTag();
|
||||
if (taxable == null) break;
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:right");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);
|
||||
if (taxable != null && taxable.Thursday != 0) writer.Write($@"{taxable.Thursday:N2}");
|
||||
writer.Write($@"{taxable.Thursday:N2}");
|
||||
writer.RenderEndTag();
|
||||
break;
|
||||
case 12:
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:left");
|
||||
if (taxable == null) writer.AddAttribute(HtmlTextWriterAttribute.Colspan, "2");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);//Friday
|
||||
writer.Write("Friday");
|
||||
writer.RenderEndTag();
|
||||
if (taxable == null) break;
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:right");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);
|
||||
if (taxable != null && taxable.Friday != 0) writer.Write($@"{taxable.Friday:N2}");
|
||||
writer.Write($@"{taxable.Friday:N2}");
|
||||
writer.RenderEndTag();
|
||||
break;
|
||||
case 13:
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:left");
|
||||
if (taxable == null) writer.AddAttribute(HtmlTextWriterAttribute.Colspan, "2");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);//Saturday
|
||||
writer.Write("Saturday");
|
||||
writer.RenderEndTag();
|
||||
if (taxable == null) break;
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:right");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);
|
||||
if (taxable != null && taxable.Saturday != 0) writer.Write($@"{taxable.Saturday:N2}");
|
||||
writer.Write($@"{taxable.Saturday:N2}");
|
||||
writer.RenderEndTag();
|
||||
break;
|
||||
case 14:
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:left");
|
||||
if (taxable == null) writer.AddAttribute(HtmlTextWriterAttribute.Colspan, "2");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);//total sales
|
||||
writer.Write("Total Taxable");
|
||||
writer.RenderEndTag();
|
||||
if (taxable == null) break;
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:right");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);
|
||||
if (taxable != null && taxable.Total != 0) writer.Write($@"{taxable.Total:N2}");
|
||||
writer.Write($@"{taxable.Total:N2}");
|
||||
writer.RenderEndTag();
|
||||
break;
|
||||
}
|
||||
@@ -536,19 +573,23 @@ namespace AdvertsingProfitControl
|
||||
{
|
||||
case 16:
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:left");
|
||||
if (sales == null) writer.AddAttribute(HtmlTextWriterAttribute.Colspan, "2");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);//Total sales
|
||||
writer.Write("1. Total Sales");
|
||||
writer.RenderEndTag();
|
||||
writer.RenderEndTag();
|
||||
if (sales == null) break;
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:right");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);
|
||||
if(sales != null && sales.TotalSales != 0) writer.Write($@"{sales.TotalSales:N2}");
|
||||
writer.Write($@"{sales.TotalSales:N2}");
|
||||
writer.RenderEndTag();
|
||||
break;
|
||||
case 17:
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:left");
|
||||
if (sales == null) writer.AddAttribute(HtmlTextWriterAttribute.Colspan, "2");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);//Less cost of sales
|
||||
writer.Write("2. Less Cost of Sales");
|
||||
writer.RenderEndTag();
|
||||
if (sales == null) break;
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:right");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);
|
||||
if (invoices.Count > 0)
|
||||
@@ -568,45 +609,45 @@ namespace AdvertsingProfitControl
|
||||
break;
|
||||
case 19:
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "border-top:none");
|
||||
if (sales == null) writer.AddAttribute(HtmlTextWriterAttribute.Colspan, "2");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);//dollar gross amount
|
||||
writer.Write("<br>");//Empty cell
|
||||
writer.RenderEndTag();
|
||||
if (sales == null) break;
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:right");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);
|
||||
if (sales != null)
|
||||
if (invoices.Count > 0)
|
||||
{
|
||||
if (invoices.Count > 0)
|
||||
{
|
||||
var dollarGross = sales.TotalSales - invoices.Sum(x => x.InvoiceNetAmountAtCost);
|
||||
if(dollarGross != 0)
|
||||
writer.Write($@"{dollarGross:N2}");
|
||||
}
|
||||
var dollarGross = sales.TotalSales - invoices.Sum(x => x.InvoiceNetAmountAtCost);
|
||||
if(dollarGross != 0)
|
||||
writer.Write($@"{dollarGross:N2}");
|
||||
}
|
||||
writer.RenderEndTag();
|
||||
break;
|
||||
case 20:
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "border-right:none; text-align:left");
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, sales == null ? string.Empty : "border-right:none;" + " text-align:left");
|
||||
if (sales == null) writer.AddAttribute(HtmlTextWriterAttribute.Colspan, "2");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);//Gross dollar percentage
|
||||
writer.Write("% Gross Profit");
|
||||
writer.RenderEndTag();
|
||||
if (sales == null) break;
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:right; border-left:none");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);
|
||||
if (sales != null)
|
||||
if (invoices.Count > 0)
|
||||
{
|
||||
if (invoices.Count > 0)
|
||||
{
|
||||
var grossDollarPercentage = (sales.TotalSales - invoices.Sum(x => x.InvoiceNetAmountAtCost)) / sales.TotalSales;
|
||||
if(grossDollarPercentage != 0)
|
||||
writer.Write($@"{grossDollarPercentage:P}");
|
||||
}
|
||||
var grossDollarPercentage = (sales.TotalSales - invoices.Sum(x => x.InvoiceNetAmountAtCost)) / sales.TotalSales;
|
||||
if(grossDollarPercentage != 0)
|
||||
writer.Write($@"{grossDollarPercentage:P}");
|
||||
}
|
||||
writer.RenderEndTag();
|
||||
break;
|
||||
case 21:
|
||||
writer.AddAttribute(HtmlTextWriterAttribute.Style, "text-align:left");
|
||||
if (sales == null) writer.AddAttribute(HtmlTextWriterAttribute.Colspan, "2");
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);//Weekly department Expense
|
||||
writer.Write("Est. Wkly. Dept. Expense");
|
||||
writer.RenderEndTag();
|
||||
if (sales == null) break;
|
||||
writer.RenderBeginTag(HtmlTextWriterTag.Td);
|
||||
writer.Write("<br>");
|
||||
writer.RenderEndTag();
|
||||
|
||||
Reference in New Issue
Block a user