Пример #1
0
        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;
        }