@using Yavsc.Helpers @using System.Globalization @model Estimate @{ Layout = null; var pro = Model.Query.PerformerProfile; var from = Model.Query.PerformerProfile.Performer; var to = Model.Query.Client; var PostalAddress = (to.PostalAddress!=null) ? to.PostalAddress.Address.Replace("\n","\\\\\n") : null ; var proaddr = Model.Query?.PerformerProfile.OrganizationAddress.Address; var proaddrn = (proaddr!=null) ? proaddr.NewLinesWith("\\\\\n") : null ; var proaddrm = (proaddr!=null) ? proaddr.NewLinesWith(" - ") : null ; }\documentclass[french,11pt]{article} \usepackage{eurosym} \usepackage{babel} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage[a4paper]{geometry} \usepackage{units} \usepackage{bera} \usepackage{graphicx} \usepackage{fancyhdr} \usepackage{fp} \def\TVA{20} % Taux de la TVA \def\TotalHT{0} \def\TotalTVA{0} \newcommand{\AjouterService}[3]{% Arguments : Désignation, quantité, prix \FPround{\prix}{#3}{2} \FPeval{\montant}{#2 * #3} \FPround{\montant}{\montant}{2} \FPadd{\TotalHT}{\TotalHT}{\montant} \eaddto\ListeProduits{#1 & \prix & #2 & \montant \cr} } \newcommand{\AfficheResultat}{% \ListeProduits \FPeval{\TotalTVA}{\TotalHT * \TVA / 100} \FPadd{\TotalTTC}{\TotalHT}{\TotalTVA} \FPround{\TotalHT}{\TotalHT}{2} \FPround{\TotalTVA}{\TotalTVA}{2} \FPround{\TotalTTC}{\TotalTTC}{2} \global\let\TotalHT\TotalHT \global\let\TotalTVA\TotalTVA \global\let\TotalTTC\TotalTTC \cr \hline \textbf{Total} & & & \TotalHT } \newcommand*\eaddto[2]{% version développée de \addto \edef\tmp{#2}% \expandafter\addto \expandafter#1% \expandafter{\tmp}% } \newcommand{\ListeProduits}{} %%%%%%%%%%%%%%%%%%%%% A MODIFIER DANS LA FACTURE %%%%%%%%%%%%%%%%%%%%% \def\FactureNum {@Model.Id.ToString()} % Numéro de facture \def\FactureAcquittee {non} % Facture acquittée : oui/non \def\FactureLieu {@proaddrn} % Lieu de l'édition de la facture \def\FactureObjet {Facture : @TeXHelpers.ToTeX(Model.Title)} % Objet du document % Description de la facture \def\FactureDescr { @TeXHelpers.ToTeX(Model.Description) } % Infos Client \def\ClientNom{@TeXHelpers.ToTeX(to.UserName)} % Nom du client \def\ClientAdresse{ % Adresse du client @if (!string.IsNullOrWhiteSpace(PostalAddress)) { @TeXHelpers.ToTeX(PostalAddress)\\ } @if (!string.IsNullOrWhiteSpace(to.PhoneNumber)) { @TeXHelpers.ToTeX(to.PhoneNumber)\\ } E-mail: @TeXHelpers.ToTeX(to.Email) } % Liste des produits facturés : Désignation, prix @if (Model.Bill!=null) { foreach (CommandLine line in Model.Bill) { \AjouterService{@TeXHelpers.ToTeX(line.Description)}{@line.Count}{@line.UnitaryCost.ToString("F2",CultureInfo.InvariantCulture)} } } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \geometry{verbose,tmargin=4em,bmargin=8em,lmargin=6em,rmargin=6em} \setlength{\parindent}{0pt} \setlength{\parskip}{1ex plus 0.5ex minus 0.2ex} \thispagestyle{fancy} \pagestyle{fancy} \setlength{\parindent}{0pt} \renewcommand{\headrulewidth}{0pt} \cfoot{ @TeXHelpers.ToTeX(from.UserName) @if (!string.IsNullOrWhiteSpace(proaddrm)) { - @TeXHelpers.ToTeX(proaddrm) } \newline \small{ E-mail: @TeXHelpers.ToTeX(from.Email) @if (!string.IsNullOrWhiteSpace(from.PhoneNumber)) { - Téléphone fixe: @TeXHelpers.ToTeX(from.PhoneNumber) } } } \begin{document} % Logo de la société @if (from.Avatar != null) { \includegraphics{@from.Avatar} } else { %\includegraphics{logo.png} } % Nom et adresse de la société @TeXHelpers.ToTeX(from.UserName) \\ @TeXHelpers.ToTeX(proaddrn) Facture n°\FactureNum {\addtolength{\leftskip}{10.5cm} %in ERT \textbf{\ClientNom} \\ \ClientAdresse \\ } %in ERT \hspace*{10.5cm} \FactureLieu, le \today ~\\~\\ \textbf{Objet : \FactureObjet \\} \textnormal{\FactureDescr} ~\\ \begin{center} \begin{tabular}{lrrr} \textbf{Désignation ~~~~~~} & \textbf{Prix unitaire} & \textbf{Quantité} & \textbf{Montant (\euro)} \\ \hline \AfficheResultat{} \end{tabular} \end{center} \begin{flushright} \textit{Auto entreprise en franchise de TVA}\\ \end{flushright} ~\\ \ifthenelse{\equal{\FactureAcquittee}{oui}}{ Facture acquittée. }{ @{ var bi = from.BankInfo; if (bi!=null) { À régler par chèque ou par virement bancaire : \begin{center} \begin{tabular}{|c c c c|} @if (!string.IsNullOrWhiteSpace(bi.BankCode) && !string.IsNullOrWhiteSpace(bi.WicketCode) && !string.IsNullOrWhiteSpace(bi.AccountNumber) ) { \hline \textbf{Code banque} & \textbf{Code guichet} & \textbf{N° de Compte} & \textbf{Clé RIB} \\ @bi.BankCode & @bi.WicketCode & @bi.AccountNumber & @bi.BankedKey \\ } @if (!string.IsNullOrWhiteSpace(@bi.IBAN) && !string.IsNullOrWhiteSpace(@bi.BIC)) { \hline \textbf{IBAN N°} & \multicolumn{3}{|l|}{ @bi.IBAN } \\ \hline \textbf{Code BIC} & \multicolumn{3}{|l|}{ @bi.BIC } } \\ \hline \end{tabular} \end{center} } } } \end{document}