Example #1
0
        public async Task <newResponseModel <medicSpecialityDTO> > m_SolicitaMedico(bool?bEsAgendada, int?iIdUsuario, DateTime?dtFechaVencimiento)
        {
            newResponseModel <medicSpecialityDTO> response = new newResponseModel <medicSpecialityDTO>();

            try
            {
                wsConnexion ws = new wsConnexion();
                Settings.sError = "";
                var uri = $"{Settings.sUrl}/Api/Colaborador/Get/Colaborador/ObtenerSala?bEsAgendada={bEsAgendada}&iIdUsuario={iIdUsuario}";
                response = await ws.Get <newResponseModel <medicSpecialityDTO> >(uri);

                try
                {
                    if (response.Code != 0)
                    {
                        throw new Exception("Hubo un error al internar conectarse con el servicio, comuníquese con su proveedor.");
                    }
                }
                catch { throw new Exception("Hubo un error al internar solicitar el chat, favor de reintentar."); }


                Settings.sUIDDR = response.Result.iNumSala;
            }
            catch (Exception e)
            {
                Settings.bClicButton = false;
                Settings.sError      = e.Message;
            }

            return(response);
        }
Example #2
0
        public async Task <bool> m_Login(string psUserLogin, string psPassword, string psTipoCheck)
        {
            wsConnexion ws = new wsConnexion();

            Settings.sError = "";

            try
            {
                string sMethod = String.Format(@"LoginApp?sUsuario={0}&sPassword={1}", psUserLogin, psPassword);
                newResponseModel <EntFolio> sResponseUser = new newResponseModel <EntFolio>();
                string sResponse = await ws.GetDataRestAsync(new { }, "Api/Folio/Get", sMethod);

                sResponseUser = JsonConvert.DeserializeObject <newResponseModel <EntFolio> >(sResponse);

                if (sResponseUser.Code == 0 && psTipoCheck == "ENTRADA" && sResponseUser.Result != null)
                {
                    Settings.iIdUsuario           = sResponseUser.Result.iIdPaciente;
                    Settings.dtFechaVencimiento   = sResponseUser.Result.dtFechaVencimiento;
                    Settings.sUserNameLogin       = psUserLogin;
                    Settings.sFolio               = psUserLogin;
                    Settings.sPassLogin           = psPassword;
                    Settings.bTerminoYcondiciones = sResponseUser.Result.bTerminosYCondiciones;
                    Settings.ProductType          = sResponseUser.Result.iIdProducto;
                    Settings.bEsAgendada          = sResponseUser.Result.bEsAgendada;
                    return(true);
                }
                else
                {
                    Settings.sError = sResponseUser.Message;
                    return(false);
                }
            }
            catch (Exception e)
            {
                Settings.sError = e.Message;
                return(false);
            }
        }
        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;
            }
        }