update document

This commit is contained in:
Tyrel Souza 2023-07-27 16:57:50 -04:00
parent 9af88075ac
commit 1592002820
No known key found for this signature in database
GPG Key ID: F3614B02ACBE438E

View File

@ -11,11 +11,11 @@ namespace BenchtopPDF
{ {
public static Image LogoImage { get; } = Image.FromFile("BenchTopLogo.jpg"); public static Image LogoImage { get; } = Image.FromFile("BenchTopLogo.jpg");
public Sheet Model { get; } public Sheet Sheet { get; }
public SheetDocument(Sheet model) public SheetDocument(Sheet model)
{ {
Model = model; Sheet = model;
} }
public DocumentMetadata GetMetadata() => DocumentMetadata.Default; public DocumentMetadata GetMetadata() => DocumentMetadata.Default;
@ -56,7 +56,7 @@ namespace BenchtopPDF
column.Item().Text(text => column.Item().Text(text =>
{ {
text.Span("Issue date: ").SemiBold(); text.Span("Issue date: ").SemiBold();
text.Span($"{Model.IssueDate:d}"); // text.Span($"{Sheet.IssueDate:d}");
}); });
}); });
@ -66,24 +66,26 @@ namespace BenchtopPDF
void ComposeContent(IContainer container) void ComposeContent(IContainer container)
{ {
container.PaddingVertical(40).Column(column => container.PaddingVertical(40).Column(column =>
{ {
column.Spacing(20); column.Spacing(20);
column.Item().Row(row => column.Item().Row(row =>
{ {
row.RelativeItem().Component(new AddressComponent("From", Model.SellerAddress)); row.RelativeItem().Component(new AddressComponent("From"));
row.ConstantItem(50); row.ConstantItem(50);
row.RelativeItem().Component(new AddressComponent("For", Model.CustomerAddress)); row.RelativeItem().Component(new AddressComponent("For"));
}); });
column.Item().Element(ComposeTable); foreach (var item in Sheet.Transducers) {
column.Item().Element(ComposeTable);
}
var totalPrice = Model.Items.Sum(x => x.Price * x.Quantity); // var totalPrice = Sheet.Items.Sum(x => x.Price * x.Quantity);
column.Item().PaddingRight(5).AlignRight().Text($"Grand total: {totalPrice:C}").SemiBold(); // column.Item().PaddingRight(5).AlignRight().Text($"Grand total: {totalPrice:C}").SemiBold();
if (!string.IsNullOrWhiteSpace(Model.Comments)) // if (!string.IsNullOrWhiteSpace(Sheet.Comments))
column.Item().PaddingTop(25).Element(ComposeComments); // column.Item().PaddingTop(25).Element(ComposeComments);
}); });
} }
@ -95,8 +97,9 @@ namespace BenchtopPDF
{ {
table.ColumnsDefinition(columns => table.ColumnsDefinition(columns =>
{ {
columns.ConstantColumn(25); columns.RelativeColumn();
columns.RelativeColumn(3); columns.RelativeColumn();
columns.RelativeColumn();
columns.RelativeColumn(); columns.RelativeColumn();
columns.RelativeColumn(); columns.RelativeColumn();
columns.RelativeColumn(); columns.RelativeColumn();
@ -104,24 +107,26 @@ namespace BenchtopPDF
table.Header(header => table.Header(header =>
{ {
header.Cell().Text("#"); header.Cell().Text("Point #").Style(headerStyle);
header.Cell().Text("Product").Style(headerStyle); header.Cell().AlignRight().Text("Master Value").Style(headerStyle);
header.Cell().AlignRight().Text("Unit price").Style(headerStyle); header.Cell().AlignRight().Text("Low Limit").Style(headerStyle);
header.Cell().AlignRight().Text("Quantity").Style(headerStyle); header.Cell().AlignRight().Text("High Limit").Style(headerStyle);
header.Cell().AlignRight().Text("Total").Style(headerStyle); header.Cell().AlignRight().Text("DUT").Style(headerStyle);
header.Cell().AlignRight().Text("Delta").Style(headerStyle);
header.Cell().ColumnSpan(5).PaddingTop(5).BorderBottom(1).BorderColor(Colors.Black); header.Cell().ColumnSpan(6).PaddingTop(5).BorderBottom(1).BorderColor(Colors.Black);
}); });
foreach (var item in Model.Items) foreach (var item in Sheet.Transducers)
{ {
var index = Model.Items.IndexOf(item) + 1; var index = Sheet.Transducers.IndexOf(item) + 1;
table.Cell().Element(CellStyle).Text($"{index}"); table.Cell().Element(CellStyle).Text($"{index}");
table.Cell().Element(CellStyle).Text(item.Name); table.Cell().Element(CellStyle).Text(item.PartNumber);
table.Cell().Element(CellStyle).AlignRight().Text($"{item.Price:C}"); table.Cell().Element(CellStyle).AlignRight().Text($"{item.Accuracy}");
table.Cell().Element(CellStyle).AlignRight().Text($"{item.Quantity}"); table.Cell().Element(CellStyle).AlignRight().Text($"{item.TransducerName}");
table.Cell().Element(CellStyle).AlignRight().Text($"{item.Price * item.Quantity:C}"); table.Cell().Element(CellStyle).AlignRight().Text($"{item.VerifyDate}");
table.Cell().Element(CellStyle).AlignRight().Text($"{item.VerifyDate}");
static IContainer CellStyle(IContainer container) => container.BorderBottom(1).BorderColor(Colors.Grey.Lighten2).PaddingVertical(5); static IContainer CellStyle(IContainer container) => container.BorderBottom(1).BorderColor(Colors.Grey.Lighten2).PaddingVertical(5);
} }
@ -134,7 +139,7 @@ namespace BenchtopPDF
{ {
column.Spacing(5); column.Spacing(5);
column.Item().Text("Comments").FontSize(14).SemiBold(); column.Item().Text("Comments").FontSize(14).SemiBold();
column.Item().Text(Model.Comments); // column.Item().Text(Sheet.Comments);
}); });
} }
} }
@ -142,12 +147,10 @@ namespace BenchtopPDF
public class AddressComponent : IComponent public class AddressComponent : IComponent
{ {
private string Title { get; } private string Title { get; }
private Address Address { get; }
public AddressComponent(string title)
public AddressComponent(string title, Address address)
{ {
Title = title; Title = title;
Address = address;
} }
public void Compose(IContainer container) public void Compose(IContainer container)
@ -155,15 +158,9 @@ namespace BenchtopPDF
container.ShowEntire().Column(column => container.ShowEntire().Column(column =>
{ {
column.Spacing(2); column.Spacing(2);
column.Item().Text(Title).SemiBold(); column.Item().Text(Title).SemiBold();
column.Item().PaddingBottom(5).LineHorizontal(1); column.Item().PaddingBottom(5).LineHorizontal(1);
column.Item().Text(Address.CompanyName);
column.Item().Text(Address.Street);
column.Item().Text($"{Address.City}, {Address.State}");
column.Item().Text(Address.Email);
column.Item().Text(Address.Phone);
}); });
} }
} }