126 lines
6.8 KiB
C#
126 lines
6.8 KiB
C#
namespace Omika.Tests.Services;
|
|
|
|
/// <summary>
|
|
/// Fixtures HTML SANITISÉES reproduisant fidèlement la STRUCTURE réelle des corps
|
|
/// de courriel (balises, classes, attributs, imbrications), sans aucune donnée
|
|
/// privée (aucun nom/adresse/téléphone/email réel). Les textes sont des
|
|
/// placeholders génériques. Le CSS est le CSS générique WINDEV (non privé).
|
|
/// </summary>
|
|
internal static class EmailHtmlFixture
|
|
{
|
|
/// <summary>PNG minimal (magic bytes) encodé en Base64 (décodable, jamais rendu).</summary>
|
|
public const string PngBase64 = "iVBORw0KGgo=";
|
|
|
|
/// <summary>
|
|
/// HTML complet WINDEV (<c>DocVersHTML</c>) : <c><!DOCTYPE></c>,
|
|
/// <c><head></c> + <c><style></c> (classes .Normal/.TableauNormal/.xtab/.xcenter/.xleft/.xright),
|
|
/// <c><body></c> avec un bloc photo en TABLE IMBRIQUÉE (ligne image / ligne
|
|
/// date / ligne note) et deux tableaux de contacts en vraies cellules.
|
|
/// </summary>
|
|
public static string WinDevHtmlComplet()
|
|
{
|
|
string png = $"data:image/png;base64,{PngBase64}";
|
|
return $$"""
|
|
<!DOCTYPE html>
|
|
<html lang="fr">
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="generator" content="PCSOFT">
|
|
<title></title>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
|
|
<style type="text/css">
|
|
td * {
|
|
margin-bottom: 0 !important;
|
|
}
|
|
|
|
.Normal {
|
|
font-family:Calibri;
|
|
font-size:11pt;
|
|
line-height:108%;
|
|
margin-top:0.0pt;
|
|
margin-right:0.0pt;
|
|
margin-bottom:8.0pt;
|
|
margin-left:0.0pt;
|
|
text-indent:0.0pt;
|
|
}
|
|
|
|
.TableauNormal {
|
|
font-family:Calibri;
|
|
font-size:11pt;
|
|
}
|
|
|
|
.xtab {padding-left: 1em;}
|
|
.xcenter {margin:0 auto; display:block;}
|
|
.xleft {display:block;}
|
|
.xright {margin:0px auto; margin-right:0; display:block;}
|
|
</style>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
<p class="Normal"><span style="font-family:Arial;font-size:12pt;color:#000000;">Rapport d'intervention</span></p>
|
|
<p class="Normal"><span style="font-family:Arial;font-size:12pt;color:#000000;">Client : </span><span style="font-family:Arial;font-size:12pt;font-weight:bold;color:#000000;">Nom du client</span></p>
|
|
<p class="Normal"><span style="font-family:Arial;font-size:12pt;color:#000000;">Intervention du 15/01/2026</span></p>
|
|
|
|
<table class="TableauNormal Grilledutableau" cellspacing="0" cellpadding="0" width="auto" style="table-layout:fixed;width:239.651pt;border-collapse:collapse;">
|
|
<tbody>
|
|
<tr style="height:auto">
|
|
<td valign="top" style="border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid #000000;;width:239.7pt;padding:0.0pt 5.4pt 0.0pt 5.4pt">
|
|
<p class="Normal" style="margin-bottom:0.0pt">Photos</p>
|
|
</td>
|
|
</tr>
|
|
<tr style="height:auto">
|
|
<td valign="top" style="border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid #000000;;width:239.7pt;padding:0.0pt 5.4pt 0.0pt 5.4pt">
|
|
<table cellspacing="0" cellpadding="0" width="auto"><tbody>
|
|
<tr style="height:153.1pt">
|
|
<td valign="top" style="border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid #000000;;width:228.8pt;padding:0.0pt 5.4pt 0.0pt 5.4pt">
|
|
<p class="Normal" style="text-align:center;margin-bottom:0.0pt"><img width=305 height=206 id="Image1" src="{{png}}" alt="Image1"></p>
|
|
</td>
|
|
</tr>
|
|
<tr style="height:auto">
|
|
<td valign="top" style="border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid #000000;;width:228.8pt;padding:0.0pt 5.4pt 0.0pt 5.4pt">
|
|
<p class="Normal" style="margin-bottom:0.0pt">30/01/2026</p>
|
|
</td>
|
|
</tr>
|
|
<tr style="height:auto">
|
|
<td valign="top" style="border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid #000000;;width:228.8pt;padding:0.0pt 5.4pt 0.0pt 5.4pt">
|
|
<p class="Normal" style="margin-bottom:0.0pt">Note photo</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p class="Normal"></p>
|
|
|
|
<table class="TableauNormal Grilledutableau" cellspacing="0" cellpadding="0" width="auto" style="table-layout:fixed;width:378.005pt;border-collapse:collapse;">
|
|
<tbody>
|
|
<tr style="height:auto">
|
|
<td valign="top" style="border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid #000000;;width:75.6pt;padding:0.0pt 5.4pt 0.0pt 5.4pt"><p class="Normal" style="margin-bottom:0.0pt">Nom - Prénom</p></td>
|
|
<td valign="top" style="border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid #000000;;width:75.6pt;padding:0.0pt 5.4pt 0.0pt 5.4pt"><p class="Normal" style="margin-bottom:0.0pt">Tel. 1</p></td>
|
|
<td valign="top" style="border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid #000000;;width:75.6pt;padding:0.0pt 5.4pt 0.0pt 5.4pt"><p class="Normal" style="margin-bottom:0.0pt">Tel. 2</p></td>
|
|
<td valign="top" style="border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid #000000;;width:75.6pt;padding:0.0pt 5.4pt 0.0pt 5.4pt"><p class="Normal" style="margin-bottom:0.0pt">Rôle</p></td>
|
|
<td valign="top" style="border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid #000000;;width:75.6pt;padding:0.0pt 5.4pt 0.0pt 5.4pt"><p class="Normal" style="margin-bottom:0.0pt">Étage</p></td>
|
|
</tr>
|
|
<tr style="height:auto">
|
|
<td valign="top" style="border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid #000000;;width:75.6pt;padding:0.0pt 5.4pt 0.0pt 5.4pt"><p class="Normal" style="margin-bottom:0.0pt">Dupont Jean</p></td>
|
|
<td valign="top" style="border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid #000000;;width:75.6pt;padding:0.0pt 5.4pt 0.0pt 5.4pt"><p class="Normal" style="margin-bottom:0.0pt">04 00 00 00 00</p></td>
|
|
<td valign="top" style="border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid #000000;;width:75.6pt;padding:0.0pt 5.4pt 0.0pt 5.4pt"><p class="Normal" style="margin-bottom:0.0pt">06 00 00 00 00</p></td>
|
|
<td valign="top" style="border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid #000000;;width:75.6pt;padding:0.0pt 5.4pt 0.0pt 5.4pt"><p class="Normal" style="margin-bottom:0.0pt">Occupant</p></td>
|
|
<td valign="top" style="border-left:1pt solid #000000;border-top:1pt solid #000000;border-right:1pt solid #000000;border-bottom:1pt solid #000000;;width:75.6pt;padding:0.0pt 5.4pt 0.0pt 5.4pt"><p class="Normal" style="margin-bottom:0.0pt">4</p></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<p class="Normal"><br /><span style="font-family:Arial;font-size:12pt;color:#000000;">Fin du rapport</span></p>
|
|
</body>
|
|
|
|
</html>
|
|
""";
|
|
}
|
|
}
|