public async Task HandleContactSelection(ListResponseItem contact) { var launcher = Mvx.Resolve <ILauncherService>(); var userDialogs = Mvx.Resolve <IUserDialogs>(); switch (contact.Type) { case ContactTypes.Email: if (CrossMessaging.Current.EmailMessenger.CanSendEmail) { CrossMessaging.Current.EmailMessenger.SendEmail(contact.Value); } break; case ContactTypes.Phone: if (await userDialogs.Confirm($"{LocalizationService.GetLocalizableString(ContactsConstants.RESX_NAME, "CallTo")} {contact.DisplayValue}?", LocalizationService.GetLocalizableString(ContactsConstants.RESX_NAME, "MakeCall")) && CrossMessaging.Current.PhoneDialer.CanMakePhoneCall) { CrossMessaging.Current.PhoneDialer.MakePhoneCall(contact.DisplayValue); } break; case ContactTypes.Url: await launcher.LaunchUri(contact.Value); break; case ContactTypes.Address: if (await userDialogs.Confirm(LocalizationService.GetLocalizableString(ContactsConstants.RESX_NAME, "OpenInMap"), LocalizationService.GetLocalizableString(ContactsConstants.RESX_NAME, "GoToMap"))) { await launcher.LaunchAddress(contact.Value); } break; } }
public async Task HandleContactSelection(ListResponseItem contact) { var launcher = Mvx.Resolve <ILauncherService>(); var userDialogs = Mvx.Resolve <IUserDialogs>(); switch (contact.Type) { case ContactTypes.Email: if (CrossMessaging.Current.EmailMessenger.CanSendEmail) { CrossMessaging.Current.EmailMessenger.SendEmail(contact.Value); } break; case ContactTypes.Phone: if (await userDialogs.Confirm($"Набрать {contact.DisplayValue}?", "Набрать") && CrossMessaging.Current.PhoneDialer.CanMakePhoneCall) { CrossMessaging.Current.PhoneDialer.MakePhoneCall(contact.DisplayValue); } break; case ContactTypes.Url: await launcher.LaunchUri(contact.Value); break; case ContactTypes.Address: if (await userDialogs.Confirm($"Перейти в Карты?", "Перейти")) { await launcher.LaunchAddress(contact.Value); } break; } }
public void Convert_Should_Return_Item_With_Name_From_Response_Item(string name) { var item = new ListResponseItem { Name = name, Link = "some_link" }; var actual = itemConverter.Convert(item); actual.Name.Should().Be(name); }
public void Convert_Should_Return_Null_If_Response_Item_Link_Is_Null_Or_Empty(string link) { var item = new ListResponseItem { Name = "2323", Link = link }; var actual = itemConverter.Convert(item); actual.Should().BeNull(); }
public void Convert_Should_Return_Item_With_Link_With_Url_Prefix_From_Settings(string url) { A.CallTo(() => settings.SelenoidHostUrl).Returns(url).Once(); var item = new ListResponseItem { Name = "name1", Link = "link1" }; var actual = itemConverter.Convert(item); actual.Link.Should().Be($"{url}/test1/link1"); }
public void Convert_Should_Return_Item_With_Name_And_Link_From_Response_Item() { var item = new ListResponseItem { Name = "name1", Link = "link1" }; var expected = new SelenoidListItem { Name = "name1", Link = new Uri("http://selenoid-host.example.com:4444/test1/link1") }; var actual = itemConverter.Convert(item); actual.Should().BeEquivalentTo(expected); }
public void Convert_Should_Item_Converter_On_Every_Item_From_Deserialized_Response() { var firstResponseItem = new ListResponseItem(); var secondResponseItem = new ListResponseItem(); var listResponse = new ListResponse { Items = new[] { firstResponseItem, secondResponseItem, } }; A.CallTo(() => deserializer.Deserialize(A <string> .Ignored)).Returns(listResponse); var actual = itemsConverter.Convert("some"); A.CallTo(() => singleItemConverter.Convert(firstResponseItem)).MustHaveHappenedOnceExactly(); A.CallTo(() => singleItemConverter.Convert(secondResponseItem)).MustHaveHappenedOnceExactly(); }
private void OnContactSelected(ListResponseItem contact) { VmService.HandleContactSelection(contact); }