Example #1
0
        private void dgItems_BeginningEdit(object sender, DataGridBeginningEditEventArgs e)
        {
            OptionalAccessoriesItemVM currentItem = e.Row.DataContext as OptionalAccessoriesItemVM;

            if (currentItem.IsMasterItemB && e.Column.ClipboardContentBinding.Path.Path != "Quantity")
            {
                e.Cancel = true;
            }
        }
Example #2
0
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            if (!ValidationManager.Validate(this.gridAddProduct) || !ValidationManager.Validate(this.gridBasicInfo))
            {
                return;
            }

            OptionalAccessoriesItemVM itemVM = (sender as Button).DataContext as OptionalAccessoriesItemVM;

            if (!itemVM.ProductSysNo.HasValue)
            {
                Window.Alert(ResComboSaleMaintain.Warning_NoItems, Newegg.Oversea.Silverlight.Controls.Components.MessageType.Warning);
                return;
            }

            if (ValidationManager.Validate(this.gridAddProduct))
            {
                if (this.VM.Items.FirstOrDefault(p => p.ProductSysNo == itemVM.ProductSysNo) != null)
                {
                    Window.Alert(ResComboSaleMaintain.Warning_SaleItemExists, Newegg.Oversea.Silverlight.Controls.Components.MessageType.Warning);
                    return;
                }

                var    productInfo = this.ucProductPicker.SelectedProductInfo;
                string productID   = this.ucProductPicker.ProductID;
                itemVM.ProductID = productID;
                #region 折扣比例
                //var itemDPTmp = 0m;
                //decimal.TryParse(TxtItemDiscountPercent.Text, out itemDPTmp);
                //itemVM.DiscountPercent = (itemDPTmp / 100).ToString("0.00");
                #endregion
                if (productInfo != null)
                {
                    itemVM.ProductName         = productInfo.ProductName;
                    itemVM.ProductUnitCost     = productInfo.UnitCost;
                    itemVM.ProductCurrentPrice = productInfo.CurrentPrice;
                    itemVM.MerchantName        = productInfo.MerchantName;
                }

                var t = Newegg.Oversea.Silverlight.Utilities.UtilityHelper.BinarySerialize(this.VM);
                OptionalAccessoriesVM clonedVM = Newegg.Oversea.Silverlight.Utilities.UtilityHelper.BinaryDeserialize <OptionalAccessoriesVM>(t);
                //DeepClone方法要报错
                //ComboVM clonedVM = Newegg.Oversea.Silverlight.Utilities.UtilityHelper.DeepClone<ComboVM>(this.VM);
                clonedVM.Items.Add(itemVM);


                //调用Service Check,不能用VM,而要用他的深拷贝对象
                new OptionalAccessoriesFacade(this).CheckOptionalAccessoriesItemIsPass(clonedVM, (obj, args) =>
                {
                    if (args.Result != null && (args.Result.Count > 0))
                    {
                        string msg = args.Result.Join("\r\n");
                        Window.Alert(msg, Newegg.Oversea.Silverlight.Controls.Components.MessageType.Warning);
                        return;
                    }

                    //To Fix bug,如果不深拷贝一次,则添加到列表中的Item不会显示ProductID
                    var str          = Newegg.Oversea.Silverlight.Utilities.UtilityHelper.BinarySerialize(itemVM);
                    var clonedItemVM = Newegg.Oversea.Silverlight.Utilities.UtilityHelper.BinaryDeserialize <OptionalAccessoriesItemVM>(str);

                    this.VM.Items.Add(clonedItemVM);

                    this.gridAddProduct.DataContext = new OptionalAccessoriesItemVM();

                    this.CheckBox_Click(this.cbIsMaster, e);
                });
            }
        }