Ejemplo n.º 1
0
        async void EditarUtilizadorAsync()
        {
            if (Email != "" && UserInteraction.GetUtilizador(Email).Result != null)
            {
                await App.Current.MainPage.DisplayAlert("ERRO", "O email indicado já está a ser utilizado", "OK");

                return;
            }
            if (Nome == "")
            {
                Nome = UserInteraction.user.Nome;
            }
            if (Email == "")
            {
                Email = UserInteraction.user.Email;
            }
            if (Cidade == "" || Cidade == null)
            {
                Cidade = UserInteraction.user.Cidade;
            }
            if (Distrito == "" || Distrito == null)
            {
                Distrito = UserInteraction.user.Distrito;
            }
            if (Password == "")
            {
                Password = UserInteraction.user.Password;
            }
            else
            {
                byte[] data = Encoding.ASCII.GetBytes(Password);
                data     = new System.Security.Cryptography.SHA256Managed().ComputeHash(data);
                Password = Encoding.ASCII.GetString(data);
            }
            if (Imagem == "")
            {
                Imagem = UserInteraction.user.Imagem;
            }
            Utilizador u = new Utilizador(Nome, Cidade, Distrito, Email, Password, Imagem, UserInteraction.user.Pontos, UserInteraction.user.Historico);

            if (!u.Equals(UserInteraction.user))
            {
                u = await UserInteraction.EditaUtilizador(UserInteraction.user.Email, u);

                await App.Current.MainPage.Navigation.PopAsync();
            }
            else
            {
                await App.Current.MainPage.DisplayAlert("Erro", "Não alterou nenhum elemento", "OK");

                return;
            }
        }