public string Start() { _console.Write("Enter Product with Unit Price \n Ex : Product1 UnitPrice \n keep Blank to end"); string[] inputs = _console.ReadTillBreak(); List <Product> products = FetchProducts(inputs); _console.Write("Enter Rules \n Ex : 3 of A's for 130 OR C & D for 30 \n keep Blank to end"); inputs = _console.ReadTillBreak(); List <IRule> rules = FetchRules(products, inputs); products = ProductQuantitySet(products); CalculateProductPrices(products); ApplyPromotionToProducts(rules); return(CalculateTotal(products)); }