Esempio n. 1
0
        private string GenerateTableRowWithProductData(ProductPOCO prod)
        {
            var productNode = $@"<tr>
                                    <td>
                                        <p style='text-decoration: none; color: #5a5d64;
                                            margin-bottom: $$MARGIN_BOTTOM$$px;
                                            padding-top: $$PADDING_TOP$$px;'>$$PRODUCT_DATA$$</p>
                                    </td>
                                </tr>";

            var styledNode = Style(productNode, prod);
            var newNode    = InsertDataTo(styledNode, prod);

            return(newNode);
        }
Esempio n. 2
0
        private string InsertDataTo(string productNode, ProductPOCO prod)
        {
            StringBuilder sb          = new StringBuilder();
            var           productData = sb
                                        .Append(Order.Products[Order.Products.IndexOf(prod)].Name)
                                        .Append(" ")
                                        .Append(Order.Products[Order.Products.IndexOf(prod)].Price)
                                        .Append(" ").Append(Currency).Append(" x ")
                                        .Append(Order.Products[Order.Products.IndexOf(prod)].Quantity)
                                        .Append(" = ")
                                        .Append(Order.Products[Order.Products.IndexOf(prod)].Price * Order.Products[Order.Products.IndexOf(prod)].Quantity)
                                        .Append(" ")
                                        .Append(Currency).ToString();

            return(productNode.Replace("$$PRODUCT_DATA$$", productData));
        }
Esempio n. 3
0
        private string Style(string productNode, ProductPOCO currProd)
        {
            var paddingVal = 0;
            var marginVal  = 3;

            if (Order.Products.IndexOf(currProd) == 0)
            {
                paddingVal = 25;
            }
            if (Order.Products.IndexOf(currProd) == Order.Products.Count - 1)
            {
                marginVal = 15;
            }
            return(productNode
                   .Replace("$$MARGIN_BOTTOM$$", marginVal.ToString())
                   .Replace("$$PADDING_TOP$$", paddingVal.ToString()));
        }