Ejemplo n.º 1
0
 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);
             }
         }
     };
 }
Ejemplo n.º 2
0
        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;
        }
Ejemplo n.º 3
0
        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;
            }
        }
Ejemplo n.º 4
0
 public RetailCodeInputWin(BaseBillRetailVM retailContext)
 {
     _retailContext = retailContext;
     InitializeComponent();
     this.Loaded += delegate { txtRetailCode.Focus(); };
 }