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); }
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; } }