コード例 #1
0
        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;
            }
        }
コード例 #2
0
        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;
            }
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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();
        }
コード例 #5
0
        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");
        }
コード例 #6
0
        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);
        }
コード例 #7
0
        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();
        }
コード例 #8
0
        private void OnContactSelected(ListResponseItem contact)
		{
            VmService.HandleContactSelection(contact);
		}