Cleanup .cshtml issues
This commit is contained in:
@ -1,7 +1,7 @@
|
|||||||
@using RazorLight
|
@using RazorLight
|
||||||
@inherits TemplatePage<WGneu.Documents.BusinessDocument>
|
@inherits TemplatePage<WGneu.Documents.BusinessDocument>
|
||||||
@model WGneu.Documents.BusinessDocument
|
@model WGneu.Documents.BusinessDocument
|
||||||
@{ Layout = "Document.cshtml"; }
|
@{ Layout = "Document"; }
|
||||||
|
|
||||||
<div class="info-wrapper">
|
<div class="info-wrapper">
|
||||||
<div class="address-wrapper">
|
<div class="address-wrapper">
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
@using RazorLight
|
@using RazorLight
|
||||||
@inherits TemplatePage<WGneu.Documents.BusinessLetter>
|
@inherits TemplatePage<WGneu.Documents.BusinessLetter>
|
||||||
@model WGneu.Documents.BusinessLetter
|
@model WGneu.Documents.BusinessLetter
|
||||||
@{ Layout = "BusinessDocument.cshtml"; }
|
@{ Layout = "BusinessDocument"; }
|
||||||
|
|
||||||
<p>Sehr geehrtes Mitglied,</p>
|
<p>Sehr geehrtes Mitglied,</p>
|
||||||
<p>nein.</p>
|
<p>nein.</p>
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
<!-- TODO store paged.js locally to avoid using the internet -->
|
<!-- TODO store paged.js locally to avoid using the internet -->
|
||||||
<script src="https://unpkg.com/pagedjs/dist/paged.polyfill.js"></script>
|
<script src="https://unpkg.com/pagedjs/dist/paged.polyfill.js"></script>
|
||||||
<style>
|
<style>
|
||||||
@{ await IncludeAsync("style.css"); }
|
@{ await IncludeAsync("Style.css"); }
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
@ -40,11 +40,14 @@ namespace WGneu.Documents {
|
|||||||
public DateTime Date { get; set; }
|
public DateTime Date { get; set; }
|
||||||
|
|
||||||
private async Task<string> Render() {
|
private async Task<string> Render() {
|
||||||
|
string name;
|
||||||
if (this is BusinessLetter) {
|
if (this is BusinessLetter) {
|
||||||
return await Html.CompileRenderAsync("BusinessLetter.cshtml", this);
|
name = "BusinessLetter";
|
||||||
}
|
} else {
|
||||||
throw new InvalidOperationException();
|
throw new InvalidOperationException();
|
||||||
}
|
}
|
||||||
|
return await Html.CompileRenderAsync(name, this);
|
||||||
|
}
|
||||||
|
|
||||||
public async Task Generate() {
|
public async Task Generate() {
|
||||||
var pdf = new Utils.TemporaryFile(@"C:\Users\Lorenz\Desktop", ".pdf");
|
var pdf = new Utils.TemporaryFile(@"C:\Users\Lorenz\Desktop", ".pdf");
|
||||||
|
@ -13,11 +13,11 @@ namespace WGneu.Documents {
|
|||||||
|
|
||||||
public static async Task Init(Action evtHandler) {
|
public static async Task Init(Action evtHandler) {
|
||||||
var e = new RazorLightEngineBuilder()
|
var e = new RazorLightEngineBuilder()
|
||||||
.UseFileSystemProject(@"C:\Users\Lorenz\source\repos\WGneu\WGneu\Documents", "")
|
.UseFileSystemProject(@"C:\Users\Lorenz\source\repos\WGneu\WGneu\Documents")
|
||||||
.UseMemoryCachingProvider()
|
.UseMemoryCachingProvider()
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
await e.CompileTemplateAsync("BusinessLetter.cshtml");
|
await e.CompileTemplateAsync("BusinessLetter");
|
||||||
|
|
||||||
Engine = e;
|
Engine = e;
|
||||||
evtHandler();
|
evtHandler();
|
||||||
|
180
WGneu/Documents/Style.css.cshtml
Normal file
180
WGneu/Documents/Style.css.cshtml
Normal file
@ -0,0 +1,180 @@
|
|||||||
|
@using RazorLight
|
||||||
|
@inherits TemplatePage<WGneu.Documents.Document>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
:root {
|
||||||
|
font-family: "Times New Roman", serif;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.m1, .m2, .m3 {
|
||||||
|
height: 0;
|
||||||
|
width: 1cm;
|
||||||
|
position: fixed;
|
||||||
|
left: 0;
|
||||||
|
border-top: 1pt solid black;
|
||||||
|
}
|
||||||
|
|
||||||
|
.m1 {top: 105mm;}
|
||||||
|
.m2 {top: 148.5mm;}
|
||||||
|
.m3 {top: 210mm;}
|
||||||
|
|
||||||
|
header {
|
||||||
|
height: 45mm;
|
||||||
|
padding: 5mm;
|
||||||
|
position: absolute;
|
||||||
|
top: -25mm;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.spacing {height: 20mm;}
|
||||||
|
.info-wrapper {
|
||||||
|
width: 100%;
|
||||||
|
height:45mm;
|
||||||
|
margin: 0 0 8.46mm 0;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.address-wrapper {
|
||||||
|
height: 45mm;
|
||||||
|
width: 85mm;
|
||||||
|
margin: 0;
|
||||||
|
padding: 5mm;
|
||||||
|
position: absolute;
|
||||||
|
left: 20mm;
|
||||||
|
top: 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: flex-end;
|
||||||
|
}
|
||||||
|
|
||||||
|
.address-wrapper .sender {
|
||||||
|
flex: 17.7mm 1 1;
|
||||||
|
font-size: 8pt;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: flex-end;
|
||||||
|
padding-bottom: 2mm;
|
||||||
|
}
|
||||||
|
|
||||||
|
address {
|
||||||
|
flex: 27.3mm 1 1;
|
||||||
|
white-space: pre-line;
|
||||||
|
font-size: 12pt;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
aside {
|
||||||
|
height: 40mm;
|
||||||
|
width: 75mm;
|
||||||
|
margin: 0;
|
||||||
|
position: absolute;
|
||||||
|
left: 125mm;
|
||||||
|
top: 5mm;
|
||||||
|
}
|
||||||
|
|
||||||
|
main {
|
||||||
|
margin: 8.46mm 20mm 4.23mm 25mm;
|
||||||
|
}
|
||||||
|
|
||||||
|
main :first-child {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
main h1, main p {
|
||||||
|
font-size: 12pt;
|
||||||
|
margin: 1em 0;
|
||||||
|
text-align: justify;
|
||||||
|
widows: 3;
|
||||||
|
orphans: 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
main .date {
|
||||||
|
margin-bottom: 2em;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
main h1 {
|
||||||
|
margin-bottom: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-wrapper {
|
||||||
|
padding: 0 20mm 0 25mm;
|
||||||
|
position: running(page-footer);
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pre-footer {
|
||||||
|
margin: 4.23mm 0;
|
||||||
|
font-size: 10pt;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pre-footer .date, .pre-footer .page {
|
||||||
|
flex: 100px 1 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pre-footer .date {text-align: left;}
|
||||||
|
.pre-footer .page {text-align: right;}
|
||||||
|
.page::after {
|
||||||
|
content: "Seite 1 von 1";
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
font-size: 10pt;
|
||||||
|
border-top: 1pt solid black;
|
||||||
|
height: 25mm;
|
||||||
|
padding-top: 1mm;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@page {
|
||||||
|
size: A4;
|
||||||
|
margin: 25mm 0 35mm 0;
|
||||||
|
@@bottom-center {
|
||||||
|
content: element(page-footer);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@media screen {
|
||||||
|
body, header, .footer-wrapper {
|
||||||
|
width: 210mm;
|
||||||
|
}
|
||||||
|
header, .address-wrapper, aside, main {
|
||||||
|
border: 1px solid lightgray;
|
||||||
|
}
|
||||||
|
.m1, .m2, .m3 {display: none;}
|
||||||
|
header {top: 0;}
|
||||||
|
.spacing {height: 45mm;}
|
||||||
|
.main-wrapper {
|
||||||
|
margin-bottom: 40mm;
|
||||||
|
}
|
||||||
|
.footer-wrapper {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
background: white;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@media print {
|
||||||
|
.page::after {
|
||||||
|
content: "Seite " counter(page) " von " counter(pages);
|
||||||
|
}
|
||||||
|
.footer-wrapper {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -1,176 +0,0 @@
|
|||||||
|
|
||||||
:root {
|
|
||||||
font-family: "Times New Roman", serif;
|
|
||||||
line-height: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
* {
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.m1, .m2, .m3 {
|
|
||||||
height: 0;
|
|
||||||
width: 1cm;
|
|
||||||
position: fixed;
|
|
||||||
left: 0;
|
|
||||||
border-top: 1pt solid black;
|
|
||||||
}
|
|
||||||
|
|
||||||
.m1 {top: 105mm;}
|
|
||||||
.m2 {top: 148.5mm;}
|
|
||||||
.m3 {top: 210mm;}
|
|
||||||
|
|
||||||
header {
|
|
||||||
height: 45mm;
|
|
||||||
padding: 5mm;
|
|
||||||
position: absolute;
|
|
||||||
top: -25mm;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.spacing {height: 20mm;}
|
|
||||||
.info-wrapper {
|
|
||||||
width: 100%;
|
|
||||||
height:45mm;
|
|
||||||
margin: 0 0 8.46mm 0;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
.address-wrapper {
|
|
||||||
height: 45mm;
|
|
||||||
width: 85mm;
|
|
||||||
margin: 0;
|
|
||||||
padding: 5mm;
|
|
||||||
position: absolute;
|
|
||||||
left: 20mm;
|
|
||||||
top: 0;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: flex-end;
|
|
||||||
}
|
|
||||||
|
|
||||||
.address-wrapper .sender {
|
|
||||||
flex: 17.7mm 1 1;
|
|
||||||
font-size: 8pt;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: flex-end;
|
|
||||||
padding-bottom: 2mm;
|
|
||||||
}
|
|
||||||
|
|
||||||
address {
|
|
||||||
flex: 27.3mm 1 1;
|
|
||||||
white-space: pre-line;
|
|
||||||
font-size: 12pt;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
aside {
|
|
||||||
height: 40mm;
|
|
||||||
width: 75mm;
|
|
||||||
margin: 0;
|
|
||||||
position: absolute;
|
|
||||||
left: 125mm;
|
|
||||||
top: 5mm;
|
|
||||||
}
|
|
||||||
|
|
||||||
main {
|
|
||||||
margin: 8.46mm 20mm 4.23mm 25mm;
|
|
||||||
}
|
|
||||||
|
|
||||||
main :first-child {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
main h1, main p {
|
|
||||||
font-size: 12pt;
|
|
||||||
margin: 1em 0;
|
|
||||||
text-align: justify;
|
|
||||||
widows: 3;
|
|
||||||
orphans: 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
main .date {
|
|
||||||
margin-bottom: 2em;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
main h1 {
|
|
||||||
margin-bottom: 2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.footer-wrapper {
|
|
||||||
padding: 0 20mm 0 25mm;
|
|
||||||
position: running(page-footer);
|
|
||||||
bottom: 0;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pre-footer {
|
|
||||||
margin: 4.23mm 0;
|
|
||||||
font-size: 10pt;
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pre-footer .date, .pre-footer .page {
|
|
||||||
flex: 100px 1 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pre-footer .date {text-align: left;}
|
|
||||||
.pre-footer .page {text-align: right;}
|
|
||||||
.page::after {
|
|
||||||
content: "Seite 1 von 1";
|
|
||||||
}
|
|
||||||
|
|
||||||
footer {
|
|
||||||
font-size: 10pt;
|
|
||||||
border-top: 1pt solid black;
|
|
||||||
height: 25mm;
|
|
||||||
padding-top: 1mm;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@page {
|
|
||||||
size: A4;
|
|
||||||
margin: 25mm 0 35mm 0;
|
|
||||||
@@bottom-center {
|
|
||||||
content: element(page-footer);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@media screen {
|
|
||||||
body, header, .footer-wrapper {
|
|
||||||
width: 210mm;
|
|
||||||
}
|
|
||||||
header, .address-wrapper, aside, main {
|
|
||||||
border: 1px solid lightgray;
|
|
||||||
}
|
|
||||||
.m1, .m2, .m3 {display: none;}
|
|
||||||
header {top: 0;}
|
|
||||||
.spacing {height: 45mm;}
|
|
||||||
.main-wrapper {
|
|
||||||
margin-bottom: 40mm;
|
|
||||||
}
|
|
||||||
.footer-wrapper {
|
|
||||||
position: fixed;
|
|
||||||
bottom: 0;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
background: white;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@media print {
|
|
||||||
.page::after {
|
|
||||||
content: "Seite " counter(page) " von " counter(pages);
|
|
||||||
}
|
|
||||||
.footer-wrapper {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
Reference in New Issue
Block a user