Esempio n. 1
0
        public async Task <TryResult <string> > FacebookLogin()
        {
            var result = await facebookLoginService.Login();

            if (!result.OperationSucceeded)
            {
                if (result.Result?.LoginState == SocialLoginStateEnum.Canceled)
                {
                    return(TryResult.Create(false, Translator.GetText("FacebookLoginCanceled")));
                }
                if (result.Result?.LoginState == SocialLoginStateEnum.Failed)
                {
                    return(TryResult.Create(false, result.Result?.ErrorString));
                }
            }

            var loginInfo = new LoginInfo
            {
                Fb = new LoginInfo.Types.FacebookInfo
                {
                    Token = result.Result.Token
                }
            };

            var loginResult = await _client.loginAsync(loginInfo, new CallOptions());

            if (loginResult?.Error != null)
            {
                return(TryResult.Create(false, loginResult?.Error?.Message));
            }

            this.timelessTokenService.AuthorizationToken = loginResult.AuthToken;
            return(TryResult.Create(true, string.Empty));
        }
Esempio n. 2
0
 void LoginHandler(LoginManagerLoginResult loginResult, NSError error)
 {
     if (loginResult.IsCancelled)
     {
         _facebookTask.TrySetResult(TryResult.Create(false,
                                                     new SocialData
         {
             LoginState = SocialLoginStateEnum.Canceled
         }));
     }
     else if (error != null)
     {
         _facebookTask.TrySetResult(TryResult.Create(false,
                                                     new SocialData
         {
             LoginState  = SocialLoginStateEnum.Failed,
             ErrorString = error.LocalizedDescription
         }));
     }
     else
     {
         _socialData = new SocialData
         {
             Token    = loginResult.Token.TokenString,
             UserId   = loginResult.Token.UserId,
             ExpireAt = loginResult.Token.ExpirationDate.ToDateTimeUtc()
         };
         _facebookTask.TrySetResult(TryResult.Create(true, _socialData));
     }
 }
Esempio n. 3
0
        public async Task <TryResult <string> > AnonymousLogin()
        {
            var loginInfo = new LoginInfo
            {
                Anon = new LoginInfo.Types.AnonymousInfo
                {
                    DeviceId = ByteString.CopyFromUtf8(uniqueDeviceIdService.UniqueDeviceId)
                }
            };

            var loginResult = await _client.loginAsync(loginInfo, new CallOptions());

            if (loginResult?.Error == null)
            {
                this.timelessTokenService.AuthorizationToken = loginResult.AuthToken;
                return(TryResult.Create(true, string.Empty));
            }

            return(TryResult.Create(false, loginResult?.Error?.Message));
        }
Esempio n. 4
0
        public async Task <TryResult <DetectModelParameter> > TryDetectModel(byte[] image)
        {
            var postResult = await client.DetectModelAsync(new DetectModelRequest
            {
                Image = ByteString.CopyFrom(image),
            }, null);

            if (!postResult.IsSuccess)
            {
                return(TryResult.Create(false, new DetectModelParameter()
                {
                    Error = postResult.Error
                }));
            }

            var detectModelParameter = postResult.ToDetectModelParameter();

            detectModelParameter.Bytes = image;

            return(TryResult.Create(true, detectModelParameter));
        }