public void GetAllNewsfeeds()
        {
            new Thread(() => {
                NewsfeedRequest request = new NewsfeedRequest()
                {
                    RequestType = RequestType.GetAll
                };

                BaseDto bDto = new BaseDto {
                    Type       = DtoType.Newsfeed,
                    JsonObject = JsonConvert.SerializeObject(request)
                };

                string result = _remoteConnection.Request(bDto);

                if (String.IsNullOrEmpty(result))
                {
                    Log.Error(Tag, "GetAllWallposts error result is null");
                    return;
                }

                var arrayMessage = JsonConvert.DeserializeObject <ArrayMessage>(result);
                var tempItemList = new List <WallPost>();
                foreach (var id in arrayMessage.Ids)
                {
                    var convertedWallPost = GetSingleNewsfeedInternal(id);
                    if (convertedWallPost != null)
                    {
                        tempItemList.Add(convertedWallPost);
                    }
                }
                _newsfeedRepo.AddWallPosts(tempItemList);
                OnUpdate(this, null);
            }).Start();
        }
Esempio n. 2
0
        public void UserLogin()
        {
            new Thread(() => {
                LocalUser user = _privateRepo.GetLocalUser();

                LoginData data = new LoginData()
                {
                    Username = user.Name,
                    Password = user.Password
                };

                var result = _remoteConnection.Request(new BaseDto()
                {
                    JsonObject = JsonConvert.SerializeObject(data), Type = DtoType.Login
                });

                BoolArgs args;

                if (result == null)
                {
                    args = new BoolArgs()
                    {
                        Success = false
                    };
                    FireLoginEvent(args);
                    return;
                }

                var response = ParseLoginResponse(result);

                if (response == null)
                {
                    args = new BoolArgs()
                    {
                        Success = false
                    };
                    FireLoginEvent(args);
                    return;
                }

                if (response.Success)
                {
                    user.Token = response.Token;
                    _privateRepo.UpdateLocalUser(user);
                }

                args = new BoolArgs()
                {
                    Success = response.Success
                };
                FireLoginEvent(args);
            }).Start();
        }