Beispiel #1
0
        private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            var vm = DataContext as ProductChannelVM;

            if (vm == null)
            {
                return;
            }

            if (!ValidationManager.Validate(this))
            {
                return;
            }

            _facade  = new ProductChannelInfoFacade();
            vm.SysNo = _sysNo;

            _facade.UpdateProductChannelInfo(vm, (obj, args) =>
            {
                if (args.FaultsHandle())
                {
                    return;
                }
                CPApplication.Current.CurrentPage.Context.Window.Alert(ResBrandMaintain.Info_SaveSuccessfully);

                CloseDialog(DialogResultType.OK);
            });
        }
        private void BindPage()
        {
            if (SysNo != null)
            {
                _facade = new ProductChannelInfoFacade();
                _facade.GetProductChannelPeriodPriceBySysNo(SysNo.Value, (obj, args) =>
                {
                    if (args.FaultsHandle())
                    {
                        return;
                    }
                    if (args.Result == null)
                    {
                        CPApplication.Current.CurrentPage.Context.Window.Alert("无法渠道商品信息.");
                        return;
                    }
                    var vm = args.Result.Convert <ProductChannelPeriodPrice, ProductChannelPeriodPriceVM>();

                    _sysNo = SysNo.Value;

                    vm.ChannelProductInfo = productVM;

                    DataContext = vm;
                });
            }
            else
            {
                _sysNo = 0;
                var item = new ProductChannelPeriodPriceVM();
                item.Status             = ProductChannelPeriodPriceStatus.Init;
                item.ChannelProductInfo = productVM;
                DataContext             = item;
            }
        }
        private void OperateData(ProductChannelPeriodPriceOperate operate)
        {
            var vm = DataContext as ProductChannelPeriodPriceVM;

            if (vm == null)
            {
                return;
            }

            if (!ValidationManager.Validate(this))
            {
                return;
            }
            _facade    = new ProductChannelInfoFacade();
            vm.SysNo   = _sysNo;
            vm.Operate = operate;

            if (!(vm.BeginDate.HasValue && vm.EndDate.HasValue))
            {
                CPApplication.Current.CurrentPage.Context.Window.Alert("改价时间不能为空.");
                return;
            }

            if (vm.Operate == ProductChannelPeriodPriceOperate.Submit && vm.Note.Equals(string.Empty))
            {
                CPApplication.Current.CurrentPage.Context.Window.Alert("活动说明不能为空.");
                return;
            }

            if (_sysNo == 0)
            {
                _facade.CreateProductChannelPeriodPrice(vm, (obj, args) =>
                {
                    if (args.FaultsHandle())
                    {
                        return;
                    }
                    CPApplication.Current.CurrentPage.Context.Window.Alert(ResBrandMaintain.Info_SaveSuccessfully);

                    CloseDialog(DialogResultType.OK);
                });
            }
            else
            {
                _facade.UpdateProductChannelPeriodPrice(vm, (obj, args) =>
                {
                    if (args.FaultsHandle())
                    {
                        return;
                    }
                    CPApplication.Current.CurrentPage.Context.Window.Alert(ResBrandMaintain.Info_SaveSuccessfully);

                    CloseDialog(DialogResultType.OK);
                });
            }
        }
Beispiel #4
0
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            model = (ProductChannelQueryVM)this.DataContext;

            if (this.model.ChannelSysNo > 0)
            {
                var ucPicker = new UCProductSearch();
                ucPicker.SelectionMode = SelectionMode.Multiple;
                ucPicker.DialogHandler = CPApplication.Current.CurrentPage.Context.Window.ShowDialog("选择商品", ucPicker, (obj, args) =>
                {
                    if (args.DialogResult == DialogResultType.OK)
                    {
                        if (args.Data != null)
                        {
                            var selectedProductList = args.Data as List <Basic.Components.UserControls.ProductPicker.ProductVM>;

                            List <ProductChannelInfo> productList = new List <ProductChannelInfo>();

                            selectedProductList.ForEach(p => productList.Add(new ProductChannelInfo {
                                ChannelInfo = new ChannelInfo {
                                    SysNo = this.model.ChannelSysNo
                                }
                                , ProductSysNo = p.SysNo
                                , ProductID    = p.ProductID
                                , CreateUser   = new UserInfo {
                                    SysNo             = CPApplication.Current.LoginUser.userSysNo
                                    , UserName        = CPApplication.Current.LoginUser.LoginName
                                    , UserDisplayName = CPApplication.Current.LoginUser.DisplayName
                                }
                            }));

                            var facade = new ProductChannelInfoFacade(this);

                            facade.CreateProductChannelInfo(productList, (o, a) =>
                            {
                                if (a.FaultsHandle())
                                {
                                    dgProductChannelQueryResult.Bind();
                                    return;
                                }
                            });
                        }
                    }
                });
            }
            else
            {
                Window.Alert("请先选择渠道!", MessageType.Information);
                return;
            }
        }
