public Goods CallRegisterGoodsPopup(Product product, WarehouseContext dbcontext)
        {
            Goods newGoods = null;
            var window = new NotifyWindow();
            window.Width = 400;
            window.Height = 600;
            window.Title = "添加货物";

            var formControl = FormControlHelper.CreateFormControl();
            var goods = new Goods();
            goods.Product = product;
            goods.Name = product.Name;
            goods.State = GoodsState.Inbound;
            goods.GoodsCode = DateTime.Now.ToString("yyyyMMddHHmmss")+"001";

            formControl.CreateControlCallback = (cx, ctl) =>
            {
                if (cx.ControlType == ControlType.Editable)
                {
                    switch (cx.PropertyInfo.Name)
                    {
                        case "Product":
                            var tb = new TextBox();
                            tb.Text = product.Name;
                            tb.Style = Application.Current.Resources["editctl_TextBox"] as Style;
                            tb.IsEnabled = false;
                            CustomValidation.SetValidationOptOut(tb);
                            return tb;
                        case "GoodsCode":
                            ctl.IsEnabled = false;
                            return ctl;
                    }
                }
                return ctl;
            };

            formControl.RenderForm(goods, false);
            formControl.ConfirmButton.Content = "添加";
            formControl.SubmitCallback = d =>
            {
                try
                {
                    newGoods = d as Goods;
                    newGoods.InboundDate=DateTime.Now;
                    dbcontext.Goods.Add(newGoods);
                    window.Close();
                }
                catch (Exception ex)
                {
                    window.ShowNotificationMessage("添加货物失败,请重试。");
                }
            };
            window.MyContent = formControl;
            window.ShowDialog();
            return newGoods;
        }
        public Product CallAddProductPopup(string productScanCode, string notificationMsg,WarehouseContext dbcontext)
        {
            var window = new NotifyWindow();
            window.Width = 400;
            window.Height = 600;
            window.Title = "录入产品信息";

            Product newp = null;
            window.MyContent = CallAddProductControl(productScanCode, dbcontext, (p) =>
            {
                window.Close();
                newp = p;
            });

            if (!string.IsNullOrEmpty(notificationMsg))
                window.ShowNotificationMessage(notificationMsg);

            // block until dialog close
            window.ShowDialog();
            return newp;
        }