Add Deliveries
This commit is contained in:
@ -3,16 +3,21 @@ using Elwig.Models;
|
||||
namespace Elwig.Documents {
|
||||
public abstract class BusinessDocument : Document {
|
||||
|
||||
public Member Member;
|
||||
|
||||
public BusinessDocument(string title, Member m) : base(title) {
|
||||
Member = m;
|
||||
}
|
||||
|
||||
public Member Member { get; set; }
|
||||
|
||||
public string Address {
|
||||
get {
|
||||
// TODO Name/Rechnungsadresse
|
||||
return $"{Member.GivenName} {Member.FamilyName}\n{Member.Address}";
|
||||
var b = Member.BillingAddress;
|
||||
var plz = (b == null) ? Member.PostalDest.AtPlz : b.PostalDest.AtPlz;
|
||||
if (b != null) {
|
||||
return $"{b.Name}\n{b.Address}\n{plz.Plz} {plz.Dest}";
|
||||
} else {
|
||||
return $"{Member.Name}\n{Member.Address}\n{plz.Plz} {plz.Dest}";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
32
Elwig/Documents/DeliveryNote.cshtml
Normal file
32
Elwig/Documents/DeliveryNote.cshtml
Normal file
@ -0,0 +1,32 @@
|
||||
@using RazorLight
|
||||
@inherits TemplatePage<Elwig.Documents.DeliveryNote>
|
||||
@model Elwig.Documents.DeliveryNote
|
||||
@{ Layout = "BusinessDocument"; }
|
||||
|
||||
<h1>Traubenübernahmeschein Nr. @Model.Delivery.LsNr</h1>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<td rowspan="2">Sorte</td>
|
||||
<td rowspan="2">Qualitätsstufe</td>
|
||||
<td colspan="2">Gradation</td>
|
||||
<td>Gewicht</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>°KMW</td>
|
||||
<td>°Oe</td>
|
||||
<td>kg</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach (var part in Model.Delivery.Parts.OrderBy(p => p.DPNr)) {
|
||||
<tr>
|
||||
<td>@part.Variant.Name</td>
|
||||
<td>@part.Quality.Name</td>
|
||||
<td>@part.Kmw</td>
|
||||
<td>@part.Oe</td>
|
||||
<td>@part.Weight</td>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
12
Elwig/Documents/DeliveryNote.cshtml.cs
Normal file
12
Elwig/Documents/DeliveryNote.cshtml.cs
Normal file
@ -0,0 +1,12 @@
|
||||
using Elwig.Models;
|
||||
|
||||
namespace Elwig.Documents {
|
||||
public class DeliveryNote : BusinessDocument {
|
||||
|
||||
public Delivery Delivery;
|
||||
|
||||
public DeliveryNote(Delivery d) : base($"Lieferschein {d.LsNr}", d.Member) {
|
||||
Delivery = d;
|
||||
}
|
||||
}
|
||||
}
|
@ -5,8 +5,8 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de-AT">
|
||||
<head>
|
||||
<title>@Model.Title</title>
|
||||
<meta charset="UTF-8"/>
|
||||
<title>@Model.Title</title>
|
||||
<meta charset="UTF-8"/>
|
||||
<script>
|
||||
window.PagedConfig = { auto: false };
|
||||
if (!navigator.webdriver) {
|
||||
|
@ -43,8 +43,10 @@ namespace Elwig.Documents {
|
||||
string name;
|
||||
if (this is BusinessLetter) {
|
||||
name = "BusinessLetter";
|
||||
} else if (this is DeliveryNote) {
|
||||
name = "DeliveryNote";
|
||||
} else {
|
||||
throw new InvalidOperationException();
|
||||
throw new InvalidOperationException("Invalid document object");
|
||||
}
|
||||
return await Html.CompileRenderAsync(name, this);
|
||||
}
|
||||
|
@ -17,6 +17,7 @@ namespace Elwig.Documents {
|
||||
await e.CompileTemplateAsync("Document");
|
||||
await e.CompileTemplateAsync("BusinessDocument");
|
||||
await e.CompileTemplateAsync("BusinessLetter");
|
||||
await e.CompileTemplateAsync("DeliveryNote");
|
||||
|
||||
Engine = e;
|
||||
evtHandler();
|
||||
|
@ -136,6 +136,11 @@ footer {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
@page {
|
||||
size: A4;
|
||||
margin: 25mm 0 35mm 0;
|
||||
|
Reference in New Issue
Block a user