예제 #1
0
        public async Task LoginCarePerson(AuthCarePersonModel authCarePersonModel)
        {
            AuthCarePersonViewModel authCarePersonViewModel = new AuthCarePersonViewModel();

            authCarePersonViewModel.ShareCode = authCarePersonModel.ShareCode;

            await authCarePersonViewModel.LoginCareUser(authCarePersonModel);

            var  viewModel = ServiceLocator.Current.GetInstance <MainNavigationViewModel>();
            var  typeValue = viewModel.ViewType;
            Type type      = typeof(LoginPage);

            switch (typeValue)
            {
            case ViewType.LoginPage:
                type = typeof(LoginPage);
                await Navigation.PushAsync(new LoginPage());

                break;

            case ViewType.RegisterPage:
                type = typeof(RegisterPage);
                await Navigation.PushAsync(new RegisterPage());

                break;

            case ViewType.MainPage:
                type = typeof(MainPage);
                await Navigation.PushAsync(new MainPage());

                break;
            }
        }
예제 #2
0
        public async Task <string> LoginCarePersonAsync(int shareCode)
        {
            var client = new HttpClient();

            client.DefaultRequestHeaders.Clear();
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            client.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/json-patch+json");

            var model = new AuthCarePersonModel
            {
                ShareCode = shareCode
            };

            var json = JsonConvert.SerializeObject(model);

            byte[] messageBytes = System.Text.Encoding.UTF8.GetBytes(json);
            var    content      = new ByteArrayContent(messageBytes);

            content.Headers.ContentType = new MediaTypeHeaderValue("application/json");

            var response = await client.PostAsync("https://06b9d5c2.ngrok.io/api/Account/loginCarePerson", content);

            var resultResponse = await response.Content.ReadAsStringAsync();

            return(resultResponse);
        }
예제 #3
0
        public async void Button_Clicked_Login(object sender, EventArgs e)
        {
            var resultShareCode  = shareCodeEntry.Text;
            var convertShareCode = Convert.ToInt32(resultShareCode);
            AuthCarePersonModel authCarePersonModel = new AuthCarePersonModel()
            {
                ShareCode = convertShareCode
            };

            await LoginCarePerson(authCarePersonModel);
        }
예제 #4
0
        public async Task LoginCareUser(AuthCarePersonModel authCarePersonModel)
        {
            var responseResult = await _apiServices.LoginCarePersonAsync(authCarePersonModel.ShareCode);

            try
            {
                var token = JsonConvert.DeserializeObject <JwtToken>(responseResult);
                ServiceLocator.Current.GetInstance <UserViewModel>().JwtToken = token;
                this.IsUserAuthorized = true;
            }
            catch
            {
                this.IsUserAuthorized = false;
            }
            if (this.isUserAuthorized)
            {
                ServiceLocator.Current.GetInstance <MainNavigationViewModel>().ViewType = ViewType.MainPage;
            }
        }