public CBasketSet MergeUsedToAvailable(CBasketSet inBasket, Boolean trayFlag) { BasketTypeEnum type1 = BasketTypeEnum.Available; BasketTypeEnum type2 = BasketTypeEnum.Used; String name = "MergeUsedToAvailable"; if (trayFlag) { type1 = BasketTypeEnum.AvailableTray; type2 = BasketTypeEnum.UsedTray; name = name + "Tray"; } CBasketSet output = new CBasketSet(); CProcessingResult res = new CProcessingResult(name); res.SetInputBasketSet(inBasket.Clone()); ArrayList useds = inBasket.GetAllBasketByType(type2); ArrayList avails = inBasket.GetAllBasketByType(type1); if (avails != null) { foreach (CBasket a in avails) { //Move the original 'Available' basket CBasket na = new CBasket(type1); na.CopyEntireFrom(a); output.AddBasket(na); } } if (useds != null) { foreach (CBasket u in useds) { CBasket nb = new CBasket(type1); nb.CopyEntireFrom(u); output.AddBasket(nb); } } Hashtable filterSet = new Hashtable(); filterSet[type1] = null; filterSet[type2] = null; copyBasketsExc(output, inBasket, filterSet); res.IsOperation = true; res.SetOutputBasketSet(output); res.SetStatus(ProcessingResultStatus.ProcessingSuccess); addProcessingResult(res); return(output); }
public CBasket GetBasket(BasketTypeEnum type, int idx) { ArrayList arr = (ArrayList)baskets[type]; if (arr == null) { return(null); } CBasket b = (CBasket)arr[idx]; return(b); }
public CBasketItemDisplay(CBasketItem bi, BasketTypeEnum bt, int groupNum, int seq, CBasket bk) { initWeight(); basket = bk; basketType = bt; grpNum = groupNum; sequence = seq; bki = bi; si = (MSelectedItem)bi.Item; amount = bki.GetAmount(); totalAmount = bki.GetTotal(); }
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; }
public void AddBasket(CBasket b) { BasketTypeEnum type = b.BasketType; ArrayList arr = (ArrayList)baskets[type]; if (arr == null) { arr = new ArrayList(); baskets[type] = arr; } arr.Add(b); if (!types.Contains(type)) { types.Add(type); } }
private double getSumAmount(CBasketSet input, BasketTypeEnum type) { ArrayList baskets = input.GetAllBasketByType(type); if (baskets == null) { return(0.00); } double total = 0.00; foreach (CBasket bk in baskets) { BasketTypeEnum bt = bk.BasketType; if (type != bt) { continue; } if (!isInBasketType(bt)) { continue; } if (bt == BasketTypeEnum.Bundled) { total = total + bk.BundledAmount; } else { int cnt = bk.GetBasketItemCount(); for (int i = 0; i < cnt; i++) { CBasketItem bi = bk.GetBasketItem(i); total = total + bi.GetAmount(); } } } return(total); }
private static double getBundleAvgAmount(ArrayList sorted, int groupNo, BasketTypeEnum bundleType) { double cnt = 0.00; double amt = 0.00; foreach (CBasketItemDisplay id in sorted) { if ((id.BasketType == bundleType) && (id.GroupNo == groupNo)) { if (id.Sequence == 0) { amt = id.BundledAmount; } cnt = cnt + id.Quantity; } } return(amt / cnt); }
private Boolean isInBasketType(BasketTypeEnum bt) { MPackage pkg = getPackage(); MBasketTypeConfig cfg = new MBasketTypeConfig(new CTable("")); cfg.DeserializeConfig(pkg.DiscountBasketTypeConfig, pkg.BasketConfigType); foreach (MMasterRef vm in cfg.SelectedBaskets) { if (vm.EnabledFlag.Equals("Y")) { if (bt.ToString().Equals(vm.Code)) { return(true); } } } return(false); }
protected CBasket finalizeBasket(CBasket bskt, BasketTypeEnum retType) { CBasket nbk = new CBasket(retType); if (bskt == null) { return(nbk); } int cnt = bskt.GetBasketItemCount(); for (int i = 0; i < cnt; i++) { CBasketItem bi = bskt.GetBasketItem(i); if (bi.TempLeftQty > 0) { bi.Quantity = bi.TempLeftQty; nbk.AddBasketItem(bi); } } return(nbk); }
public CBasketSet SumInGroup(CBasketSet inBasket, BasketTypeEnum bt) { CBasketSet output = new CBasketSet(); CProcessingResult res = new CProcessingResult("SumInGroup-" + bt.ToString()); res.SetInputBasketSet(inBasket.Clone()); Hashtable quantities = new Hashtable(); Hashtable objects = new Hashtable(); ArrayList keys = new ArrayList(); ArrayList items = inBasket.GetAllBasketByType(bt); if (items == null) { items = new ArrayList(); } foreach (CBasket b in items) { int cnt = b.GetBasketItemCount(); for (int i = 0; i < cnt; i++) { CBasketItem bi = b.GetBasketItem(i); object o = quantities[bi.Key]; if (o == null) { quantities[bi.Key] = bi.Quantity; objects[bi.Key] = bi; keys.Add(bi.Key); } else { double tmp = (double)quantities[bi.Key]; tmp = tmp + bi.Quantity; quantities[bi.Key] = tmp; } } } CBasket bkt = new CBasket(bt); foreach (String k in keys) { CBasketItem bi = (CBasketItem)objects[k]; double qty = (double)quantities[k]; CBasketItem bki = new CBasketItem(k, bi.Item, qty); bkt.AddBasketItem(bki); } if (bkt.GetBasketItemCount() > 0) { output.AddBasket(bkt); } Hashtable filterSet = new Hashtable(); filterSet[bt] = null; copyBasketsExc(output, inBasket, filterSet); res.IsOperation = true; res.SetOutputBasketSet(output); res.SetStatus(ProcessingResultStatus.ProcessingSuccess); addProcessingResult(res); return(output); }
public ArrayList GetAllBasketByType(BasketTypeEnum type) { ArrayList arr = (ArrayList)baskets[type]; return(arr); }
public CBasket(BasketTypeEnum type) { bt = type; }