Пример #1
0
        //public async Task<Root> LoginUser(Users user)
        //{
        //    Root login = new Root();
        //    using (HttpClient httpClient = new HttpClient())
        //    {
        //        httpClient.BaseAddress = new Uri(App.BaseUrl);
        //        httpClient.DefaultRequestHeaders.Accept.Clear();
        //        httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
        //        var json = JsonConvert.SerializeObject(user);
        //        var content = new StringContent(json, Encoding.UTF8, "application/json");
        //        HttpResponseMessage response = httpClient.PostAsync("/api/user/login?_format=json", content).Result;
        //        if (response.IsSuccessStatusCode == true)
        //        {
        //            var responsebody = response.Content.ReadAsStringAsync().Result;
        //            login = JsonConvert.DeserializeObject<Root>(responsebody);
        //            return login;
        //        }
        //        else
        //        {

        //        }
        //    }
        //    return login;
        //}
        public async Task <LoginResponse> Login(Users user)
        {
            LoginResponse   login;
            LoginCookieData cokkie;
            var             CookieContainer = new CookieContainer();
            var             handler         = new HttpClientHandler()
            {
                CookieContainer = CookieContainer
            };
            var _client = new HttpClient(handler);

            using (HttpClient httpClient = new HttpClient(new NativeMessageHandler()))
            {
                string data    = JsonConvert.SerializeObject(user);
                var    content = new StringContent(data, Encoding.UTF8, "application/json");
                //var response = await httpClient.PostAsync(Config.Login, content);
                var response = await _client.PostAsync(App.BaseUrl + "/api/user/login?_format=json", content);

                if (response.IsSuccessStatusCode == true)
                {
                    var json = await response.Content.ReadAsStringAsync();

                    var         result      = CookieContainer.GetCookies(new Uri(App.BaseUrl + "/api/user/login?_format=json"));
                    Datamanager dataManager = new Datamanager();
                    foreach (Cookie cookie in result)
                    {
                        cokkie = new LoginCookieData()
                        {
                            cookieName  = cookie.Name,
                            cookieValue = cookie.Value,
                            Comment     = cookie.Comment,
                            CommentUri  = cookie.CommentUri,
                            Path        = cookie.Path,
                            Port        = cookie.Port,
                            Discard     = cookie.Discard,
                            Expires     = cookie.Expires,
                            HttpOnly    = cookie.HttpOnly,
                            Version     = cookie.Version,
                            Domain      = cookie.Domain,
                            Expired     = cookie.Expired,
                            Secure      = cookie.Secure,
                        };
                        int results = await dataManager.SaveUserDetailAsync(cokkie);
                    }
                    App.Wrongcredentialresponse = json.ToString();
                    login = JsonConvert.DeserializeObject <LoginResponse>(json);
                }
                else
                {
                    var json = await response.Content.ReadAsStringAsync();

                    login = JsonConvert.DeserializeObject <LoginResponse>(json);
                }
            }
            return(login);
        }
Пример #2
0
        private async void btnsave_Clicked(object sender, EventArgs e)
        {
            Datamanager dataManager = new Datamanager();

            users = new UserDetail()
            {
                Username  = name.Text,
                UserPhone = phone.Text,
                UserEmail = email.Text,
                Savetime  = DateTime.Now.ToShortTimeString()
            };
            int result = await dataManager.SaveUserDetailAsync(users);

            if (result == 1)
            {
                name.Text  = string.Empty;
                phone.Text = string.Empty;
                email.Text = string.Empty;
                await DisplayAlert("", "Record Saved", "OK");
            }
        }