private void btnAddVAT_Click(object sender, RoutedEventArgs e) { CustomerVM vm = this.DataContext as CustomerVM; ValueAddedTaxInvoiceDetail uc = new ValueAddedTaxInvoiceDetail(); IDialog dialog = Window.ShowDialog(ResCustomerMaintain.Title_ValueAddedTaxInfo, uc, (obj, args) => { if (args.DialogResult == DialogResultType.OK) { var vat = args.Data as ValueAddedTaxInfoVM; vat.CustomerSysNo = vm.SysNo; var original = vm.ValueAddedTaxInfoList.FirstOrDefault(p => p.SysNo == vat.SysNo); if (original == null) { facade.CreateValueAddedTaxInfo(vat, (result) => { //默认的话把其它默认清空 if (result.IsDefault.Value) { vm.ValueAddedTaxInfoList.ForEach(item => { item.IsDefault = false; }); } vm.ValueAddedTaxInfoList.Add(result); }); } else { int index = vm.ValueAddedTaxInfoList.IndexOf(original); vm.ValueAddedTaxInfoList.RemoveAt(index); vm.ValueAddedTaxInfoList.Insert(index, vat); } } }); uc.Dialog = dialog; }