Beispiel #1
0
 public LoginResult(bool canAccess, string loginMessage, int possibleTryNumber, LoginActionResult actionResult)
 {
     _loginMessage      = loginMessage;
     _canAccess         = canAccess;
     _possibleTryNumber = possibleTryNumber;
     _actionResult      = actionResult;
 }
        public async static void SendLoginRequest(string email, string password)
        {
            var authenticationString = $"{email}:{password}";
            var base64EncodedAuthenticationString = Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(authenticationString));

            var requestMessage = new HttpRequestMessage(HttpMethod.Post, Constants.API_LOGIN_POST);

            requestMessage.Headers.Authorization = new AuthenticationHeaderValue("Basic", base64EncodedAuthenticationString);

            LoginRequestResponseModel loginResult = new LoginRequestResponseModel();
            HttpResponseMessage       response    = await SendRequest(requestMessage);

            LoginResultEventArgs args = new LoginResultEventArgs();

            if (response.StatusCode == System.Net.HttpStatusCode.OK)
            {
                string           responseBody = response.Content.ReadAsStringAsync().Result;
                AccountInfoModel model        = JsonConvert.DeserializeObject <AccountInfoModel>(responseBody);

                args.AccountData = model;
                args.Successful  = true;
            }
            else
            {
                args.Message     = response.ReasonPhrase;
                args.Successful  = false;
                args.AccountData = null;
            }

            LoginActionResult?.Invoke(null, args);
        }