private void btnSelectProj_Click(object sender, EventArgs e) { try { OpenFileDialog dlg = new OpenFileDialog(); dlg.Title = "请选择C#项目文件"; dlg.Filter = "C#项目文件(*.csproj)|*.csproj"; if (dlg.ShowDialog() == DialogResult.OK && !dlg.SafeFileName.IsNullOrEmpty()) { MSelectedItem item = _settingInfo.SelectedItems.FirstOrDefault(n => n.Path == dlg.FileName); if (item == null) { item = new MSelectedItem() { Type = 2, Name = Path.GetFileNameWithoutExtension(dlg.SafeFileName), Path = dlg.FileName, Guid = Guid.NewGuid().ToString(), CreateTime = DateTime.Now }; _settingInfo.SelectedItems.Add(item); SettingHelper.SaveSettingInfo(_settingInfo); } //ProjSelectedEvent?.Invoke(item); ProjSelectedEvent?.BeginInvoke(item, null, null); this.Close(); } } catch (Exception ex) { MetroMessageBox.Show(this, ex.Message, "项目选择处理错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private Boolean isItemApplicable(MPackageTrayPriceDiscount pp, CBasketItem bi) { String ppSelectType = pp.SelectionType; MSelectedItem vs = (MSelectedItem)bi.Item; if ((ppSelectType.Equals("1")) && (vs.SelectionType.Equals("1"))) { //Service if (vs.ServiceID.Equals(pp.ServiceId)) { return(true); } } else if ((ppSelectType.Equals("2")) && (vs.SelectionType.Equals("2"))) { //Item if (vs.ItemID.Equals(pp.ItemId)) { return(true); } } else if ((ppSelectType.Equals("3")) && (vs.SelectionType.Equals("2"))) { //Item Category VS Item MInventoryItem vi = (MInventoryItem)vs.ItemObj; if (vi.ItemCategory.Equals(pp.CategoryId)) { return(true); } } return(false); }
protected String createCombinedKey(MSelectedItem si, int type) { String selType = si.SelectionType; String key = ""; if (selType.Equals("1")) { //Service key = si.ServiceID; } else if (selType.Equals("2")) { //Item key = si.ItemID; } else if (selType.Equals("3")) { //Item Category key = si.ItemCategory; } String cmbKey = String.Format("{0}-{1}-{2}", type, selType, key); return(cmbKey); }
private void cmdClear_Click(object sender, RoutedEventArgs e) { MSelectedItem v = (MSelectedItem)(sender as Button).Tag; billSim.DeleteSelectedItem(v); billSim.IsModified = true; }
private static void OnProductSelectedChanged(DependencyObject obj, DependencyPropertyChangedEventArgs e) { UProductTestSelect control = obj as UProductTestSelect; MSelectedItem d = (MSelectedItem)e.NewValue; updateGui(control, d); }
private static void updateGui(UProductTestSelect control, MSelectedItem v) { if (v == null) { return; } MSelectedItem o = new MSelectedItem(v.GetDbObject().Clone()); control.cbxEnable.IsChecked = o.EnabledFlag.Equals("Y"); control.cbxTray.IsChecked = o.TrayFlag.Equals("Y"); int selectionType = CUtil.StringToInt(o.SelectionType); control.cboSelectionType.SelectedIndex = selectionType - 1; if (o.SelectionType.Equals("1")) { control.lkupItem.SelectedObject = o.ServiceObj; } else if (o.SelectionType.Equals("2")) { control.lkupItem.SelectedObject = o.ItemObj; } else { control.lkupItem.SelectedObject = o.ServiceObj; } control.txtValue.Text = o.ItemQuantity; }
private void updateObject() { MSelectedItem v = (MSelectedItem)ProductSelected; if (v == null) { return; } v.ServiceObj = null; v.ItemObj = null; if (lkupItem.SelectedObject != null) { if (lkupItem.Lookup == LookupSearchType2.ServiceLookup) { v.ServiceObj = lkupItem.SelectedObject; v.SelectionType = "1"; } else if (lkupItem.Lookup == LookupSearchType2.InventoryItemLookup) { v.ItemObj = lkupItem.SelectedObject; v.SelectionType = "2"; } } v.ItemQuantity = txtValue.Text; }
private MSelectedItem createSelectedItem(MPackageVoucher pv) { MSelectedItem si = new MSelectedItem(new CTable("")); if (pv.SelectionType.Equals("1")) { //Service si.ServiceObj = pv.ServiceObj; } else if (pv.SelectionType.Equals("2")) { //Item si.ItemObj = pv.ItemObj; } else if (pv.SelectionType.Equals("4")) { //Voucher si.VoucherObj = pv.VoucherObj; } else if (pv.SelectionType.Equals("5")) { //Free text si.FreeText = pv.FreeText; si.FreeTextID = pv.PackageVoucherID; } si.SelectionType = pv.SelectionType; return(si); }
private void addItem() { MSelectedItem si = new MSelectedItem(new CTable("")); si.SelectionType = "2"; si.ItemObj = null; si.EnabledFlag = "Y"; si.ItemQuantity = "1"; billSim.AddSelectedItem(si); billSim.IsModified = true; }
private void btnSelectFolder_Click(object sender, EventArgs e) { try { using (var fsd = new FolderSelectDialog()) { fsd.Title = "选择文件夹"; if (fsd.ShowDialog(this.Handle)) { var folder = fsd.FileName; if (!string.IsNullOrWhiteSpace(folder) && Directory.Exists(folder)) { this.DialogResult = DialogResult.OK; DirectoryInfo dir = new DirectoryInfo(folder); MSelectedItem item = _settingInfo.SelectedItems.FirstOrDefault(n => n.Path == dir.FullName); if (item == null) { item = new MSelectedItem() { Type = 3, Name = dir.Name, Path = dir.FullName, Guid = Guid.NewGuid().ToString(), CreateTime = DateTime.Now }; _settingInfo.SelectedItems.Add(item); SettingHelper.SaveSettingInfo(_settingInfo); } ProjSelectedEvent?.BeginInvoke(item, null, null); this.Close(); } } } } catch (Exception ex) { MetroMessageBox.Show(this, ex.Message, "文件选择处理错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } //FolderBrowserDialog dlg = new FolderBrowserDialog(); //if (dlg.ShowDialog() == DialogResult.OK) //{ // DirectoryInfo dir = new DirectoryInfo(dlg.SelectedPath); // MSelectedItem item = _settingInfo.SelectedItems.FirstOrDefault(n => n.Path == dir.FullName); // if (item == null) // { // item = new MSelectedItem() { Type = 3, Name = dir.Name, Path = dir.FullName, Guid = Guid.NewGuid().ToString(), CreateTime = DateTime.Now }; // _settingInfo.SelectedItems.Add(item); // SettingHelper.SaveSettingInfo(_settingInfo); // } // ProjSelectedEvent?.Invoke(item); // this.Close(); //} }
private CBasket getQualifyItem(CPackageItemAdapter v, CBasket trackingBasket, int required) { CBasket nbk = null; if (v.QuantityType.Equals("1")) { //Used nbk = new CBasket(BasketTypeEnum.Used); } else { //2 = Free/Bonus nbk = new CBasket(BasketTypeEnum.FreeAnnonymous); } int cnt = trackingBasket.GetBasketItemCount(); for (int i = 0; i < cnt; i++) { CBasketItem bi = trackingBasket.GetBasketItem(i); MSelectedItem si = (MSelectedItem)bi.Item; if (v.SelectionType.Equals("1")) { //Service if (v.ServiceID.Equals(si.ServiceID) && (bi.TempLeftQty >= required)) { bi.TempLeftQty = bi.TempLeftQty - required; CBasketItem nbi = new CBasketItem(bi.Key, si, required); nbk.AddBasketItem(nbi); return(nbk); } } else if (v.SelectionType.Equals("2")) { //Item if (v.ItemID.Equals(si.ItemID) && (bi.TempLeftQty >= required)) { bi.TempLeftQty = bi.TempLeftQty - required; CBasketItem nbi = new CBasketItem(bi.Key, si, required); nbk.AddBasketItem(nbi); return(nbk); } } } return(null); }
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; }
private void populateBillSimulate(MAccountDoc doc) { MBillSimulate bs = doc.BillSimulate; bs.ClearSelectedItem(); bs.DocumentDate = doc.DocumentDate; bs.SimulateTime = doc.DocumentDate; bs.CustomerObj = doc.CustomerObj; bs.CustomerID = doc.EntityId; bs.BranchId = doc.BranchId; bs.DocumentType = doc.DocumentType; bs.DocumentStatus = doc.DocumentStatus; foreach (MAccountDocItem di in doc.AccountItem) { if (di.ExtFlag.Equals("D")) { continue; } MSelectedItem si = new MSelectedItem(new CTable("")); si.TrayFlag = "N"; if (di.IsTrayFlag == true) { si.TrayFlag = "Y"; } si.SelectionType = di.SelectType; si.ServiceID = di.ServiceID; si.ItemID = di.ItemId; si.ServiceCode = di.ServiceCode; si.ServiceName = di.ServiceName; si.ItemCode = di.ItemCode; si.ItemNameThai = di.ItemNameThai; si.ItemQuantity = di.Quantity; si.ItemCategory = di.ItemCategory; si.ServicePricingDefinition = di.ServicePricingDefinition; si.PricingDefination = di.PricingDefinition; si.EnabledFlag = "Y"; bs.AddSelectedItem(si); } }
private void cbxEnable_Checked(object sender, RoutedEventArgs e) { UProductTestSelect control = this; if (control.OnChanged != null) { control.OnChanged(control, null); } MSelectedItem v = (MSelectedItem)ProductSelected; if (v == null) { return; } v.EnabledFlag = "Y"; }
private void populateHash(ObservableCollection <MPackageBundle> items, int type) { foreach (MPackageBundle pb in items) { if (pb.EnabledFlag.Equals("Y")) { //MSelectedItem and MPackageBonus has some field in common MSelectedItem si = new MSelectedItem(pb.GetDbObject()); String cmbKey = createCombinedKey(si, type); combinedHash[cmbKey] = pb; int qty = CUtil.StringToInt(pb.Quantity); if (qty < minumConfigQty) { minumConfigQty = qty; } } } }
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)); output.AddBasket(finalizeBasket(used, BasketTypeEnum.Used)); if (triedCount > 0) { MPackage pkg = getPackage(); ObservableCollection <MPackageVoucher> gifts = pkg.PackageVoucherFree; CBasket gbsk = new CBasket(BasketTypeEnum.FreeVoucher); foreach (MPackageVoucher g in gifts) { if (g.EnabledFlag.Equals("N")) { continue; } MSelectedItem si = createSelectedItem(g); CBasketItem bi = new CBasketItem(si.Key, si, CUtil.StringToInt(g.Quantity) * triedCount); gbsk.AddBasketItem(bi); } if (gbsk.GetBasketItemCount() > 0) { output.AddBasket(gbsk); } } return(output); }
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); }
//Comparer _comparer = new Comparer(System.Globalization.CultureInfo.CurrentCulture); public int Compare(object x, object y) { //DefaultSellPrice CBasketItem bi1 = x as CBasketItem; CBasketItem bi2 = y as CBasketItem; MSelectedItem si1 = (MSelectedItem)bi1.Item; MSelectedItem si2 = (MSelectedItem)bi2.Item; double defSellPrice1 = 0.00; double defSellPrice2 = 0.00; if (si1.SelectionType.Equals("1")) { //Service //Not yet implemented default sell price for Service right now defSellPrice1 = 0.00; } else { //Item defSellPrice1 = CUtil.StringToDouble(si1.DefaultSellPriceItem); } if (si2.SelectionType.Equals("1")) { //Service //Not yet implemented default sell price for Service right now defSellPrice2 = 0.00; } else { //Item defSellPrice2 = CUtil.StringToDouble(si2.DefaultSellPriceItem); } return(defSellPrice1.CompareTo(defSellPrice2)); }
private CBasketSet finalizeOutput(CBasketSet input, Hashtable filterHash, CPrice accum) { CBasketSet interim = new CBasketSet(); MPackage pkg = getPackage(); double totalBundleAmt = getSumAmount(input, BasketTypeEnum.Bundled); accum.TotalAmount = accum.TotalAmount + totalBundleAmt; double ratio = calculateRatio(accum); if (ratio > 0) { ObservableCollection <MPackageVoucher> gifts = pkg.PackagePostGiftFrees; CBasket nbk = new CBasket(BasketTypeEnum.PostFree); foreach (MPackageVoucher g in gifts) { if (g.EnabledFlag.Equals("N")) { continue; } double qty = CUtil.StringToDouble(g.Quantity) * ratio; if (qty > 0) { MSelectedItem si = createSelectedItem(g); CBasketItem nbi = new CBasketItem(si.Key, si, qty); nbk.AddBasketItem(nbi); } } if (nbk.GetBasketItemCount() > 0) { interim.AddBasket(nbk); giftCount++; } } //Copy the originals to output ArrayList types = input.GetBasketTypes(); foreach (BasketTypeEnum bt in types) { ArrayList baskets = input.GetAllBasketByType(bt); foreach (CBasket bk in baskets) { CBasket obk = new CBasket(bt); obk.CopyEntireFrom(bk); if (isInBasketType(bk.BasketType) && (giftCount > 0)) { updateBasketItem(obk, filterHash); } interim.AddBasket(obk); } } return(interim); }
private CBasket getQualifyItemByGroup(CPackageItemAdapter v, CBasket trackingBasket, int required) { CBasket nbk = null; if (v.QuantityType.Equals("1")) { //Used nbk = new CBasket(BasketTypeEnum.Used); } else { //2 = Free/Bonus nbk = new CBasket(BasketTypeEnum.FreeAnnonymous); } //This should be sorted by Price and sort order depend on Quantity Type //QuantityType = 1, most expensive come first //QuantityType = 2, cheapest come first ArrayList sortedArr = sortBasketItem(trackingBasket, v); int cnt = sortedArr.Count; //trackingBasket.GetBasketItemCount(); for (int i = 0; i < cnt; i++) { CBasketItem bi = (CBasketItem)sortedArr[i]; //trackingBasket.GetBasketItem(i); MSelectedItem si = (MSelectedItem)bi.Item; if (si.ItemCategory.Equals(v.ItemCategoryID) && (bi.TempLeftQty > 0)) { int req = 0; if (required >= bi.TempLeftQty) { req = (int)bi.TempLeftQty; required = required - (int)bi.TempLeftQty; bi.TempLeftQty = 0.00; } else { req = required; bi.TempLeftQty = bi.TempLeftQty - required; required = 0; } CBasketItem nbi = new CBasketItem(bi.Key, si, req); nbk.AddBasketItem(nbi); } if (required <= 0) { break; } } if (required <= 0) { //Got all required return(nbk); } 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); }