Пример #1
0
        /// <summary>
        /// Метод проверки состояния Wi-Fi
        /// </summary>
        /// <returns></returns>
        private bool StatusWiFi()
        {
            if (!CrossConnectivity.Current.IsConnected)
            {
                e = new ReceivedDataEvent(false, "Соединение с интернетом отсутствует");
                return(false);
            }

            return(true);
        }
Пример #2
0
        public async void RequestRSS(string url,
                                     ServerConnectorCallBack Callback = null, object Sender = null)
        {
            Debug.WriteLine("StatusWiFi : " + StatusWiFi());
            try
            {
                if (StatusWiFi())
                {
                    using (var httpClient = new HttpClient())
                    {
                        var response = await httpClient.GetAsync(url);

                        var content = response.Content;
                        var json    = await content.ReadAsStringAsync();

                        Debug.WriteLine("response.StatusCode : " + response.StatusCode);

                        switch (response.StatusCode)
                        {
                        case HttpStatusCode.OK:
                            e = new ReceivedDataEvent(true, json);
                            break;

                        case HttpStatusCode.InternalServerError:
                            e = new ReceivedDataEvent(false, "Сервер не работает");
                            break;

                        case HttpStatusCode.Forbidden:
                            e = new ReceivedDataEvent(false, null);
                            break;

                        default:
                            e = new ReceivedDataEvent(false, json);
                            break;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("RequestRSS : " + ex.Message);
                e = new ReceivedDataEvent(false, "Такой ссылки не сушествует");
            }

            if (ServerDataEvent != null)
            {
                ServerDataEvent?.Invoke(this, e);
            }

            if (Callback != null)
            {
                Callback(Sender, e);
            }
        }
Пример #3
0
        /// <summary>
        /// Ответ запроса по уведомлениям
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void RequestRSSHandler(object sender, ReceivedDataEvent e)
        {
            var _sender = sender as ViewModelDetailRSS;

            Debug.WriteLine("Success : " + e.Success);
            Debug.WriteLine("Data : " + e.Data);

            var list = new List <ModelTableDetailRSS>();

            var listDB = _sender.AllListDetailRSSTable(_sender.modelRSS);

            try
            {
                if (!e.Success)
                {
                    throw new Exception(e.Data);
                }
                else
                {
                    if (listDB.Count != 0)
                    {
                        _sender.ClearDBDetailRSS(listDB);
                    }

                    var doc = XDocument.Parse(e.Data).Descendants("item");
                    var listSourceDetailRSS = (from rss in doc
                                               select AddDetailRSS(rss)).ToList();

                    list = listSourceDetailRSS;
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);

                if (listDB.Count != 0)
                {
                    list = listDB;
                }
                else
                {
                    DisplayAlertService("", ex.Message, "ОК");
                }
            }

            SourceDetailRSS = list;
            Debug.WriteLine("SourceDetailRSS : " + SourceDetailRSS.Count());
            UpdateIsRefreshing(false);
            OnPropertyChanged("");
        }