public List <DtoAvatar> GetAvatar()
        {
            try
            {
                List <DtoAvatar> avatar = new List <DtoAvatar>();

                using (SqlConnection con = new SqlConnection(GetConnectionString()))
                {
                    SqlCommand cmd = new SqlCommand("[dbo].[pr_getListAvatar]", con)
                    {
                        CommandType = CommandType.StoredProcedure
                    };

                    SqlDataReader sqlDataReader = null;

                    con.Open();
                    sqlDataReader = cmd.ExecuteReader();

                    while (sqlDataReader.Read())
                    {
                        DtoAvatar item = new DtoAvatar();
                        if (!sqlDataReader.IsDBNull(0))
                        {
                            item.idImage = sqlDataReader.GetInt32(0);
                        }
                        if (!sqlDataReader.IsDBNull(1))
                        {
                            item.Name = sqlDataReader.GetString(1);
                        }
                        if (!sqlDataReader.IsDBNull(2))
                        {
                            item.IsAtivo = sqlDataReader.GetBoolean(2);
                        }

                        avatar.Add(item);
                    }

                    return(avatar);
                }
            }
            catch (Exception Ex)
            {
                throw new Exception(Ex.Message);
            }
        }
        async void Save_Clicked(object sender, EventArgs e)
        {
            //MessagingCenter.Send(this, "AddItem", Item);

            if (String.IsNullOrEmpty(txtName.Text))
            {
                await DisplayAlert("Atenção", "Digite um nome válido!", "Entendi");

                txtName.Focus();
                return;
            }

            if (String.IsNullOrEmpty(txtLogin.Text))
            {
                await DisplayAlert("Atenção", "Digite um login válido!", "Entendi");

                txtLogin.Focus();
                return;
            }

            if (String.IsNullOrEmpty(txtSenha.Text))
            {
                await DisplayAlert("Atenção", "Digite uma senha válida!", "Entendi");

                txtSenha.Focus();
                return;
            }

            ValidaEmail validEmail = new ValidaEmail();

            if (!validEmail.IsValidEmail(txtLogin.Text))
            {
                await DisplayAlert("Atenção", "Esse não é um e-mail válido!", "Entendi");

                txtLogin.Focus();
                return;
            }

            DtoAvatar avatar = new DtoAvatar();

            avatar = (DtoAvatar)ItemsCollectionView.SelectedItem;

            if (avatar == null)
            {
                await DisplayAlert("Atenção", "É necessário escolher um avatar", "Entendi");

                ItemsCollectionView.Focus();
                return;
            }

            try
            {
                using (var client = new HttpClient())
                {
                    waitActivityIndicator.IsRunning = true;

                    var loginRequest = new DtoLogin
                    {
                        Name     = txtName.Text,
                        Login    = txtLogin.Text,
                        Password = txtSenha.Text,
                        Avatar   = avatar.Name
                    };


                    var jsonRequest = JsonConvert.SerializeObject(loginRequest);
                    var httpContent = new StringContent(jsonRequest, Encoding.UTF8, "application/json");

                    string uri = "http://207.180.246.227:8095/admin/Login/Insert";

                    var retorno = await client.PostAsync(uri, httpContent);

                    var resultString = await retorno.Content.ReadAsStringAsync();

                    if (retorno.StatusCode == System.Net.HttpStatusCode.BadRequest)
                    {
                        await DisplayAlert("Erro", resultString, "Ok");

                        waitActivityIndicator.IsRunning = false;
                        return;
                    }

                    await DisplayAlert("Sucesso.", "Conta criada com sucesso", "Registrado");

                    if (Application.Current.Properties.ContainsKey("login") && Application.Current.Properties.ContainsKey("senha"))
                    {
                        Application.Current.Properties["login"] = loginRequest.Login;
                        Application.Current.Properties["senha"] = loginRequest.Password;
                    }
                    else
                    {
                        Application.Current.Properties.Add("login", loginRequest.Login);
                        Application.Current.Properties.Add("senha", loginRequest.Password);
                    }

                    waitActivityIndicator.IsRunning = false;

                    Application.Current.MainPage = new LoginPage();
                }
            }
            catch (Exception ex)
            {
                await DisplayAlert("Erro", ex.Message, "Erro ao cadastrar...");

                waitActivityIndicator.IsRunning = false;
                return;
            }


            await Navigation.PopModalAsync();
        }
        async void Save_Clicked(object sender, EventArgs e)
        {
            //MessagingCenter.Send(this, "AddItem", Item);

            if (String.IsNullOrEmpty(txtName.Text))
            {
                await DisplayAlert("Atenção", "Digite um nome válido!", "Entendi");

                txtName.Focus();
                return;
            }

            if (String.IsNullOrEmpty(txtLogin.Text))
            {
                await DisplayAlert("Atenção", "Digite um login válido!", "Entendi");

                txtLogin.Focus();
                return;
            }

            if (String.IsNullOrEmpty(txtSenha.Text))
            {
                await DisplayAlert("Atenção", "Digite uma senha válida!", "Entendi");

                txtSenha.Focus();
                return;
            }

            ValidaEmail validEmail = new ValidaEmail();

            if (!validEmail.IsValidEmail(txtLogin.Text))
            {
                await DisplayAlert("Atenção", "Esse não é um e-mail válido!", "Entendi");

                txtLogin.Focus();
                return;
            }

            DtoAvatar avatar = new DtoAvatar();

            avatar = (DtoAvatar)ItemsCollectionView.SelectedItem;

            if (avatar == null)
            {
                await DisplayAlert("Atenção", "É necessário escolher um avatar", "Entendi");

                ItemsCollectionView.Focus();
                return;
            }

            try
            {
                using (var client = new HttpClient())
                {
                    waitActivityIndicator.IsRunning = true;

                    var unitTrackerRequest = new DtoUnitTracker
                    {
                        Name                   = txtName.Text,
                        Login                  = txtLogin.Text,
                        Password               = txtSenha.Text,
                        CalculoDistancia       = Convert.ToInt32(lblCalculoDistancia.Text),
                        IntervaloPosicao       = Convert.ToInt32(lblIntervaloPosicao.Text),
                        IntervaloPosicaoParado = Convert.ToInt32(lblIntervaloPosicaoParado.Text),
                        IdAdmin                = (int)Application.Current.Properties["IdUser"],
                        Avatar                 = avatar.Name
                    };


                    var jsonRequest = JsonConvert.SerializeObject(unitTrackerRequest);
                    var httpContent = new StringContent(jsonRequest, Encoding.UTF8, "application/json");

                    string uri = "http://207.180.246.227:8095/admin/UnitTracker/Insert";

                    var retorno = await client.PostAsync(uri, httpContent);

                    var resultString = await retorno.Content.ReadAsStringAsync();

                    if (retorno.StatusCode == System.Net.HttpStatusCode.BadRequest)
                    {
                        await DisplayAlert("Erro", resultString, "Ok");

                        waitActivityIndicator.IsRunning = false;
                        return;
                    }

                    await DisplayAlert("Sucesso.", "Unidade rastreada criada com sucesso!", "Cadastrado");


                    waitActivityIndicator.IsRunning = false;
                }
            }
            catch (Exception ex)
            {
                await DisplayAlert("Erro", ex.Message, "Erro ao cadastrar...");

                waitActivityIndicator.IsRunning = false;
                return;
            }


            await Navigation.PopModalAsync();
        }