private void EditEmail(Email item) { if (AddAddressPhoneEmailInteractioNRequest != null) { var emailToEdit = item.DeepClone(_entityFactory as IKnownSerializationTypes); var itemVm = _emailVmFactory.GetViewModelInstance(new KeyValuePair <string, object>("item", emailToEdit)); var confirmation = new ConditionalConfirmation { Title = "Enter email details".Localize(), Content = itemVm }; AddAddressPhoneEmailInteractioNRequest.Raise(confirmation, (x) => { if (x.Confirmed) { var itemTUpdate = (x.Content as IEmailDialogViewModel) .InnerItem; var itemFromInnerItem = ContactEmails.SingleOrDefault( e => e.EmailId == itemTUpdate.EmailId); if (itemFromInnerItem != null) { itemFromInnerItem.InjectFrom(itemTUpdate); _parentViewModel.IsModified = true; } } }); } }
private void AddPhone() { if (AddAddressPhoneEmailInteractioNRequest != null) { var itemVm = _phoneVmFactory.GetViewModelInstance(new KeyValuePair <string, object>("item", new Phone())); var confirmation = new ConditionalConfirmation { Title = "Enter phone details".Localize(), Content = itemVm }; AddAddressPhoneEmailInteractioNRequest.Raise(confirmation, (x) => { if (x.Confirmed) { var phoneToAdd = (x.Content as IPhoneNumberDialogViewModel) .InnerItem; ContactPhones.Add(phoneToAdd); AddPhoneCommand.RaiseCanExecuteChanged(); } }); } }
private void AddEmail() { if (AddAddressPhoneEmailInteractioNRequest != null) { var itemVm = _emailVmFactory.GetViewModelInstance(new KeyValuePair <string, object>("item", new Email())); var confirmation = new ConditionalConfirmation { Title = "Enter email details".Localize(), Content = itemVm }; AddAddressPhoneEmailInteractioNRequest.Raise(confirmation, (x) => { if (x.Confirmed) { var itemToAdd = (x.Content as IEmailDialogViewModel) .InnerItem; itemToAdd.MemberId = InnerItem.MemberId; if (ContactEmails.Count == 0 || ContactEmails.All(e => e.Type != EmailType.Primary.ToString())) { itemToAdd.Type = EmailType.Primary.ToString(); } ContactEmails.Add(itemToAdd); } }); } }
private void AddAddress() { if (AddAddressPhoneEmailInteractioNRequest != null) { var countries = CountryRepository.Countries.Expand(c => c.Regions).ToArray(); var parameters = new List <KeyValuePair <string, object> > { new KeyValuePair <string, object>("item", new Address()), new KeyValuePair <string, object>("countries", countries) }; var itemVm = _addressVmFactory.GetViewModelInstance(parameters.ToArray()); var confirmation = new ConditionalConfirmation { Title = "Enter address details".Localize(), Content = itemVm }; AddAddressPhoneEmailInteractioNRequest.Raise(confirmation, (x) => { if (x.Confirmed) { var itemToAdd = (x.Content as IAddressDialogViewModel) .InnerItem; itemToAdd.MemberId = InnerItem.MemberId; ContactAddresses.Add(itemToAdd); } }); } }
private void EditAddress(Address item) { if (AddAddressPhoneEmailInteractioNRequest != null) { var addressToEdit = item.DeepClone(_entityFactory as IKnownSerializationTypes); var countries = CountryRepository.Countries.Expand(c => c.Regions).ToArray(); var parameters = new List <KeyValuePair <string, object> > { new KeyValuePair <string, object>("item", addressToEdit), new KeyValuePair <string, object>("countries", countries) }; var itemVm = _addressVmFactory.GetViewModelInstance(parameters.ToArray()); var confirmation = new ConditionalConfirmation { Title = "Enter address details".Localize(), Content = itemVm }; AddAddressPhoneEmailInteractioNRequest.Raise(confirmation, (x) => { if (x.Confirmed) { var itemToUpdate = (x.Content as IAddressDialogViewModel).InnerItem; var itemFromInnerItem = ContactAddresses.SingleOrDefault( a => a.AddressId == itemToUpdate.AddressId); if (itemFromInnerItem != null) { itemFromInnerItem.InjectFrom(itemToUpdate); _parentViewModel.IsModified = true; } } }); } }