private void AddShippingPackage() { var parameters = new[] { new KeyValuePair <string, object>("item", new ShippingPackage()), new KeyValuePair <string, object>("selectedPackaging", InnerItem.ShippingPackages.Select(sp => sp.MappedPackagingId).ToList()) }; var itemVm = _addPackageVmFactory.GetViewModelInstance(parameters); var confirmation = new ConditionalConfirmation { Title = "Add Payment package".Localize(), Content = itemVm }; if (AddEditShippingPackageRequest != null) { AddEditShippingPackageRequest.Raise(confirmation, (x) => { if (x.Confirmed) { var itemToAdd = (x.Content as IShippingOptionAddShippingPackageViewModel).InnerItem; InnerItem.ShippingPackages.Add(itemToAdd); } }); } }
private void EditShippingPackage(ShippingPackage selectedItem) { var itemToUpdate = selectedItem; var selectedItems = InnerItem.ShippingPackages.Select(sp => sp.MappedPackagingId).ToList(); selectedItems.Remove(itemToUpdate.MappedPackagingId); var parameters = new[] { new KeyValuePair <string, object> ("item", itemToUpdate), new KeyValuePair <string, object> ("selectedPackaging", selectedItems) }; var itemVm = _addPackageVmFactory.GetViewModelInstance(parameters); var confirmation = new ConditionalConfirmation { Title = "Add Payment package".Localize(), Content = itemVm }; if (AddEditShippingPackageRequest != null) { AddEditShippingPackageRequest.Raise(confirmation, (x) => { if (x.Confirmed) { var itemFromDialog = (x.Content as IShippingOptionAddShippingPackageViewModel).InnerItem; OnUIThread(() => itemToUpdate.InjectFrom <CloneInjection>(itemFromDialog)); IsModified = true; } }); } }