Пример #1
0
        private ProductGroup CovertProductGroupMaintainVMToProductGroupEntity(ProductGroupMaintainVM data)
        {
            var productGroup = new ProductGroup
            {
                ProductList          = new List <ProductInfo>(),
                ProductGroupSettings = new List <ProductGroupSettings>(),
                SysNo             = data.ProductGroupSysNo,
                ProductGroupName  = new LanguageContent(data.BasicInfoVM.ProductGroupName),
                ProductGroupModel = new LanguageContent(data.BasicInfoVM.ProductGroupModel),
                OperateUser       = new UserInfo
                {
                    SysNo           = CPApplication.Current.LoginUser.UserSysNo,
                    UserDisplayName = CPApplication.Current.LoginUser.DisplayName
                },
                CompanyCode  = CPApplication.Current.CompanyCode,
                LanguageCode = ConstValue.BizLanguageCode
            };

            data.ProductListVM.ProductGroupProductVMList.ForEach(product => productGroup.ProductList.Add(new ProductInfo
            {
                SysNo       = product.ProductSysNo,
                OperateUser = new UserInfo
                {
                    SysNo           = CPApplication.Current.LoginUser.UserSysNo,
                    UserDisplayName = CPApplication.Current.LoginUser.DisplayName
                },
                CompanyCode  = CPApplication.Current.CompanyCode,
                LanguageCode = ConstValue.BizLanguageCode
            }));

            data.PropertyVM.ProductGroupSettings.Where(setting => setting.ProductGroupProperty.SysNo != 0).ForEach(setting =>
            {
                var productGroupSetting = new ProductGroupSettings
                {
                    ProductGroupProperty = new PropertyInfo
                    {
                        SysNo = setting.ProductGroupProperty.SysNo,
                    },
                    PropertyBriefName = new LanguageContent(setting.PropertyBriefName),
                    ImageShow         = setting.ImageShow,
                    Polymeric         = setting.Polymeric
                };
                productGroup.ProductGroupSettings.Add(productGroupSetting);
            });
            return(productGroup);
        }
Пример #2
0
        public override void OnPageLoad(object sender, EventArgs e)
        {
            base.OnPageLoad(sender, e);

            int productGroupSysNo;

            _vm = new ProductGroupMaintainVM();

            if (Int32.TryParse(Request.Param, out productGroupSysNo))
            {
                _productGroupFacade = new ProductGroupFacade(this);

                _vm.CreateFlag = false;

                ucProductGroupMaintainBasicInfo.ucCategoryPicker
                .LoadCategoryCompleted += (s, arg)
                                          => _productGroupFacade.GetProductGroupInfoBySysNo(productGroupSysNo, (obj, args) =>
                {
                    if (args.FaultsHandle())
                    {
                        return;
                    }
                    if (args.Result == null || !args.Result.SysNo.HasValue || args.Result.ProductList.Count == 0)
                    {
                        Window.MessageBox.Show("无此商品组或商品组数据完整性有误,请联系管理员检查", MessageBoxType.Error);
                        return;
                    }
                    ucProductGroupMaintainBasicInfo.ucCategoryPicker.cmbCategory3SelectionChanged -= ucProductGroupMaintainBasicInfo.C3SelectChangedClick;
                    _vm.ProductGroupSysNo = args.Result.SysNo.Value;
                    _vm.BasicInfoVM       =
                        _productGroupFacade.ConvertProductGroupEntityToProductGroupMaintainBasicInfoVM(args.Result);
                    _vm.ProductListVM =
                        _productGroupFacade.ConvertProductGroupEntityToProductGroupMaintainProductListVM(args.Result);
                    var sysNo = args.Result.ProductList.First().ProductBasicInfo.ProductCategoryInfo.SysNo;
                    if (sysNo.HasValue)
                    {
                        _productGroupFacade.GetCategorySetting(sysNo.Value, (o, a) =>
                        {
                            if (a.FaultsHandle())
                            {
                                return;
                            }

                            var categoryPropertyList = _productGroupFacade.
                                                       ConvertCategoryPropertyListToPropertyVMList
                                                           (a.Result.CategoryProperties.Where(property => property.PropertyType == PropertyType.Grouping));

                            categoryPropertyList.Insert(0, new PropertyVM
                            {
                                SysNo        = 0,
                                PropertyName = "请选择..."
                            });

                            _vm.PropertyVM =
                                _productGroupFacade.ConvertProductGroupEntityToProductGroupMaintainPropertySettingVM(
                                    args.Result);

                            _vm.PropertyVM.CategoryPropertyList
                                = categoryPropertyList;

                            DataContext = _vm;
                            ucProductGroupMaintainProductList.dgProductGroupProductList.ItemsSource =
                                _vm.ProductListVM.ProductGroupProductVMList;
                        });
                    }
                });
            }
            else
            {
                _vm.CreateFlag = true;
                DataContext    = _vm;
            }
        }
Пример #3
0
 public void UpdateProductGroupInfo(ProductGroupMaintainVM data, EventHandler <RestClientEventArgs <ProductGroup> > callback)
 {
     _restClient.Update(UpdateProductGroupInfoRelativeUrl, CovertProductGroupMaintainVMToProductGroupEntity(data), callback);
 }