private OptionalAccessoriesVM EtoV(OptionalAccessoriesInfo entity) { OptionalAccessoriesVM viewmodel = entity.Convert <OptionalAccessoriesInfo, OptionalAccessoriesVM>((en, vm) => { vm.Name = en.Name.Content; foreach (var item in vm.Items) { entity.Items.ForEach(i => { if (i.SysNo == item.SysNo) { //Format折扣 var dpdTmp = i.Discount == null ? 0m : i.Discount.Value; item.Discount = dpdTmp.ToString("0"); //Format折扣比例 dpdTmp = i.DiscountPercent == null ? 0m : (i.DiscountPercent.Value <= 1 ? i.DiscountPercent.Value * 100 : i.DiscountPercent.Value); item.DiscountPercent = dpdTmp.ToString("0"); } }); } }); return(viewmodel); }
public void Load(int sysNo, EventHandler <RestClientEventArgs <OptionalAccessoriesVM> > callback) { string relativeUrl = string.Format("/MKTService/OptionalAccessories/{0}", sysNo); restClient.Query <OptionalAccessoriesInfo>(relativeUrl, (obj, args) => { if (args.FaultsHandle()) { return; } //var vm = args.Result.Convert<OptionalAccessoriesInfo, OptionalAccessoriesVM>(); //vm.Name = args.Result.Name.Content; //RestClientEventArgs<OptionalAccessoriesVM> e = new RestClientEventArgs<OptionalAccessoriesVM>(vm, this.viewPage); //callback(obj, e); OptionalAccessoriesInfo entity = args.Result; OptionalAccessoriesVM _viewModel = null; if (entity == null) { _viewModel = new OptionalAccessoriesVM(); } else { _viewModel = EtoV(entity); } callback(obj, new RestClientEventArgs <OptionalAccessoriesVM>(_viewModel, this.viewPage)); }); }
public override void OnPageLoad(object sender, EventArgs e) { base.OnPageLoad(sender, e); string no = Request.Param; if (!string.IsNullOrEmpty(no)) { if (int.TryParse(no, out sysNo)) { new OptionalAccessoriesFacade(this).Load(sysNo, (obj, args) => { this.VM = args.Result; if (args.Result.Status == ComboStatus.WaitingAudit) { var desc = args.Result.DisplayApproveMsg.Join("\r\n"); if (!string.IsNullOrEmpty(desc)) { Window.MessageBox.Show(desc , Newegg.Oversea.Silverlight.Controls.Components.MessageBoxType.Warning); } } SetButtonStatus(); }); } } else { this.VM = new OptionalAccessoriesVM(); SetButtonStatus(); } this.gridAddProduct.DataContext = new OptionalAccessoriesItemVM(); }
public void CheckOptionalAccessoriesItemIsPass(OptionalAccessoriesVM model, EventHandler <RestClientEventArgs <List <string> > > callback) { string relativeUrl = "/MKTService/OptionalAccessories/CheckOptionalAccessoriesItemIsPass"; OptionalAccessoriesInfo msg = model.ConvertVM <OptionalAccessoriesVM, OptionalAccessoriesInfo>(); msg.CompanyCode = CPApplication.Current.CompanyCode; restClient.Create <List <string> >(relativeUrl, msg, (obj, args) => { if (args.FaultsHandle()) { return; } callback(obj, args); }); }
public void Create(OptionalAccessoriesVM model, EventHandler <RestClientEventArgs <int?> > callback) { string relativeUrl = "/MKTService/OptionalAccessories/Create"; OptionalAccessoriesInfo msg = model.ConvertVM <OptionalAccessoriesVM, OptionalAccessoriesInfo>(); msg.Name.Content = model.Name; msg.CompanyCode = CPApplication.Current.CompanyCode; restClient.Create <int?>(relativeUrl, msg, (obj, args) => { if (args.FaultsHandle()) { return; } model.SysNo = args.Result; callback(obj, args); }); }
public void Update(OptionalAccessoriesVM model, EventHandler <RestClientEventArgs <OptionalAccessoriesVM> > callback) { string relativeUrl = "/MKTService/OptionalAccessories/Update"; OptionalAccessoriesInfo msg = model.ConvertVM <OptionalAccessoriesVM, OptionalAccessoriesInfo>(); msg.Name.Content = model.Name; restClient.Update <OptionalAccessoriesInfo>(relativeUrl, msg, (obj, args) => { if (args.FaultsHandle()) { return; } var vm = args.Result.Convert <OptionalAccessoriesInfo, OptionalAccessoriesVM>(); RestClientEventArgs <OptionalAccessoriesVM> e = new RestClientEventArgs <OptionalAccessoriesVM>(vm, this.viewPage); callback(obj, e); }); }
private void btnSave_Click(object sender, RoutedEventArgs e) { ValidationManager.Validate(this.dgItems); List <int> productSysNos = null; OptionalAccessoriesVM _vm = this.dgItems.DataContext as OptionalAccessoriesVM; if (_vm.Items == null || _vm.Items.Count() < 1) { this.Window.Alert("商品列表不能为空"); } foreach (OptionalAccessoriesItemVM rowVM in _vm.Items) { if (rowVM.HasValidationErrors) { return; } } if (ValidationManager.Validate(this.gridBasicInfo)) { if (this.VM.Items.Count < 2) { Window.Alert(ResComboSaleMaintain.Warning_AtLeast2Items); return; } if (this.VM.SysNo.HasValue && this.VM.SysNo > 0) { if (this.VM.IsDeactive) { this.VM.TargetStatus = ComboStatus.Deactive; } else if (this.VM.IsActive) { this.VM.TargetStatus = ComboStatus.Active; } else { this.VM.TargetStatus = ComboStatus.WaitingAudit; } productSysNos = this.VM.Items.Select(o => o.ProductSysNo.Value).ToList <int>(); new OptionalAccessoriesFacade(this).CheckSaleRuleItemAndDiys(productSysNos, (obj, args) => { if (args.Result.Count > 0) { UCMessageConfirm ucMessageConfirm = new UCMessageConfirm(args.Result.Join("\r\n\r\n")); ucMessageConfirm.CurrentDialog = Window.ShowDialog(ResComboSaleMaintain.Tip_Confirm, ucMessageConfirm, (obj1, args1) => { if (args1.DialogResult == Newegg.Oversea.Silverlight.Controls.Components.DialogResultType.OK) { new OptionalAccessoriesFacade(this).Update(this.VM, (obj2, args2) => { this.VM.Status = this.VM.TargetStatus; SetButtonStatus(); Window.Alert(ResComboSaleMaintain.Info_Successfully); Window.Refresh(); }); } }); } else { new OptionalAccessoriesFacade(this).Update(this.VM, (obj2, args2) => { this.VM.Status = this.VM.TargetStatus; SetButtonStatus(); Window.Alert(ResComboSaleMaintain.Info_Successfully); Window.Refresh(); }); } }); } else { productSysNos = this.VM.Items.Select(o => o.ProductSysNo.Value).ToList <int>(); new OptionalAccessoriesFacade(this).CheckSaleRuleItemAndDiys(productSysNos, (obj, args) => { if (args.Result.Count > 0) { UCMessageConfirm ucMessageConfirm = new UCMessageConfirm(args.Result.Join("\r\n\r\n")); ucMessageConfirm.CurrentDialog = Window.ShowDialog(ResComboSaleMaintain.Tip_Confirm, ucMessageConfirm, (obj1, args1) => { if (args1.DialogResult == Newegg.Oversea.Silverlight.Controls.Components.DialogResultType.OK) { new OptionalAccessoriesFacade(this).Create(this.VM, (obj2, args2) => { this.VM.Status = ComboStatus.Deactive; Window.Alert(ResComboSaleMaintain.Info_Successfully); Window.Close(); }); } }); } else { new OptionalAccessoriesFacade(this).Create(this.VM, (obj2, args2) => { this.VM.Status = ComboStatus.Deactive; Window.Alert(ResComboSaleMaintain.Info_Successfully); Window.Close(); }); } }); } //Window.Refresh(); } }
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); }); } }