Beispiel #1
0
        private void AddAccountFromRedirect(string redirect)
        {
            var myString = Uri.UnescapeDataString(redirect);

            var splitRes = myString.Replace("?token=", "").Split(new[] { ":::" }, StringSplitOptions.None);
            var token    = splitRes[0];
            //var serverUrl = splitRes[1];

            var apiCl = new SpeckleApiClient(_apiUri)
            {
                AuthToken = token
            };
            var res = apiCl.UserGetAsync().Result;

            var apiToken = res.Resource.Apitoken;
            var email    = res.Resource.Email;

            SaveOrUpdateAccount(new Account()
            {
                RestApi = apiCl.BaseUrl, Email = email, Token = apiToken
            });

            Dispatcher.Invoke(() =>
            {
                //defaultServer = "";
                showSigninsuccess = true;
                isInRequestFlow   = false;
                LoadAccounts();
            });
        }
Beispiel #2
0
        public static async Task <string> GetClientName(string restApi, string apiToken, ISpeckleAppMessenger messenger)
        {
            SpeckleApiClient myClient = new SpeckleApiClient()
            {
                BaseUrl = restApi, AuthToken = apiToken
            };

            ResponseUser user = null;

            try
            {
                user = await myClient.UserGetAsync();
            }
            catch (SpeckleException se)
            {
                if (messenger != null)
                {
                    messenger.Message(MessageIntent.Display, MessageLevel.Error, "Unable to get user's name from server");
                    var context = new List <string>()
                    {
                        "Unable to get user's name from server",
                        "StatusCode=" + se.StatusCode, "ResponseData=" + se.Response, "Message=" + se.Message, "BaseUrl=" + restApi,
                        "Endpoint=UserGetAsync"
                    };
                    if (se is SpeckleException <ResponseBase> && ((SpeckleException <ResponseBase>)se).Result != null)
                    {
                        var responseJson = ((SpeckleException <ResponseBase>)se).Result.ToJson();
                        context.Add("ResponseJson=" + responseJson);
                    }
                    messenger.Message(MessageIntent.TechnicalLog, MessageLevel.Error, se, context.ToArray());
                    return("");
                }
            }
            catch (Exception ex)
            {
                if (messenger != null)
                {
                    messenger.Message(MessageIntent.Display, MessageLevel.Error, "Unable to get user's name from server");
                    messenger.Message(MessageIntent.TechnicalLog, MessageLevel.Error, ex, "Unable to rename stream", "BaseUrl=" + restApi);
                    return("");
                }
            }
            if (user.Resource != null)
            {
                return(string.Join(" ", user.Resource.Name, user.Resource.Surname));
            }
            return("");
        }
Beispiel #3
0
        static async Task TestAccounts(SpeckleApiClient myClient)
        {
            Console.WriteLine();
            try
            {
                Console.WriteLine("Logging in a user.");
                var Response = await myClient.UserLoginAsync(new User()
                {
                    Email = "*****@*****.**", Password = "******"
                });

                Console.WriteLine("OK Got user: "******"Registering user." );
            //try
            //{
            //  var Response = await myClient.UserRegisterAsync( new User() { Name = "Dim", Email = DateTime.Now.ToString() + "*****@*****.**", Password = "******" } );
            //  Console.WriteLine( "OK Results:: " + Response.Resource.ToJson() );
            //}
            //catch ( Exception e )
            //{
            //  Console.WriteLine( e.Message );
            //}

            Console.WriteLine();
            Console.WriteLine("Searching for some users.");
            try
            {
                var Response = await myClient.UserSearchAsync(new User()
                {
                    Email = "testing.com"
                });

                Console.WriteLine("OK Results:: " + Response.Resources.Count);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }


            Console.WriteLine();
            Console.WriteLine("Getting profile.");
            try
            {
                var Response = await myClient.UserGetAsync();

                Console.WriteLine("OK Results:: " + Response.Resource.Email);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }


            Console.WriteLine();
            Console.WriteLine("Updating profile.");
            try
            {
                var Response = await myClient.UserUpdateProfileAsync(new User()
                {
                    Company = "BARARARA"
                });

                Console.WriteLine("OK Results:: " + Response.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

            string userId = "lol";

            Console.WriteLine();
            Console.WriteLine("Getting profile.");
            try
            {
                var Response = await myClient.UserGetAsync(); userId = Response.Resource._id;
                Console.WriteLine("OK Results:: " + Response.Resource.Company);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }


            Console.WriteLine();
            Console.WriteLine("Getting profile by id.");
            try
            {
                var Response = await myClient.UserGetProfileByIdAsync(userId);

                Console.WriteLine("OK Results:: " + Response.Resource.Company);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }