예제 #1
0
        private void btnAddShippingAddress_Click(object sender, RoutedEventArgs e)
        {
            CustomerVM vm = this.DataContext as CustomerVM;
            ShippingAddressInfoDetail shipping = new ShippingAddressInfoDetail();
            IDialog dialog = Window.ShowDialog(ResCustomerMaintain.Title_ShippingAddress, shipping, (obj, args) =>
            {
                if (args.DialogResult == DialogResultType.OK)
                {
                    var shippingAddress           = args.Data as ShippingAddressVM;
                    shippingAddress.CustomerSysNo = vm.SysNo;
                    var original = vm.ShippingAddressList.FirstOrDefault(p => p.SysNo == shippingAddress.SysNo);
                    if (original == null)
                    {
                        facade.CreateShippingAddress(shippingAddress, (result) =>
                        {
                            //默认的话把其它默认清空
                            if (result.IsDefault.Value)
                            {
                                vm.ShippingAddressList.ForEach(item => { item.IsDefault = false; });
                            }
                            vm.ShippingAddressList.Add(result);
                        });
                    }
                    else
                    {
                        int index = vm.ShippingAddressList.IndexOf(original);
                        vm.ShippingAddressList.RemoveAt(index);
                        vm.ShippingAddressList.Insert(index, shippingAddress);
                    }
                }
            });

            shipping.Dialog = dialog;
        }