public void Generate(IPriceList priceList, FileInfo template, string outputFileName) { lock (WordApplication.SyncRoot) { WordApplication application = WordApplication.Instance; try { WordDocument document = application.OpenDocument(template.FullName); _replacements.Apply(document.Content, priceList); foreach (WordSection section in document.Sections) { foreach (var header in section.Headers) { _replacements.Apply(header.Range, priceList); } foreach (var footer in section.Footers) { _replacements.Apply(footer.Range, priceList); } } document.Content.UpdateFields(); document.SaveAs(outputFileName, WdSaveFormat.wdFormatPDF); document.Close(false); } finally { application.Quit(false); } } }
public Checkout(IPricingRules pricingRules, IPriceList priceList) { _client = pricingRules.GetClient(); _offers = pricingRules.GetPricingRules(); _prices = priceList.GetPriceList(); _itemCounters = new Dictionary <Product, int>(); }
public void Generate(IPriceList priceList, FileInfo template, string outputFileName) { lock (WordApplication.SyncRoot) { WordApplication application = WordApplication.Instance; try { WordDocument document = application.OpenDocument(template.FullName); _replacements.Apply(document.Content, priceList); foreach (WordSection section in document.Sections) { foreach (var header in section.Headers) { _replacements.Apply(header.Range, priceList); } foreach (var footer in section.Footers) { _replacements.Apply(footer.Range, priceList); } } document.Content.UpdateFields(); document.SaveAs(outputFileName, WdSaveFormat.wdFormatPDF); document.Close(false); } finally { application.Quit(false); } } }
private void ScanMultipleItems(IPricingRules pricingRules, IPriceList priceList, string items, double total) { // Arrange var checkout = new Checkout(pricingRules, priceList); var list = items.Split(','); // Act foreach (var t in list) { Product result; Enum.TryParse(t, true, out result); checkout.Add(result); } // Assert Assert.AreEqual(total, checkout.Total); }
//protected Dictionary<string, Decimal> PriceList = new Dictionary<string, decimal>() { { "APPLE", 0.45M }, { "ORANGE", 0.65M } }; public Decimal Price(string[] items, IPriceList priceList, bool isCombineSameOffer = true) { // prep for combined special pricing priceList.Clear(); var unique = items.Distinct(); foreach (var u in unique) { if (isCombineSameOffer) { priceList.Price(u, items.Where(x => x == u).Count()); } else { priceList.PriceNotCombined(u, items.Where(x => x == u).Count()); } } return(priceList.GetPrice()); }
public InvoicesProducer(IInvoicesRepository repository, IPriceList priceList) { this.repository = repository; this.priceList = priceList; }
public FoCateringOperations(IPriceList priceList) { PriceList = priceList; }
public OptimalPackageCalculator(IOptimalPackageRepository repository, IPriceList priceList) { this.repository = repository; this.priceList = priceList; }
public FoCateringOperations(IPriceList priceList) { PriceList = priceList; }
public Decimal Price(string itemName, IPriceList priceList, bool isCombineSameOffer = true) { shoppingList.Add(itemName); return(_shopCart.Price(shoppingList.ToArray(), priceList, isCombineSameOffer)); }