示例#1
0
        public async Task <ServiceResponse <ObservableCollection <Tweet> > > GetHomeFeed()
        {
            var models = new ObservableCollection <Tweet> ();

            try
            {
                if (_connectivityService.IsConnected)
                {
                    var dtos = await _twitterApi.GetHomeFeed();

                    foreach (TwitterFeedItemDto dto in dtos)
                    {
                        var model = Mapper.Map <Tweet> (dto);
                        models.Add(model);
                    }

                    return(new ServiceResponse <ObservableCollection <Tweet> >(models, ServiceResponseType.SUCCESS));
                }
                else
                {
                    return(new ServiceResponse <ObservableCollection <Tweet> >(models, ServiceResponseType.NO_CONNECTION));
                }
            }
            catch (BaseException e)
            {
                return(new ServiceResponse <ObservableCollection <Tweet> > (models, ServiceResponseType.ERROR));
            }
            catch (Exception exception)
            {
                _logger.Log(new ServiceException("Error getting tweets", exception), LogType.ERROR);
                return(new ServiceResponse <ObservableCollection <Tweet> > (models, ServiceResponseType.ERROR));
            }
        }