//public void CopyFrom(CBasket src) //{ // TotalAmount = src.TotalAmount; // int cnt = src.GetBasketItemCount(); // for (int i = 0; i < cnt; i++) // { // CBasketItem bi = src.GetBasketItem(i); // AddBasketItem(bi); // } //} public void CopyEntireFrom(CBasket src) { TotalAmount = src.TotalAmount; BundledAmount = src.BundledAmount; int cnt = src.GetBasketItemCount(); for (int i = 0; i < cnt; i++) { CBasketItem bi = src.GetBasketItem(i); CBasketItem nbi = new CBasketItem(bi.Key, bi.Item, bi.Quantity); nbi.SetFinalDiscount(bi.GetFinalDiscount()); nbi.IsFinalDiscounted = bi.IsFinalDiscounted; nbi.IsPostGift = bi.IsPostGift; nbi.IsTray = bi.IsTray; if (bi.IsPriced()) { nbi.SetUnitPrice(bi.GetUnitPrice()); } nbi.SetDiscount(bi.GetDiscount()); AddBasketItem(nbi); } }
private CBasketSet finalizeOutput(CBasketSet input, CBasket trackingBasket, CBasket used, CBasket free) { CBasketSet output = new CBasketSet(); if ((used == null) && (free == null)) { return(input); } //The original ones preserveOriginalGrouping(output, input); output.AddBasket(finalizeBasket(trackingBasket, BasketTypeEnum.Available)); CBasket bundled = finalizeBasket(used, BasketTypeEnum.Bundled); output.AddBasket(bundled); int cnt = bundled.GetBasketItemCount(); for (int i = 0; i < cnt; i++) { CBasketItem bi = bundled.GetBasketItem(i); bi.SetUnitPrice(0.00); } MPackage pkg = getPackage(); bundled.SetAppliedPackage(getPackage()); bundled.BundledAmount = triedCount * CUtil.StringToDouble(pkg.BundleAmount); return(output); }
public CBasketItemDisplay(CTable tb) { initWeight(); basketType = (BasketTypeEnum)CUtil.StringToInt(tb.GetFieldValue("BASKET_TYPE")); basket = new CBasket(basketType); grpNum = CUtil.StringToInt(tb.GetFieldValue("GROUP_NO")); sequence = CUtil.StringToInt(tb.GetFieldValue("GROUP_NO")); double qty = CUtil.StringToDouble(tb.GetFieldValue("QUANTITY")); double amt = CUtil.StringToDouble(tb.GetFieldValue("AMOUNT")); double tot = CUtil.StringToDouble(tb.GetFieldValue("TOTAL_AMOUNT")); double discount = CUtil.StringToDouble(tb.GetFieldValue("DISCOUNT")); Boolean isPriced = tb.GetFieldValue("IS_PRICED").Equals("Y"); String code = tb.GetFieldValue("CODE"); sequence = 1; id = tb.GetFieldValue("BILL_SIM_DISPLAY_ID"); //CTable o = new CTable(""); si = new MSelectedItem(tb); si.TrayFlag = tb.GetFieldValue("IS_TRAY"); isTray = si.TrayFlag.Equals("Y"); si.EnabledFlag = "Y"; si.VoucherID = tb.GetFieldValue("VOUCHER_ID"); si.VoucherNo = tb.GetFieldValue("VOUCHER_CODE"); si.VoucherName = tb.GetFieldValue("VOUCHER_NAME"); si.FreeText = tb.GetFieldValue("FREE_TEXT"); bki = new CBasketItem(code, si, qty, amt); bki.SetDiscount(discount); if (qty != 0) { if (isPriced) { bki.SetUnitPrice(amt / qty); } } amount = amt; totalAmount = tot; }
private CBasketItem calculatePrice(CBasketItem bi) { MPackage pkg = getPackage(); CBasketItem nbi = new CBasketItem(bi.Key, bi.Item, bi.Quantity); foreach (MPackagePrice pp in pkg.PackageItemPrices) { if (pp.EnabledFlag.Equals("N")) { continue; } if (!isItemApplicable(pp, bi)) { continue; } MIntervalConfig ivc = new MIntervalConfig(new CTable("")); ivc.DeserializeConfig(pp.PricingDefination); CPrice o = null; if (ivc.SelectionType == 1) { //step o = getStepPrice(ivc, bi); } else { //Tier o = getTierPrice(ivc, bi); } if (o != null) { nbi.SetAppliedPackage(pkg); nbi.SetUnitPrice(o.UnitPrice); return(nbi); } } return(null); }
private CBasketItem calculateDiscount(CBasketItem bi) { MPackage pkg = getPackage(); MSelectedItem vi = (MSelectedItem)bi.Item; CBasketItem nbi = new CBasketItem(bi.Key, bi.Item, bi.Quantity); nbi.SetUnitPrice(bi.GetUnitPrice()); foreach (MPackageTrayPriceDiscount pp in pkg.PackageTrayByItems) { if (!isItemApplicable(pp, bi)) { continue; } MIntervalConfig ivc = new MIntervalConfig(new CTable("")); ivc.DeserializeConfig(pp.DiscountDefination); CPrice o = null; if (ivc.SelectionType == 1) { //step o = getStepDiscount(ivc, bi); } else { //Tier o = getTierDiscount(ivc, bi); } if (o != null) { nbi.SetAppliedPackage(pkg); nbi.SetDiscount(o.DiscountAmount); return(nbi); } } return(null); }
private CBasketItem calculatePrice(CBasketItem bi) { CBasketItem nbi = new CBasketItem(bi.Key, bi.Item, bi.Quantity); MSelectedItem si = (MSelectedItem)bi.Item; String pricingDef = si.PricingDefination; if (si.SelectionType.Equals("1")) { pricingDef = si.ServicePricingDefinition; } MIntervalConfig ivc = new MIntervalConfig(new CTable("")); ivc.DeserializeConfig(pricingDef); CPrice o = null; if (ivc.SelectionType == 1) { //step o = getStepPrice(ivc, bi); } else { //Tier o = getTierPrice(ivc, bi); } if (o != null) { nbi.SetAppliedPackage(getPackage()); nbi.SetUnitPrice(o.UnitPrice); return(nbi); } return(null); }
private CBasketItem calculatePrice(CBasketItem bi) { MPackage pkg = getPackage(); MIntervalConfig ivc = null; CPrice o = null; Boolean applicable = false; CBasketItem nbi = new CBasketItem(bi.Key, bi.Item, bi.Quantity); foreach (MPackageTrayPriceDiscount pp in pkg.PackageTrayByItems) { if (pp.EnabledFlag.Equals("N")) { continue; } if (!isItemApplicable(pp, bi)) { continue; } //Applicable here applicable = true; ivc = new MIntervalConfig(new CTable("")); ivc.DeserializeConfig(pp.PricingDefination); o = null; if (ivc.SelectionType == 1) { //step o = getStepPrice(ivc, bi); } else { //Tier o = getTierPrice(ivc, bi); } if (o != null) { //Got the price nbi.SetAppliedPackage(pkg); nbi.SetUnitPrice(o.UnitPrice); return(nbi); } } //Applicable but price not match here, or not applicable for all if (!applicable) { //Not applicable for all return(null); } //Get Default Price here MSelectedItem si = (MSelectedItem)bi.Item; ivc = new MIntervalConfig(new CTable("")); String pricingDef = si.PricingDefination; if (si.SelectionType.Equals("1")) { pricingDef = si.ServicePricingDefinition; } ivc.DeserializeConfig(pricingDef); o = null; if (ivc.SelectionType == 1) { //step o = getStepPrice(ivc, bi); } else { //Tier o = getTierPrice(ivc, bi); } if (o != null) { nbi.SetAppliedPackage(pkg); nbi.SetUnitPrice(o.UnitPrice); return(nbi); } return(null); }