public async Task Login()
        {
            if (!String.IsNullOrEmpty(Model.Password) && !String.IsNullOrEmpty(Model.UserName))
            {
                MessageAndStatus response = null;
                LoginError = null;
                try
                {
                    response = await _userService.LoginAsync(Model.UserName, Model.Password);

                    LoginError = null;
                }
                catch (Exception ex)
                {
                    //if (string.IsNullOrEmpty(App.Token))
                    LoginError = "Connection problem.";
                }

                if (response.Status == "OK" && !string.IsNullOrEmpty(response.Message))
                {
                    App.UserName = Model.UserName;
                    App.Token    = response.Message;

                    await Navigation.PushAsync(App.Container.Resolve <ListAggregationPage>());
                }
                else
                {
                    if (!string.IsNullOrEmpty(response.Message) && response.Message != "User")
                    {
                        LoginError = response.Message;
                    }
                    else
                    {
                        LoginError = response.Message switch
                        {
                            "User" => "Bad Login or Password.",
                            "" => "Service internal error.",
                            _ => "Some error"
                        };
                    }
                }
            }
        }
        public async Task <MessageAndStatus> LoginAsync(string userName, string password)
        {
            var querry = new QueryBuilder();

            querry.Add("userName", userName);
            querry.Add("password", password);

            var requestMessage = new HttpRequestMessage(HttpMethod.Post, "User/Login" + querry.ToString());

            // await SetRequestBearerAuthorizationHeader(requestMessage);

            requestMessage.Content = new StringContent("");

            requestMessage.Content.Headers.ContentType
                = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");

            MessageAndStatus message = null;

            try
            {
                var source = new CancellationTokenSource();

                _ = Task.Run(async() => {
                    await Task.Delay(10000);
                    source.Cancel();
                });


                var response = await _httpClient.SendAsync(requestMessage, source.Token);

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

                message = JsonConvert.DeserializeObject <MessageAndStatus>(data);
            }
            catch
            {
                message = new MessageAndStatus {
                    Status = "ERROR", Message = "Connection problem."
                };
            }
            return(await Task.FromResult(message));
        }