public ProcessStatusMessage Process(Basket basket) { BasketItem[] lineArray = new BasketItem[basket.BasketItemList.Count]; basket.BasketItemList.CopyTo(lineArray, 0); Hashtable original = new Hashtable(); foreach (BasketItem line in lineArray) { string key = GetItemKey(line); if (original.ContainsKey(key)) { BasketItem orgLine = original[line.ItemCode] as BasketItem; if (orgLine != null) { orgLine.Quantity += line.Quantity; basket.BasketItemList.Remove(line); } } else { original.Add(key, line); } } return new ProcessStatusMessage(ProcessStatus.Success); }
public ProcessStatusMessage Process(Basket basket) { foreach (BasketItem line in basket.BasketItemList) { if (line.PricingStatus == PricingStatus.OK) { line.UnitPrice.Multiply(_scalingFactor); line.LinePrice = new Money(line.UnitPrice); line.LinePrice.Multiply(line.Quantity); } } return new ProcessStatusMessage(ProcessStatus.Success); }
public ProcessStatusMessage Process(Basket order) { order.TaxPrice = new Money(order.CurrencyCode, 0M); foreach (BasketItem line in order.BasketItemList) { if (line.LinePrice != null) { Money lineTax = new Money(line.LinePrice); lineTax.Multiply(_taxRate); order.TaxPrice.Add(lineTax); } } if (order.DeliveryCharge != null && order.DeliveryCharge.Amount > 0) { Money delTax = new Money(order.DeliveryCharge); delTax.Multiply(_taxRate); order.TaxPrice.Add(delTax); } return new ProcessStatusMessage(ProcessStatus.Success); }
public ProcessStatusMessage Process(Basket order) { order.DeliveryCharge = new Money(_charge); return new ProcessStatusMessage(ProcessStatus.Success); }
public virtual ProcessStatusMessage Process(Basket order) { ITextTranslator translator = _translatorFactory.GetTranslator(order.GetType(), order.CultureCode); Hashtable data = new Hashtable(); data.Add("header", order.Header); data.Add("order", order); if (!SendEmail(data, translator)) { return new ProcessStatusMessage(ProcessStatus.Error, translator.GetText("Email_send_failed")); } return new ProcessStatusMessage(ProcessStatus.Success); }
public override ProcessStatusMessage Process(Basket order) { //ToEmail = order.Header return base.Process(order); }