public CashWin(BaseBillRetailVM dataVM) { InitializeComponent(); _retailVM = dataVM; this.DataContext = _retailVM; this.Loaded += delegate { inputTakeMoney.Focus(); inputTakeMoney_ValueChanged(null, null); if (_retailVM.VipBO == null) { bdPrestore.Visibility = System.Windows.Visibility.Collapsed; } else { _vipPreBalance = VMGlobal.DistributionQuery.LinqOP.Search <VIPPredepositTrack>(o => o.VIPID == _retailVM.VipBO.CardInfo.ID).Sum(o => o.StoreMoney + o.FreeMoney - o.ConsumeMoney); if (_vipPreBalance <= 0) { bdPrestore.Visibility = System.Windows.Visibility.Collapsed; } else { tbPredeposit.Text = string.Format("{0:C2}", _vipPreBalance); } } }; }
ObservableCollection <HoldRetailEntity> _holdRetails = null;//挂单列表 protected BaseRetail(BaseBillRetailVM dataContext, bool allowSetDiscount) { _dataContext = dataContext; this.DataContext = _dataContext; InitializeComponent(); var storages = StorageInfoVM.Storages; cbxStorage.ItemsSource = storages; if (storages.Count == 1) { _dataContext.Master.StorageID = storages[0].ID; } //cbxGuide.ItemsSource = VMGlobal.DistributionQuery.LinqOP.Search<RetailShoppingGuide>(o => o.OrganizationID == VMGlobal.CurrentUser.OrganizationID && o.State && o.OnBoardDate <= DateTime.Now && (o.DimissionDate == null || o.DimissionDate > DateTime.Now.Date)).ToList(); colDiscount.IsReadOnly = !allowSetDiscount; }
private void retailCommandBinding_Executed(object sender, ExecutedRoutedEventArgs e) { if (e.Parameter == null) { return; } switch (e.Parameter.ToString()) { case "Cash": OPResult result = _dataContext.ValidateWhenCash(); if (!result.IsSucceed) { MessageBox.Show(result.Message); return; } _dataContext.SetRetailData(); BindingExpression be = txtRemark.GetBindingExpression(TextBox.TextProperty); be.UpdateTarget(); //备注可能更改,更新UI CashWin wincash = new CashWin(_dataContext); wincash.Owner = View.Extension.UIHelper.GetAncestor <Window>(this); wincash.CashScceedEvent += delegate { _dataContext.Init(); be.UpdateTarget(); }; wincash.ShowDialog(); break; case "CashCoupon": List <int> brandIDs = new List <int>(); SysProcessView.UIHelper.TraverseGridViewData <DistributionProductShow>(gvDatas, p => { brandIDs.Add(p.BrandID); }); CashCouponWin couponwin = new CashCouponWin(brandIDs.Distinct().Select(o => VMGlobal.PoweredBrands.Find(b => b.ID == o)), _dataContext.BeforeDiscountCoupon, _dataContext.AfterDiscountCoupon, _dataContext.CouponBrandIDs); couponwin.Owner = View.Extension.UIHelper.GetAncestor <Window>(this); couponwin.CouponObtained += new Action <int, int, IEnumerable <int> >(win_CouponObtained); couponwin.ShowDialog(); break; case "VIP": break; case "Hold": if (_holdRetails == null) { _holdRetails = new ObservableCollection <HoldRetailEntity>(); } _holdRetails.Add(new HoldRetailEntity { CreateTime = DateTime.Now, HoldRetail = _dataContext, Code = this.GenerateHoldRetailCode() }); this.DataContext = _dataContext = new BillRetailVM(); break; case "Fetch": if (_holdRetails == null || _holdRetails.Count == 0) { MessageBox.Show("没有挂单."); return; } FetchRetailBillWin winFetch = new FetchRetailBillWin(); winFetch.DataContext = _holdRetails; winFetch.Owner = View.Extension.UIHelper.GetAncestor <Window>(this); winFetch.FetchRetailEvent += hr => { this.DataContext = _dataContext = hr.HoldRetail; }; winFetch.ShowDialog(); break; case "Back": RetailCodeInputWin win = new RetailCodeInputWin(_dataContext); win.Owner = View.Extension.UIHelper.GetAncestor <Window>(this); win.SetRetailVMEvent += () => { foreach (var d in _dataContext.GridDataItems) { d.Quantity *= (-1); d.CutMoney *= (-1); } _dataContext.Master.ReceiveTicket = 0; _dataContext.Master.TicketKind = null; _dataContext.Master.TicketMoney = 0; //this.DataContext = _dataContext = vm; }; win.ShowDialog(); break; } }
public RetailCodeInputWin(BaseBillRetailVM retailContext) { _retailContext = retailContext; InitializeComponent(); this.Loaded += delegate { txtRetailCode.Focus(); }; }