public static string PrintBill() { if (PrintingServices.ProductList.Count == 0) { throw new Exception("No products were found"); } List <Product> domesticPorducts = PrintingServices.ProductList.Where(x => x.Domestic).OrderBy(x => x.Name).ToList(); List <Product> importedProducts = PrintingServices.ProductList.Where(x => !x.Domestic).OrderBy(x => x.Name).ToList(); StringBuilder sb = new StringBuilder(PrintingServices.ReadTemplate(PrintingServices.receiptTamplatePath)); string output = sb .Replace("{domesticproducts}", PrintingServices.PrintProducts(domesticPorducts)) .Replace("{importedproducts}", PrintingServices.PrintProducts(importedProducts)) .Replace("{domesticcost}", domesticPorducts.Sum(x => x.Price).ToString()) .Replace("{importedcost}", importedProducts.Sum(x => x.Price).ToString()) .Replace("{domesticcount}", domesticPorducts.Count.ToString()) .Replace("{importedcount}", importedProducts.Count.ToString()) .ToString(); return(output); }
static void Main(string[] args) { PrintingServices.FillList(); Console.WriteLine(PrintReceiptService.PrintBill()); }