コード例 #1
0
        /// <summary>
        /// Используется для проверки подключение к интернету перед выполнением функции.
        /// Если нет подключения выводит сообщение об ошибке.
        /// </summary>
        /// <typeparam name="TResult">Результат выполнения функции.</typeparam>
        /// <param name="func">Функция которую нужно выполнить.</param>
        /// <param name="defaultValue">Возвращает в случии неудачи.</param>
        /// <returns></returns>
        public TResult ExecuteOperation <TResult>(Func <TResult> func, TResult defaultValue)
        {
            if (!CheckInternetConnect())
            {
                //TODO: move in res
                _activity.ShowError("Отсутствует подключение к интернету.");
                return(defaultValue);
            }

            try
            {
                TResult result = func.Invoke();
                if (result == null)
                {
                    return(defaultValue);
                }
                return(result);
            }
            catch (WebException e)
            {
                Log.Error(Tag, e.ToString());
                //TODO: move in res
                _activity.ShowError(e.ToString());
                return(defaultValue);
            }
        }