private void btnUpdateGroup_Click(object sender, RoutedEventArgs e) { HyperlinkButton btn = sender as HyperlinkButton; //深Copy导致RecommendTypeList多出两条空记录,故重新在取一次RecommendTypeList var vm = UtilityHelper.DeepClone <SaleAdvGroupVM>(btn.DataContext as SaleAdvGroupVM); vm.RecommendTypeList = ECCentral.Portal.Basic.Utilities.EnumConverter.GetKeyValuePairs <RecommendType>(); UCSaleAdvGroupInfo uc = new UCSaleAdvGroupInfo(); uc.Page = this; uc.DataContext = vm; IDialog dialog = Window.ShowDialog(ResSaleAdvTemplateItemMaintain.PopTitle_GroupInfo, uc, (obj, args) => { if (args.DialogResult == DialogResultType.OK) { var item = args.Data as SaleAdvGroupVM; var i = this.VM.Groups.FirstOrDefault(p => p.SysNo == vm.SysNo); int index = this.VM.Groups.IndexOf(i); this.VM.Groups.RemoveAt(index); this.VM.Groups.Insert(index, item); this.dataSaveAdvGroups.ItemsSource = this.VM.Groups.Where(p => p.SysNo > 0).ToList(); this.dataSaleAdvItems.ItemsSource = this.VM.Items; } }); uc.Dialog = dialog; }
private void btnAddGroup_Click(object sender, RoutedEventArgs e) { UCSaleAdvGroupInfo uc = new UCSaleAdvGroupInfo(); uc.Page = this; uc.DataContext = new SaleAdvGroupVM { SaleAdvSysNo = this.VM.SysNo }; IDialog dialog = Window.ShowDialog(ResSaleAdvTemplateItemMaintain.PopTitle_GroupInfo, uc, (obj, args) => { if (args.DialogResult == DialogResultType.OK) { var vm = args.Data as SaleAdvGroupVM; //如果勾选了所有分组适用,则更新所有Group的EditUser和EditDate以及ShowStartDate和ShowEndDate if ((uc.DataContext as SaleAdvGroupVM).AllGroup) { foreach (var g in this.VM.Groups) { g.ShowStartDate = vm.ShowStartDate; g.ShowEndDate = vm.ShowEndDate; g.EditDate = vm.EditDate; g.EditUser = vm.EditUser; } } this.VM.Groups.Add(vm); //this.dataSaveAdvGroups.ItemsSource = this.VM.Groups; this.dataSaveAdvGroups.ItemsSource = this.VM.Groups.Where(p => p.SysNo > 0).ToList(); Window.Alert(ResSaleAdvTemplateItemMaintain.Info_Successfully); } }); uc.Dialog = dialog; }