Created the first version of HTML code for the front form. Changed to the Pechkin HTML to PDF library. Removed the string tester. Fixed a bug with the main form where the APC tables would not be sorted by row position.

This commit is contained in:
2017-05-02 23:38:00 -05:00
parent ba5808443b
commit 218d5be4d6
36 changed files with 560 additions and 1502 deletions
+70 -38
View File
@@ -2,7 +2,6 @@
using System.Data.Entity.Infrastructure;
using System.Drawing;
using System.Drawing.Printing;
using System.IO;
using System.Linq;
using System.Transactions;
using System.Windows.Forms;
@@ -337,43 +336,68 @@ namespace AdvertsingProfitControl
private void DisplayPrintPreview(object sender, EventArgs e)
{
//Build and render the front and back forms of the document.
var test = new FrontPageGenerator();
var backPageTest = new BackPageGenerator();
var printTestPage = new PrintDocument();
var printDialog = new PrintPreviewDialog();
if (!usePreRenderedFilesCheckbox.Checked)
{
//var databaseTracker = new DatabaseTracker();
//var databaseReader = new DatabaseReader();
//var dateId =
// databaseReader.RetrieveDateIdByDateString(monthCalendar.SelectionStart.ToShortDateString(),
// databaseTracker.DatabaseConnectionString);
//var remaingingSales = _departmentSales - _salesProducedByAdItems;
//var totalProfitReturnFromReminaingSales = remaingingSales * .3m;
//var totalProfitReturn = _totalProfitReturnFromAdItems + totalProfitReturnFromReminaingSales;
////test.BuildFormFrontCompressedLayout(dateId, _departmentSales, _salesProducedByAdItems, remaingingSales,
// //_totalProfitReturnFromAdItems, totalProfitReturnFromReminaingSales, totalProfitReturn,
// //commentsTextBox.Text);
//test.RenderHtmlToImage();
//backPageTest.GenerateWeeklyInventoryControlPage(dateId);
//backPageTest.RenderHtmlToImage();
}
else
{
if (File.Exists(Application.StartupPath + "\\" + "FrontPage.html") &&
File.Exists(Application.StartupPath + "\\" + "Backpage.html"))
{
test.RenderHtmlToImage();
backPageTest.RenderHtmlToImage();
}
}
//var test = new FrontPageGenerator();
//var backPageTest = new BackPageGenerator();
//var printTestPage = new PrintDocument();
//var printDialog = new PrintPreviewDialog();
//if (!usePreRenderedFilesCheckbox.Checked)
//{
// //var databaseTracker = new DatabaseTracker();
// //var databaseReader = new DatabaseReader();
// //var dateId =
// // databaseReader.RetrieveDateIdByDateString(monthCalendar.SelectionStart.ToShortDateString(),
// // databaseTracker.DatabaseConnectionString);
// //var remaingingSales = _departmentSales - _salesProducedByAdItems;
// //var totalProfitReturnFromReminaingSales = remaingingSales * .3m;
// //var totalProfitReturn = _totalProfitReturnFromAdItems + totalProfitReturnFromReminaingSales;
// ////test.BuildFormFrontCompressedLayout(dateId, _departmentSales, _salesProducedByAdItems, remaingingSales,
// // //_totalProfitReturnFromAdItems, totalProfitReturnFromReminaingSales, totalProfitReturn,
// // //commentsTextBox.Text);
// //test.RenderHtmlToImage();
// //backPageTest.GenerateWeeklyInventoryControlPage(dateId);
// //backPageTest.RenderHtmlToImage();
//}
//else
//{
// if (File.Exists(Application.StartupPath + "\\" + "FrontPage.html") &&
// File.Exists(Application.StartupPath + "\\" + "Backpage.html"))
// {
// test.RenderHtmlToImage();
// backPageTest.RenderHtmlToImage();
// }
//}
//var margin = new Margins(50, 50, 0, 0);
//printDoc.DefaultPageSettings.Margins = margin;
printTestPage.PrintPage += PrintPage;
printDialog.Document = printTestPage;
printDialog.ShowDialog();
printDialog.Document = new PrintDocument();
//printTestPage.PrintPage += PrintPage;
//printDialog.Document = printTestPage;
//printDialog.ShowDialog();
//printDialog.Document = new PrintDocument();
//var dialog = new FolderBrowserDialog();
//dialog.ShowDialog();
//var path = dialog.SelectedPath;
var gen = new FrontPageGenerator();
gen.BuildFormFrontCompressedLayout(_currentActiveDate);
//var pdf = gen.RenderHtmlCodeToImage(path + "\\FrontPage.html", path + "\\Image.pdf");
//var doc = new PrintDocument();
//doc.PrintPage += RenderPage;
//var spam = new PrintPreviewDialog {Document = doc};
//spam.ShowDialog();
//var form = new Test();
//form.ShowDialog();
}
private void RenderPage(object sender, PrintPageEventArgs e)
{
var dialog = new FolderBrowserDialog();
dialog.ShowDialog();
var path = dialog.SelectedPath;
var gen = new FrontPageGenerator();
var pdf = gen.RenderHtmlCodeToImage(path + "\\FrontPage.html", path + "\\Image.pdf");
e.Graphics.DrawString(pdf.ToString(), DefaultFont, new SolidBrush(Color.Black), 1000, 1000);
e.Graphics.PageUnit = GraphicsUnit.Inch;
}
#endregion
@@ -500,7 +524,7 @@ namespace AdvertsingProfitControl
var adSpecialIndex = -1;
decimal totalSales = 0;
decimal totalProfitReturn = 0;
var projections = db.Projections.Where(x => x.WeekEndingDate.Id == dateRecord.Id).Select(x => x);
var projections = db.Projections.Where(x => x.WeekEndingDate.Id == dateRecord.Id).Select(x => x).OrderBy(x => x.RowPosition);
foreach (var p in projections)
{
@@ -558,7 +582,7 @@ namespace AdvertsingProfitControl
{
var db = new AdvertisingProfitControlModel();
var adSpecialIndex = -1;
var inventories = db.Inventories.Where(x => x.WeekEndingDate.Id == dateRecord.Id).Select(x => x);
var inventories = db.Inventories.Where(x => x.WeekEndingDate.Id == dateRecord.Id).Select(x => x).OrderBy(x => x.RowPosition);
foreach (var i in inventories)
{
@@ -592,7 +616,7 @@ namespace AdvertsingProfitControl
var adSpecialIndex = -1;
decimal totalSales = 0;
decimal totalProfitReturn = 0;
var actualSales = db.ActualSales.Where(x => x.WeekEndingDate.Id == dateRecord.Id).Select(x => x);
var actualSales = db.ActualSales.Where(x => x.WeekEndingDate.Id == dateRecord.Id).Select(x => x).OrderBy(x => x.RowPosition);
foreach (var a in actualSales)
{
@@ -1124,5 +1148,13 @@ namespace AdvertsingProfitControl
var result = (decimal) form.Shrink / 100;
CalculateProfitAnalysis(result);
}
private void testToolStripMenuItem_Click(object sender, EventArgs e)
{
var page = new FrontPageGenerator();
page.RenderHtmlCodeToImage("C:\\Users\\Crypto\\Desktop\\TestPage.html",
"C:\\Users\\Crypto\\Desktop\\FrontTest.pdf");
}
}
}