protected override void AvatarClicked(object item)
        {
            var message = item as IDirectMessageModel;
            var user    = message.User;

            StorageService.UpdateTempUserName(user.ScreenName);
            StorageService.AddOrUpdateCachedUser(user);
            NavigationService.UriFor <ProfilePageViewModel>()
            .WithParam(o => o.Random, DateTime.Now.Ticks.ToString("x"))
            .WithParam(o => o.ScreenName, user.ScreenName)
            .Navigate();
        }
        public async Task <IUserModel> ShowAsync(IDictionary <string, object> parameters)
        {
            IUserModel model = null;

            if (!parameters.ContainsKey(Const.NEED_REFRESH))
            {
                model = StorageService.GetCachedUser(parameters[Const.USER_SCREEN_NAME] as string);
            }
            if (model != null)
            {
                return(model);
            }
            var user = await tokens.Users.ShowAsync(parameters);

            if (user == null)
            {
                return(null);
            }
            model = new UserModel(user);
            StorageService.AddOrUpdateCachedUser(model);
            return(model);
        }