/**
         * ejecutar proceso de validacion del folio
         */
        async void Submit_Tapped(System.Object sender, System.EventArgs e)
        {
            // verificamos si el folio cumple con lo minimo para ser enviado
            if (!await VerifyFolio())
            {
                return;
            }

            // obtenemos el folio del textField.
            string Folio = FolioField.Text;

            // mostramos el loading.
            Loading(true);

            //string FolioLogin = string.Format("{0}_{1}", Settings.sUsuarioUID, Folio);
            string UserRequest = Settings.sUsuarioUID;

            // solicitamos un medico disponible.
            ResponseModel model = await cpFeedService.m_SolicitaMedico(UserRequest, Folio);

            if (!string.IsNullOrEmpty(model.sParameter1))
            {
                if (_resultCompletion != null)
                {
                    _resultCompletion.SetResult(
                        FolioResult.Done(Message: model.sMensaje,
                                         SessionId: model.sParameter1,
                                         Folio: model.sFolio));

                    _resultCompletion = null;
                }
            }
            else
            {
                Loading(false);
                await DisplayAlert("Info", model.sMensaje, "Aceptar");
            }
        }
        public async Task ExecuteCommand(string psComand)
        {
            if (!await oInternetService.VerificaInternet())
            {
                return;
            }

            switch (psComand)
            {
            case "CHAT":
                newResponseModel <medicSpecialityDTO> oResponseModel = new newResponseModel <medicSpecialityDTO>();

                oResponseModel = await cpFeeds.m_SolicitaMedico(Settings.bEsAgendada, Settings.iIdUsuario, Settings.dtFechaVencimiento);

                if (oResponseModel.Code != 0 && oResponseModel.Result.iNumSala != "0")
                {
                    if (await VerificaPermisosAudio())
                    {
                        //Multimedia.Context.Instance.SessionId = oResponseModel.sParameter1;
                        Multimedia.Context.Instance.SessionId        = oResponseModel.Result.iNumSala;
                        Multimedia.Context.Instance.Name             = Settings.sUserName;
                        Multimedia.Context.Instance.IsMedicConnected = false;

                        Multimedia.Context.Instance.EnableScreenShare  = false;
                        Multimedia.Context.Instance.EnableAudioReceive = false;
                        Multimedia.Context.Instance.EnableAudioSend    = false;
                        Multimedia.Context.Instance.EnableVideoReceive = false;
                        Multimedia.Context.Instance.EnableVideoSend    = false;

                        await Navigation.PushModalAsync(new Chat(false));
                    }
                }
                else
                {
                    await DisplayAlert("Info", oResponseModel.Message, "Aceptar");

                    if (PopupNavigation.PopupStack.Count > 0)
                    {
                        await PopupNavigation.Instance.PopAsync();
                    }
                }

                isVideoCall = false;

                break;

            case "VIDEOCALL":

                if (isVideoCall)
                {
                    return;
                }
                isVideoCall = true;

                if (!await VerificaPermisosAudio())
                {
                    return;
                }

                await PopupNavigation.Instance.PushAsync(_loginPopup);

                newResponseModel <medicSpecialityDTO> oResponseModel_Video = new newResponseModel <medicSpecialityDTO>();

                oResponseModel_Video = await cpFeeds.m_SolicitaMedico(Settings.bEsAgendada, Settings.iIdUsuario, Settings.dtFechaVencimiento);

                if (oResponseModel_Video.Code == 0 && oResponseModel_Video.Result.iNumSala != "0")
                {
                    string folio = Settings.sFolio;    // string.IsNullOrEmpty(Settings.COVIDFolio) ? Settings.sFolio : Settings.COVIDFolio;

                    //Multimedia.Context.Instance.SessionId = oResponseModel_Video.sParameter1;
                    Multimedia.Context.Instance.SessionId         = oResponseModel_Video.Result.iNumSala;
                    Multimedia.Context.Instance.Name              = Settings.sUserName + "(" + folio + ")";
                    Multimedia.Context.Instance.IsMedicConnected  = false;
                    Multimedia.Context.Instance.Videollamada_init = false;

                    Multimedia.Context.Instance.EnableScreenShare = false;

                    Multimedia.Context.Instance.EnableAudioReceive = true;
                    Multimedia.Context.Instance.EnableAudioSend    = true;
                    Multimedia.Context.Instance.EnableVideoReceive = true;
                    Multimedia.Context.Instance.EnableVideoSend    = true;


                    await Navigation.PushAsync(new Chat(true)
                    {
                        Title = "Folio: " + folio,
                        BarBackgroundColor = Color.FromHex("#FFFFFF")
                    });
                }
                else
                {
                    await DisplayAlert("Info", oResponseModel_Video.Message, "Aceptar");

                    if (PopupNavigation.Instance.PopupStack.Count > 0)
                    {
                        await PopupNavigation.Instance.PopAsync();
                    }
                }

                isVideoCall = false;
                break;

            case "CALL":

                Settings.bPoPupActivo = true;

                if (!string.IsNullOrEmpty(Settings.sTelefonoDRs))
                {
                    Settings.sError = "";
                    Device.OpenUri(new Uri("tel:" + Settings.sTelefonoDRs + ""));

                    Settings.bPoPupActivo = false;
                }
                else
                {
                    Settings.bPoPupActivo = false;
                    await DisplayAlert("Llamada", "Por el momento no hay servicio de llamadas, cierre sesión e intente nuevamente.", "Aceptar");
                }
                Settings.bEnProceso = false;
                break;
            }
        }