Пример #1
0
        private async Task doLogout()
        {
            try
            {
                IAccountManagerResult isValid = await magocloudClient.AccountManager.IsValid(userData);

                if (isValid.Success)
                {
                    IAccountManagerResult result = await magocloudClient.AccountManager.Logout(userData);

                    if (result.Success)
                    {
                        tbxMessages.Text = "User successfully logged out";
                    }
                    else
                    {
                        tbxMessages.Text = "Logout failed";
                    }
                }
                else
                {
                    tbxMessages.Text = "Login no more valid, logout failed";
                }
            }
            catch (Exception exception)
            {
                tbxMessages.Text = $"Error during logout {exception.Message}";
            }

            userData = null;
        }
Пример #2
0
        private async void btnConnect_Click(object sender, EventArgs e)
        {
            if (userData != null)
            {
                MessageBox.Show("already connected");
                return;
            }

            if (tbxAccountName.Text == string.Empty || tbxRootURL.Text == string.Empty || tbxSubscription.Text == string.Empty)
            {
                MessageBox.Show("missing connection data");
                return;
            }
            try
            {
                magocloudClient = new MagoAPIClient(tbxRootURL.Text, new ProducerInfo("MyProdKey", "MyAppId"));

                IAccountManagerResult result = await magocloudClient.AccountManager?.Login(tbxAccountName.Text, tbxPassword.Text, tbxSubscription.Text);

                if (!result.Success || result.UserData == null || !result.UserData.IsLogged)
                {
                    tbxMessages.Text = "Invalid login\r\n" + result.ReturnValue;
                    return;
                }

                userData         = result.UserData;
                tbxMessages.Text = "Connected succesfully!";
            }
            catch (Exception ex)
            {
                tbxMessages.Text = ex.Message;
            }
        }
        public async Task <ActionResult <TbUserData> > Login([FromBody] LoginRequest loginRequest)
        {
            try
            {
                _magoAPI.Client = new MagoAPIClient(loginRequest.url, new ProducerInfo("MyProdKey", "MyAppId"));

                IAccountManagerResult result = await _magoAPI.Client.AccountManager?.Login(loginRequest.accountName, loginRequest.password, loginRequest.subscriptionKey);

                if (!result.Success || result.UserData == null || !result.UserData.IsLogged)
                {
                    return(new ContentResult {
                        StatusCode = result.StatusCode,
                        Content = $"Error on login: {result.ReturnValue}"
                    });
                }

                return((TbUserData)result.UserData);
            }
            catch (System.Exception e)
            {
                return(new ContentResult {
                    StatusCode = 500,
                    Content = e.Message
                });
            }
        }
        public async Task <ActionResult <bool> > Logout([FromBody] TbUserDataWrapper userData)
        {
            if (_magoAPI.Client == null)
            {
                return(new ContentResult {
                    StatusCode = 500,
                    Content = "Error on logout: not logged in"
                });
            }
            try
            {
                IAccountManagerResult isValid = await _magoAPI.Client.AccountManager.IsValid(userData.Token, userData.SubscriptionKey);

                if (isValid.Success)
                {
                    IAccountManagerResult result = await _magoAPI.Client.AccountManager.Logout(userData.Token, userData.SubscriptionKey);

                    if (result.Success)
                    {
                        _magoAPI.Client = null;
                        return(true);
                    }
                    else
                    {
                        return(new ContentResult {
                            StatusCode = result.StatusCode,
                            Content = $"Error on logout: {result.ReturnValue}"
                        });
                    }
                }
                else
                {
                    return(new ContentResult {
                        StatusCode = 500,
                        Content = "Login no more valid, logout failed."
                    });
                }
            }
            catch (System.Exception e)
            {
                return(new ContentResult {
                    StatusCode = 500,
                    Content = e.Message
                });
            }
        }