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); }
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)); }
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())); }