
using inutralia.ViewModels;
using System;
using Xamarin.Forms;


namespace inutralia.Views.NutriQuestion
{
    public partial class DetailsNutriQuestionListView : ContentPage
    {
        protected DetailsNutriQuestionListViewModel ViewModel => BindingContext as DetailsNutriQuestionListViewModel;


        public DetailsNutriQuestionListView()
        {

            InitializeComponent();

        }

        protected override async void OnAppearing()
        {
            base.OnAppearing();
            await ViewModel.RefreshData();

        }

        async void OnSendButtonClicked(object sender, EventArgs e)
        {
            try
            {
                var messageValue = messageEntry.Text;
                if (messageValue == null)
                {
                    await DisplayAlert("Fallo", "No se puede enviar un mensaje en blanco, campo obligatorio", "Entendido");

                }
                else
                {
                    await ViewModel.saveData(messageValue);

                    await DisplayAlert("Exito", "El mensaje se ha enviado correctamente. Podras volver a escribir una vez te haya respondido un nutricionista. ", "Entendido");
                    /*Una vez envio mensaje y recargo la misma pagina para verlo en el listado, vacio el input de enviar mensaje, oculto el input, el botón y pongo el texto informativo.*/
                    messageEntry.Text = "";
                    messageEntry.IsVisible = false;
                    btnEnviar.IsVisible = false;
                    infoText.Text = "Si estás viendo este mensaje, es que todavía no puedes responder a la consulta. Cada consulta a tu nutricionista tiene un máximo de dos mensajaes por tu parte. Una vez escrito un mensaje no podrás volver a contestar hasta que tu nutricionista haya leido y contestado tu mensaje anterior. Una vez sobrepasado el límite de mensajes la consulta pasa a estado cerrado y no se podra seguir conversando. Si te quedas con más dudas tendrás que crear una consulta nueva.";

                    await ViewModel.RefreshData();

                    /*(App.Current.MainPage as RootPage).Navigate<NutriQuestionListView>();*/
                }
            }

            catch (Exception)
            {
                await DisplayAlert("Error", "Se ha producido un error. Por favor, intentelo más tarde", "Entendido");
            }
        }


    }
}
