@ -10,14 +10,14 @@ namespace Gremlin_BlazorServer.Services
private readonly GenericTypeController < Account > accountService = new ( ) ;
private readonly GenericTypeController < CustomDescription > customDescriptionService = new ( ) ;
public async Task < StringBuilder > CreateTex Async ( Quote quote )
public StringBuilder CreateTex ( Quote quote )
{
StringBuilder texStringBuilder = await CreateTexFile Async ( quote ) ;
StringBuilder texStringBuilder = CreateTexFile ( quote ) ;
string correctedTex = Replace ( texStringBuilder . ToString ( ) ) ;
return new ( correctedTex ) ;
}
private async Task < StringBuilder > CreateBriefkopf Async ( Contact recipient , bool tex = false )
private StringBuilder CreateBriefkopf ( Contact recipient , bool tex = false )
{
StringBuilder briefkopf = new ( ) ;
@ -42,7 +42,7 @@ namespace Gremlin_BlazorServer.Services
return briefkopf ;
}
private async Task < StringBuilder > CreateTexFile Async ( Quote quote )
private StringBuilder CreateTexFile ( Quote quote )
{
const string rand = "2" ; //RUSettingModel.GetSettingValue(Properties.Settings.Default.userSettingID, "texRand");
@ -96,7 +96,7 @@ namespace Gremlin_BlazorServer.Services
texFile . AppendLine ( $"Mobil:&{quote.SalesRep.MobileNumber}\\\\" ) ;
texFile . AppendLine ( $"E-Mail:&\\href{{mailto:{quote.SalesRep.EMail}}}{{{quote.SalesRep.EMail}}}\\\\" ) ;
texFile . AppendLine ( "\\textbf{Auftragsannahme:}&\\href{mailto:salesservices\\_germany@agilent.com}{salesservices\\_germany@agilent.com}\\\\\n\\hline\n\\end{tabular}\n}\\\\" ) ;
texFile . Append ( await CreateBriefkopf Async ( quote . Recipient , true ) ) ;
texFile . Append ( CreateBriefkopf ( quote . Recipient , true ) ) ;
texFile . AppendLine ( "&\\\\\n&\\\\\n\\end{tabular}\n\\vspace{1cm}\\par " ) ;
//Anrede
@ -105,10 +105,10 @@ namespace Gremlin_BlazorServer.Services
: texFile . AppendLine ( $"Sehr geehrte Frau {quote.Recipient.LastName},\\par " ) ;
//Anschreiben
texFile . AppendLine ( await CreateCoverletter Async ( quote ) ) ;
texFile . AppendLine ( CreateCoverletter ( quote ) ) ;
//RB-Disclaimer
if ( quote . QuoteContainsRb ) texFile . AppendLine ( await CreateRbDisclaimer Async ( quote ) ) ;
if ( quote . QuoteContainsRb ) texFile . AppendLine ( CreateRbDisclaimer ( quote ) ) ;
//Tabelle
texFile . AppendLine ( "\\begin{center}" ) ;
@ -213,7 +213,7 @@ namespace Gremlin_BlazorServer.Services
return texFile ;
}
private async Task < string > CreateRbDisclaimer Async ( Quote quote )
private string CreateRbDisclaimer ( Quote quote )
{
Random r = new ( ) ;
@ -226,10 +226,17 @@ namespace Gremlin_BlazorServer.Services
foreach ( LineItem lineItemWithRb in lineItemsWithRb )
{
CustomDescription customDescription = genericController . Get < CustomDescription > ( cD = > cD . ProductNumber . Equals ( lineItemWithRb . ProductNumber ) & & cD . OptionNumber . Equals ( lineItemWithRb . OptionNumber ) ) ;
CustomDescription ? customDescription = genericController . Get < CustomDescription > ( cD = > cD . ProductNumber . Equals ( lineItemWithRb . ProductNumber ) & & cD . OptionNumber . Equals ( lineItemWithRb . OptionNumber ) ) ;
int rbcount = 4 ; //Get count of RB?
rbDisclaimer + = $"{lineItemWithRb.ProductNumber} & {customDescription.Heading} & {rbcount}\\\\ \n" ;
if ( customDescription ! = null )
{
int rbcount = 4 ; //Get count of RB?
rbDisclaimer + = $"{lineItemWithRb.ProductNumber} & {customDescription.Heading} & {rbcount}\\\\ \n" ;
}
else
{
//TODO: Create new cD
}
}
rbDisclaimer + = "\\end{tabular}\n\\end{center}\n" ;
@ -262,16 +269,16 @@ namespace Gremlin_BlazorServer.Services
return dreipp ;
}
private async Task < string > GetCoverletterRow Async ( LineItem lineItem )
private string GetCoverletterRow ( LineItem lineItem )
{
CustomDescription customDescription = genericController . Get < CustomDescription > ( cD = > cD . ProductNumber . Equals ( lineItem . ProductNumber ) & & cD . OptionNumber . Equals ( lineItem . OptionNumber ) ) ;
if ( customDescription = = null ) return null ;
CustomDescription ? customDescription = genericController . Get < CustomDescription > ( cD = > cD . ProductNumber . Equals ( lineItem . ProductNumber ) & & cD . OptionNumber . Equals ( lineItem . OptionNumber ) ) ;
if ( customDescription = = null ) return string . Empty ;
return customDescription . CoverletterText = = ""
? $"\\item {customDescription.Heading} (\\#{lineItem.Position})\n"
: $"\\item {customDescription.CoverletterText} (\\#{lineItem.Position})\n" ;
}
private async Task < string > CreateCoverletter Async ( Quote quote )
private string CreateCoverletter ( Quote quote )
{
bool subitem = false ;
string coverLetter = $"nachfolgend erhalten Sie Ihr gewünschtes Angebot über ein(e) {quote.Description}.\\\\\n" + "Es umfasst im Einzelnen:\n" + "\\begin{itemize}\n" ;
@ -297,7 +304,7 @@ namespace Gremlin_BlazorServer.Services
coverLetter + = "\\begin{itemize}\n" ;
}
}
coverLetter + = await GetCoverletterRow Async ( lineItem ) ;
coverLetter + = GetCoverletterRow ( lineItem ) ;
}
if ( subitem )