Beispiel #5
0
        private void BindPage()
        {
            if (SysNo != null)
            {
                _facade = new ProductChannelInfoFacade();
                _facade.GetProductChannelInfoBySysNo(SysNo.Value, (obj, args) =>
                {
                    if (args.FaultsHandle())
                    {
                        return;
                    }
                    if (args.Result == null)
                    {
                        CPApplication.Current.CurrentPage.Context.Window.MessageBox.Show("无法渠道商品信息.", MessageBoxType.Warning);
                        return;
                    }
                    var vm = args.Result.Convert <ProductChannelInfo, ProductChannelVM>();

                    vm.ChannelInfo = args.Result.ChannelInfo.Convert <ChannelInfo, ChannelVM>
                                         ((v, t) =>
                    {
                        t.ChannelName = v.ChannelName;
                    });

                    _sysNo = SysNo.Value;

                    DataContext = vm;

                    if (cbIsAppointInventory.IsChecked.HasValue)
                    {
                        this.tb_ChannelSellCount.IsEnabled = cbIsAppointInventory.IsChecked.Value;
                    }
                    this.tb_SynProductID.IsEnabled = !vm.ChannelInfo.SysNo.Equals(ChannelSysNo);
                    this.tb_TaoBaoSku.IsEnabled    = !vm.ChannelInfo.SysNo.Equals(ChannelSysNo);
                    if (!vm.ChannelInfo.SysNo.Equals(ChannelSysNo))
                    {
                        this.lbl_TaoBao.Visibility     = Visibility.Collapsed;
                        this.tb_TaoBaoSku.Visibility   = Visibility.Collapsed;
                        this.lbl_TaoBaoLab.Visibility  = Visibility.Collapsed;
                        this.tb_SynProductID.IsEnabled = this.tb_SynProductID.Text.Equals(string.Empty);
                    }
                });
            }
            else
            {
                _sysNo = 0;
                var item = new SellerProductRequestVM();
                DataContext = item;
            }
        }
        private void BindPage()
        {
            if (SysNo != null)
            {
                _facade = new ProductChannelInfoFacade();
                _facade.GetProductChannelInfoBySysNo(SysNo.Value, (obj, args) =>
                {
                    if (args.FaultsHandle())
                    {
                        return;
                    }
                    if (args.Result == null)
                    {
                        CPApplication.Current.CurrentPage.Context.Window.MessageBox.Show("无法渠道商品信息.", MessageBoxType.Warning);
                        return;
                    }
                    var vm = args.Result.Convert <ProductChannelInfo, ProductChannelVM>();

                    vm.ChannelInfo = args.Result.ChannelInfo.Convert <ChannelInfo, ChannelVM>
                                         ((v, t) =>
                    {
                        t.ChannelName = v.ChannelName;
                    });

                    _sysNo = SysNo.Value;

                    DataContext = vm;

                    dgProductChannelPeriodPriceQueryResult.Bind();
                });
            }
            else
            {
                _sysNo = 0;
                var item = new SellerProductRequestVM();
                DataContext = item;
            }
        }
Beispiel #7
0
        //批量设置无效
        private void btnBatchUpdateStatusInvalid_Click(object sender, RoutedEventArgs e)
        {
            if (dgProductChannelQueryResult.ItemsSource != null)
            {
                var viewList  = dgProductChannelQueryResult.ItemsSource as List <dynamic>;
                var sysNolist = viewList.Where(p => p.IsChecked).Select(p => p.SysNo).ToList();

                if (sysNolist == null || sysNolist.Count == 0)
                {
                    Window.Alert("请选择一条记录!", MessageType.Error);
                    return;
                }

                //初始化数据
                ProductChannelVM vm = new ProductChannelVM();
                vm.Status    = ProductChannelInfoStatus.DeActive;
                vm.SysNoList = new List <int>();

                foreach (var item in sysNolist)
                {
                    vm.SysNoList.Add(item);
                }

                ProductChannelInfoFacade facade = new ProductChannelInfoFacade();


                facade.BatchUpdateChannelProductInfoStatus(vm, (obj, args) =>
                {
                    if (args.FaultsHandle())
                    {
                        dgProductChannelQueryResult.Bind();
                        return;
                    }
                    CPApplication.Current.CurrentPage.Context.Window.Alert(ResBrandMaintain.Info_SaveSuccessfully);
                });
            }
        }
Beispiel #8
0
        public override void OnPageLoad(object sender, EventArgs e)
        {
            base.OnPageLoad(sender, e);
            model = new ProductChannelQueryVM();

            ProductChannelInfoFacade facade = new ProductChannelInfoFacade();

            facade.GetChannelInfoList((obj, arg) =>
            {
                if (arg.FaultsHandle())
                {
                    return;
                }
                model.ChannelList = arg.Result;

                model.ChannelList.Insert(0, new ChannelInfo()
                {
                    SysNo = 0, ChannelName = "所有"
                });

                this.DataContext = model;
                cbChannelProductStatus.SelectedIndex = 0;
            });
        }
        private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            var vm = this.DataContext as ProductChannelVM;

            if (vm == null)
            {
                return;
            }

            if (!ValidationManager.Validate(this))
            {
                return;
            }

            var editList = (from c in SelectRows
                            select
                            new ProductChannelVM
            {
                SysNo = c.SysNo,
                ProductID = c.ProductID,
                InventoryPercent = vm.InventoryPercent,
                SafeInventoryQty = vm.SafeInventoryQty,
                ChannelPricePercent = vm.ChannelPricePercent,
                IsUsePromotionPrice = vm.IsUsePromotionPrice
            }).ToList();

            _facade = new ProductChannelInfoFacade();

            _facade.BatchUpdateProductChannelInfo(editList, (obj, arg) =>
            {
                if (arg.FaultsHandle())
                {
                    CloseDialog(DialogResultType.OK);
                }
            });
        }