Пример #1
0
    private static MailLayout ReplaceTemplatePlaceholder(OrderInfo orderDetails, string numOrdine, string fileName,
                                                         string orderItem)
    {
        // Refactoring futuro: builder per costruire un oggetto Order con i campi seguenti
        // Reflection sulle proprietà dell'oggetto, cercando il placeholder relativo nel template e sostituendo con il
        // valore del campo
        var name           = string.Format("{0} {1}", orderDetails.billing_address.firstname, orderDetails.billing_address.lastname);
        var shipmentHolder = string.Format("{0} {1}", orderDetails.shipping_address.firstname,
                                           orderDetails.shipping_address.lastname);
        var shipmentAddress = string.Format("{0} {1} {2}", orderDetails.shipping_address.street,
                                            orderDetails.shipping_address.city, orderDetails.shipping_address.postcode);
        var invoiceHolder = string.Format("{0} {1}", orderDetails.billing_address.firstname,
                                          orderDetails.billing_address.lastname);
        var invoiceAddress = string.Format("{0} {1}", orderDetails.billing_address.firstname,
                                           orderDetails.billing_address.lastname);
        var totalShipment = "€. " + Helper.FormatCurrency(orderDetails.shipping_amount);
        var total         = Helper.FormatCurrency(orderDetails.grand_total);

        var layoutBuilder = new LayoutBuilder(fileName);
        var templateHtml  = layoutBuilder.AddName(name)
                            .AddInvoiceHolder(invoiceHolder).AddInvoiceAddress(invoiceAddress)
                            .AddShipmentHolder(shipmentHolder).AddShipmentAddress(shipmentAddress)
                            .AddOrderItem(orderItem).AddOrderNumber(numOrdine)
                            .AddTotalShipment(totalShipment).AddTotalOrder(total).Build();

        return(templateHtml);
    }
Пример #2
0
 public void Should_Create_Layout_Template_With_Builder()
 {
     // percorso del template html
     var filePath      = @"C:\Progetti\MA\MA.Web\public\templates\template_nl.html";
     var layoutBuilder = new LayoutBuilder(filePath);
     var templateHtml  = layoutBuilder.AddName("Nome Cognome")
                         .AddInvoiceHolder("A C").AddInvoiceAddress("via address")
                         .AddShipmentHolder("Giuseppe Cristella").AddShipmentAddress("Via roma, 3")
                         .AddTotalShipment("150").AddTotalOrder("1").Build();
 }