public void ProcessPhone(ListItemModel model)
        {
            RxApp.MainThreadScheduler.Schedule(_ =>
            {
                IsGettingData = true;
                LstAddresses.Clear();
            });

            _client.ExecutionProxy.ExecuteRequest <String, String, ResponseMessageData <AddressInfoModel>, ResponseMessageData <AddressInfoModel> >
                (model.Value, TransferDto.SameType, SharedConstants.Server.ADDRESS_HUB,
                SharedConstants.Server.SEARCH_ADDRESS_BY_PHONE_ADDRESS_HUB_METHOD, TransferDto.SameType)
            .Subscribe(OnAddressListReady, OnAddressListError);
        }
        private void OnAddressListReady(IStale <ResponseMessageData <AddressInfoModel> > obj)
        {
            if (obj.IsStale)
            {
                OnAddressListError(Resources.Network.ResNetwork.ERROR_NETWORK_DOWN);
                return;
            }

            if (obj.Data.IsSuccess == false)
            {
                OnAddressListError(obj.Data.Message);
                return;
            }

            RxApp.MainThreadScheduler.Schedule(_ =>
            {
                IsGettingData = false;
                LstAddresses.Clear();
                var bIsFirst = true;
                foreach (var info in obj.Data.LstData)
                {
                    var row = new AddressInfoGrid
                    {
                        AddressInfo = info,
                        Status      = SharedConstants.Client.RECORD_SAVED,
                        IsSelected  = bIsFirst
                    };

                    OnAddressChanged(row, bIsFirst);
                    LstAddresses.Add(row);
                    bIsFirst = false;
                }

                if (bIsFirst)
                {
                    OnAddressChanged(null, true);
                }
            });
        }