public ResponseModel m_getSala_DR(BaseModel poChatModel) { ResponseModel objResponseModel = new ResponseModel(); try { oclsPacientesBE = new clsPacientesBE(); //BUSCAR ID DOCTOR LIBRE objResponseModel = oclsPacientesBE.m_getSala_DR(db); if (objResponseModel.bRespuesta) { objResponseModel.sFolio = poChatModel.sFolio; if (!m_Marca_DR(Convert.ToInt32(objResponseModel.sMensaje), true, poChatModel.sFolio, poChatModel.sUIDCliente)) { objResponseModel = new ResponseModel(); throw new ArgumentException(ConfigurationManager.AppSettings["sMensajeFolio"]); } } else { throw new ArgumentException("Por el momento todos los doctores se encuentran ocupados, intente de nuevo más tarde."); } } catch (Exception ex) { objResponseModel.sMensaje = ex.Message; } return(objResponseModel); }
public ResponseModel m_Aceptar_Terminos_y_condiciones(LoginModel poLoginModel) { ResponseModel objResponseModel = new ResponseModel(); try { oclsPacientesBE = new clsPacientesBE(); oclsBitacora.m_Save("ID: " + poLoginModel.sUIDCliente, "0", "0", "Inicia solicitud Aceptar Terminos y condiciones."); oclsPacientesBE.sUIDPaciente = poLoginModel.sUIDCliente; oclsPacientesBE.bTerminosyCondiciones = poLoginModel.bAceptoTerminoCondicion; oclsPacientesBE.m_Acepta_Termino_y_Condiciones(db); objResponseModel.bRespuesta = true; oclsBitacora.m_Save("ID: " + poLoginModel.sUIDCliente, "0", "0", "Se actualizo terminos y condiciones."); } catch (Exception ex) { oclsBitacora.m_Save("ID: " + poLoginModel.sUIDCliente, "0", "0", "Error: " + ex.Message, true); objResponseModel.sMensaje = ex.Message; } finally { oclsBitacora.m_Save("ID: " + poLoginModel.sUIDCliente, "0", "0", "Finaliza termino y condiciones."); } return(objResponseModel); }
public ResponseModel m_Liberar_Usuario(LoginModel poLoginModel) { ResponseModel objResponseModel = new ResponseModel(); try { oclsPacientesBE = new clsPacientesBE(); oclsBitacora.m_Save("USER: "******"Inicia solicitud Liberar Usuario."); oclsPacientesBE.sUIDPaciente = poLoginModel.sUIDCliente; oclsPacientesBE.bEnServicio = false; oclsPacientesBE.m_Marcar_EnServicio(db); objResponseModel.bRespuesta = true; oclsBitacora.m_Save("ID: " + poLoginModel.sUIDCliente, poLoginModel.sUIDDR, poLoginModel.sUIDCliente, "Se libero el usuario."); } catch (Exception ex) { oclsBitacora.m_Save("ID: " + poLoginModel.sUIDCliente, poLoginModel.sUIDDR, poLoginModel.sUIDCliente, "Error: " + ex.Message, true); objResponseModel.sMensaje = ex.Message; } finally { oclsBitacora.m_Save("ID: " + poLoginModel.sUIDCliente, poLoginModel.sUIDDR, poLoginModel.sUIDCliente, "Finaliza Liberación usuario."); } return(objResponseModel); }
/// <summary> /// Descripción: Metodo para marcar el estado de un DR bajo demanda. /// </summary> /// <param name="objclsPacientesBE">Instancia de la clase paciente.</param> /// <param name="pdb">Instancia de la Base de Datos.</param> public void m_marcaDr(Database pdb, clsPacientesBE objclsPacientesBE) { Int32 i = 0; try { DbCommand oCmd = pdb.GetStoredProcCommand("sva_DR_Marcar"); pdb.AddInParameter(oCmd, "piIdDR", DbType.Int32, objclsPacientesBE.iIdCGUDR); pdb.AddInParameter(oCmd, "pbEstado", DbType.Boolean, objclsPacientesBE.bOcupado); pdb.AddInParameter(oCmd, "psFolio", DbType.String, objclsPacientesBE.sFolio); pdb.AddOutParameter(oCmd, "piValido", DbType.Int32, 0); pdb.ExecuteNonQuery(oCmd); i = Convert.ToInt32(oCmd.Parameters["piValido"].Value); if ((i == 0)) { objclsPacientesBE.bResult = false; } else { objclsPacientesBE.bResult = true; } } catch (Exception ex) { throw ex; } }
/// <summary> /// Descripción: Metodo para marcar el estado de un DR bajo demanda en una transacción. /// </summary> /// <param name="objclsPacientesBE">Instancia de la clase paciente.</param> /// <param name="pdb">Instancia de la Base de Datos.</param> /// <param name="poTrans">Instancia de la Transacción.</param> public void m_marcaDr(Database pdb, DbTransaction poTrans, clsPacientesBE objclsPacientesBE) { Int32 i = 0; try { DbCommand oCmd = pdb.GetStoredProcCommand("sva_DR_Marcar"); pdb.AddInParameter(oCmd, "piIdDR", DbType.Int32, objclsPacientesBE.iIdCGUDR); pdb.AddInParameter(oCmd, "pbEstado", DbType.Boolean, objclsPacientesBE.bOcupado); i = pdb.ExecuteNonQuery(oCmd, poTrans); if ((i == 0)) { objclsPacientesBE.bResult = false; } else { objclsPacientesBE.bResult = true; } } catch (Exception ex) { throw ex; } }
/// <summary> /// Descripción: Metodo para poner en servicio a un usuario. /// </summary> /// /// <param name="pdb">Instancia de la Base de Datos.</param> /// <param name="objclsPacientesBE">Instancia de la clase paciente.</param> public void m_Marcar_EnServicio(Database pdb, clsPacientesBE objclsPacientesBE) { Int32 i = 0; try { DbCommand oCmd = pdb.GetStoredProcCommand("app_sva_Marcar_EnServicio"); pdb.AddInParameter(oCmd, "psUsuario", DbType.String, objclsPacientesBE.sUIDPaciente); pdb.AddInParameter(oCmd, "pbEnServicio", DbType.Boolean, objclsPacientesBE.bEnServicio); i = pdb.ExecuteNonQuery(oCmd); if ((i == 0)) { objclsPacientesBE.bResult = false; } else { objclsPacientesBE.bResult = true; } } catch (Exception ex) { throw ex; } }
/// <summary> /// Descripción: Metodo para actualizar la aceptación de los terminos y condiciones. /// </summary> /// <param name="objclsPacientesBE">Instancia de la clase paciente.</param> /// <param name="pdb">Instancia de la Base de Datos.</param> public void m_Aceptar_Terminos_y_Condiciones(Database pdb, clsPacientesBE objclsPacientesBE) { Int32 i = 0; try { DbCommand oCmd = pdb.GetStoredProcCommand("app_sva_Terminos_UPD"); pdb.AddInParameter(oCmd, "psUsuario", DbType.String, objclsPacientesBE.sUIDPaciente); pdb.AddInParameter(oCmd, "pbAcepTerminos", DbType.Boolean, objclsPacientesBE.bTerminosyCondiciones); i = pdb.ExecuteNonQuery(oCmd); if ((i == 0)) { throw new Exception("Hubo un error al aceptar los terminos y condiciones."); } else { objclsPacientesBE.bResult = true; } } catch (Exception ex) { throw ex; } }
/// <summary> /// Descripción: Metodo para obtener un DR disponible. /// </summary> /// /// <param name="pdb">Instancia de la Base de Datos.</param> /// <param name="objclsPacientesBE">Instancia de la clase paciente.</param> public DataSet m_obtieneDRDisponible(Database pdb, clsPacientesBE objclsPacientesBE) { try { DbCommand oCmd = pdb.GetStoredProcCommand("svc_DR_Disponible"); DataSet ds = pdb.ExecuteDataSet(oCmd); return(ds); } catch (Exception ex) { throw ex; } }
/// <summary> /// Descripción: Metodo para obtener los estatus de la cuenta del paciente. /// </summary> /// /// <param name="pdb">Instancia de la Base de Datos.</param> /// <param name="objclsPacientesBE">Instancia de la clase paciente.</param> public DataSet m_Valida_Paciente(Database pdb, clsPacientesBE objclsPacientesBE) { try { DbCommand oCmd = pdb.GetStoredProcCommand("app_svc_Get_Status_User"); pdb.AddInParameter(oCmd, "psUsuario", DbType.String, objclsPacientesBE.sUIDPaciente); DataSet ds = pdb.ExecuteDataSet(oCmd); return(ds); } catch (Exception ex) { throw ex; } }
/// <summary> /// Descripción: Metodo para obtener el folio de la menbresia del usuario. /// </summary> /// <param name="pdb">Instancia de la Base de Datos.</param> /// <param name="objclsPacientesBE">Instancia de la clase paciente.</param> public void m_Get_Folio(Database pdb, clsPacientesBE objclsPacientesBE) { int i = 0; try { DbCommand oCmd = pdb.GetStoredProcCommand("app_svc_Get_Folio_Paciente"); pdb.AddOutParameter(oCmd, "psFolio", DbType.String, 0); pdb.AddInParameter(oCmd, "psUsuario", DbType.String, objclsPacientesBE.sUIDPaciente); i = pdb.ExecuteNonQuery(oCmd); objclsPacientesBE.sFolio = oCmd.Parameters["psFolio"].Value.ToString(); } catch (Exception ex) { throw ex; } }
/// <summary> /// Descripción: Metodo para obtener el UID con el IDdelCGU. /// </summary> /// <param name="pdb">Instancia de la Base de Datos.</param> /// <param name="objclsPacientesBE">Instancia de la clase paciente.</param> public void m_GET_UID_By_IdCGU(Database pdb, clsPacientesBE objclsPacientesBE) { int i = 0; try { DbCommand oCmd = pdb.GetStoredProcCommand("app_svc_Get_UID_By_IdCGU"); pdb.AddOutParameter(oCmd, "psUID", DbType.String, 0); pdb.AddInParameter(oCmd, "piIdCGU", DbType.Int32, objclsPacientesBE.iIdCGUDR); i = pdb.ExecuteNonQuery(oCmd); objclsPacientesBE.sUIDDR = oCmd.Parameters["psUID"].Value.ToString(); } catch (Exception ex) { throw ex; } }
/// <summary> /// Descripción: Metodo para obtener el ultimo mensaje guardado con el IDdelCGU. /// </summary> /// <param name="pdb">Instancia de la Base de Datos.</param> /// <param name="objclsPacientesBE">Instancia de la clase paciente.</param> public void m_Get_No_Msg(Database pdb, clsPacientesBE objclsPacientesBE) { int i = 0; try { DbCommand oCmd = pdb.GetStoredProcCommand("app_svc_Get_No_Messages"); pdb.AddOutParameter(oCmd, "piNoMessages", DbType.Int32, 0); pdb.AddInParameter(oCmd, "psUsuario", DbType.String, objclsPacientesBE.sUIDDR); pdb.AddInParameter(oCmd, "pbGrupo", DbType.Boolean, objclsPacientesBE.bGrupo); i = pdb.ExecuteNonQuery(oCmd); objclsPacientesBE.iNoMensaje = Convert.ToInt32(oCmd.Parameters["piNoMessages"].Value.ToString()); } catch (Exception ex) { throw ex; } }
private void m_GeneraMsjInicial(clsPacientesBE poclsPacientesBE) { try { bool bSendMsjInicial = true; string sMensajeInicial = ""; switch (poclsPacientesBE.sChat) { case "CHAT": //Se recuperan mensajes del Config bSendMsjInicial = string.IsNullOrEmpty(ConfigurationManager.AppSettings.Get("bSendMsjInitChat")) ? true : Convert.ToBoolean(ConfigurationManager.AppSettings.Get("bSendMsjInitChat")); sMensajeInicial = string.IsNullOrEmpty(ConfigurationManager.AppSettings.Get("sMensajeInitChat")) ? "Inicia Chat." : ConfigurationManager.AppSettings.Get("sMensajeInitChat"); break; case "VIDEO": bSendMsjInicial = string.IsNullOrEmpty(ConfigurationManager.AppSettings.Get("bSendMsjInitVideoChat")) ? true : Convert.ToBoolean(ConfigurationManager.AppSettings.Get("bSendMsjInitVideoChat")); sMensajeInicial = string.IsNullOrEmpty(ConfigurationManager.AppSettings.Get("sMensajeIniVideotChat")) ? "Inicia Video Chat." : ConfigurationManager.AppSettings.Get("sMensajeIniVideotChat"); break; default: return; } //Recupera Folio poclsPacientesBE.m_Get_Folio(db); //Armado Mensaje sMensajeInicial = sMensajeInicial.Replace("//", poclsPacientesBE.sFolio.ToString()); //Se envia mensaje de finalización al chat // if (bSendMsjInicial) ///oclsCometChat.m_SendMessage(poclsPacientesBE.sUIDDR, poclsPacientesBE.sUIDPaciente, sMensajeInicial, 0); } catch { } }
//private void m_RollBack_VideoChat(clsPacientesBE oclsPacientesBE) //{ // oclsCometChat = new clsCometChat(); // oclsBitacora.m_Save(oclsPacientesBE.sUIDPaciente, oclsPacientesBE.sUIDDR, oclsPacientesBE.sUIDPaciente, "Inicia Rollback de chat"); // try // { // if (oclsCometChat.m_DelFriend(oclsPacientesBE.sUIDDR, oclsPacientesBE.sUIDPaciente)) // oclsBitacora.m_Save(oclsPacientesBE.sUIDPaciente, oclsPacientesBE.sUIDDR, oclsPacientesBE.sUIDPaciente, "Se elimino la amistad entre el DR: " + oclsPacientesBE.sUIDDR + " y el paciente: " + oclsPacientesBE.sUIDPaciente); // if (oclsCometChat.m_DelFriend(oclsPacientesBE.sUIDPaciente, oclsPacientesBE.sUIDDR)) // oclsBitacora.m_Save(oclsPacientesBE.sUIDPaciente, oclsPacientesBE.sUIDDR, oclsPacientesBE.sUIDPaciente, "Se elimino la amistad entre el paciente: " + oclsPacientesBE.sUIDPaciente + " y el DR: " + oclsPacientesBE.sUIDDR); // } // catch (Exception ex) // { // oclsBitacora.m_Save(oclsPacientesBE.sUIDPaciente, oclsPacientesBE.sUIDDR, oclsPacientesBE.sUIDPaciente, "Error en Rollback de chat" + ex.Message); // } // finally // { // oclsBitacora.m_Save(oclsPacientesBE.sUIDPaciente, oclsPacientesBE.sUIDDR, oclsPacientesBE.sUIDPaciente, "Inicia Rollback de chat"); // } //} //private void m_RollBack_Chat(clsPacientesBE oclsPacientesBE) //{ // oclsCometChat = new clsCometChat(); // oclsBitacora.m_Save(oclsPacientesBE.sUIDPaciente, oclsPacientesBE.sUIDDR, oclsPacientesBE.sUIDPaciente, "Inicia Rollback de chat"); // try // { // if (oclsCometChat.m_DelGroup(oclsPacientesBE.sUIDDR)) // oclsBitacora.m_Save(oclsPacientesBE.sUIDPaciente, oclsPacientesBE.sUIDDR, oclsPacientesBE.sUIDPaciente, "Se elimino el Grupo: " + oclsPacientesBE.sUIDDR + " con los usuarios; " + // oclsPacientesBE.sUIDDR + " y " + oclsPacientesBE.sUIDPaciente); // if (oclsCometChat.m_DelFriend(oclsPacientesBE.sUIDDR, oclsPacientesBE.sUIDPaciente)) // oclsBitacora.m_Save(oclsPacientesBE.sUIDPaciente, oclsPacientesBE.sUIDDR, oclsPacientesBE.sUIDPaciente, "Se elimino la amistad entre el DR: " + oclsPacientesBE.sUIDDR + " y el paciente: " + oclsPacientesBE.sUIDPaciente); // if (oclsCometChat.m_DelFriend(oclsPacientesBE.sUIDPaciente, oclsPacientesBE.sUIDDR)) // oclsBitacora.m_Save(oclsPacientesBE.sUIDPaciente, oclsPacientesBE.sUIDDR, oclsPacientesBE.sUIDPaciente, "Se elimino la amistad entre el paciente: " + oclsPacientesBE.sUIDPaciente + " y el DR: " + oclsPacientesBE.sUIDDR); // } // catch (Exception ex) // { // oclsBitacora.m_Save(oclsPacientesBE.sUIDPaciente, oclsPacientesBE.sUIDDR, oclsPacientesBE.sUIDPaciente, "Error en Rollback de chat" + ex.Message); // } // finally // { // oclsBitacora.m_Save(oclsPacientesBE.sUIDPaciente, oclsPacientesBE.sUIDDR, oclsPacientesBE.sUIDPaciente, "Inicia Rollback de chat"); // } //} public bool m_Save_Password(string psUsuario, string psPassword) { bool bResult = false; try { oclsPacientesBE = new clsPacientesBE(); oclsBitacora.m_Save(psUsuario, "0", "0", "Inicia solicitud cambio password."); oclsPacientesBE.m_Save_Password(db, psUsuario, psPassword); bResult = true; oclsBitacora.m_Save(psUsuario, "0", "0", "se actualizo el Password del usuario."); } catch (Exception ex) { oclsBitacora.m_Save(psUsuario, "0", "0", "Error al actualizar Password: "******"0", "0", "Finaliza solicitud cambio password."); } return(bResult); }
public bool m_Marca_DR(int piIdUsuario, bool pbEstado, string sFolio, string sNumeroCliente) { bool bResult = false; llamadaData = new LlamadaData(); accesoBusiness = new AccesoBusiness(); bitacoraBusiness = new BitacoraBusiness(); try { oclsPacientesBE = new clsPacientesBE(); //oclsBitacora.m_Save("ID: " + piIdUsuario, piIdUsuario.ToString(), "0", "Inicia solicitud ocupar DR."); oclsPacientesBE.iIdCGUDR = piIdUsuario; oclsPacientesBE.bOcupado = pbEstado; oclsPacientesBE.sFolio = sFolio; oclsPacientesBE.m_OcuparDR(db); bResult = true; llamadaDTO = new LlamadaDTO { iIdAcceso = accesoBusiness.UserExist(sNumeroCliente), iIdDoctor = piIdUsuario, dtFechaCreacion = DateTime.Now }; llamadaDTO.iIdLlamada = llamadaData.save(llamadaDTO); bitacoraBusiness.save(llamadaDTO.iIdAcceso, 0, llamadaDTO.iIdLlamada, clsEnums.sDescripcionEnum(clsEnums.enumEstatusBitacora.LLAMADA), "Se ocupa al doctor: " + llamadaDTO.iIdDoctor); //Se guarda el registro en la bitacora //oclsBitacora.m_Save("ID: " + piIdUsuario, piIdUsuario.ToString(), "0", "Se ocupo al DR.", false, "0", "0", sNumeroCliente); } catch (Exception ex) { bitacoraBusiness.save(llamadaDTO.iIdAcceso, 0, llamadaDTO.iIdLlamada, clsEnums.sDescripcionEnum(clsEnums.enumEstatusBitacora.ERROR), ex.Message); //Se guarda el registro en la bitacora } return(bResult); }
public ResponseModel m_FinalizaChat(DrModel poDrModel) { ResponseModel oResponseModel = new ResponseModel(); int iUltimoMsg = 0; try { //Bitacora oclsBitacora.m_Save("Id DR: " + poDrModel.iIdDRCGU, poDrModel.iIdDRCGU.ToString(), poDrModel.sUIDCliente, "Inicia finalización de solicitud de chat"); //Desmarca el DR oclsPacientesBE = new clsPacientesBE(); oclsPacientesBE.iIdCGUDR = poDrModel.iIdDRCGU; //Recuperar el UID del DR mediante el ID del CGU oclsPacientesBE.m_GET_UID_By_IdCGU(db); //desocupar al DR. oclsPacientesBE.bOcupado = false; int iLoopDesocupar = 0; do { try { //System.Threading.Thread.Sleep(1000); oclsPacientesBE.m_OcuparDR(db); iLoopDesocupar = 2; } catch { oclsBitacora.m_Save("Id DR: " + poDrModel.iIdDRCGU, poDrModel.iIdDRCGU.ToString(), poDrModel.sUIDCliente, "No se pudo desocupar al Dr: " + poDrModel.iIdDRCGU); } iLoopDesocupar++; } while (iLoopDesocupar < 2); //Recupera paciente de la amistad con el DR UserModel objUserModel = new UserModel(); string sUIDPaciente = ""; //Se obtiene el paciente if (objUserModel.sFriends.Contains(',')) { sUIDPaciente = objUserModel.sFriends.Split(',')[0]; } else { sUIDPaciente = objUserModel.sFriends; } //Se desmarca el usuario del paciente como en uso bEnServicio oclsPacientesBE.sUIDPaciente = sUIDPaciente; oclsPacientesBE.bEnServicio = false; int iLoopServicio = 0; do { try { //System.Threading.Thread.Sleep(1000); oclsPacientesBE.m_Marcar_EnServicio(db); iLoopServicio = 2; } catch { oclsBitacora.m_Save("Id DR: " + poDrModel.iIdDRCGU, poDrModel.iIdDRCGU.ToString(), poDrModel.sUIDCliente, "No se pudo desmarcar paciente en servicio p: " + sUIDPaciente); } iLoopServicio++; } while (iLoopServicio < 2); //REcuperar ultimo mensaje guardado del Usuario de la DB oclsPacientesBE.bGrupo = false; oclsPacientesBE.sUIDDR = poDrModel.iIdDRCGU.ToString(); //Se cambia el SUID por el ID del CGU modificación //Se recuperan mensajes del Config bool bSendMsjFinal = string.IsNullOrEmpty(ConfigurationManager.AppSettings.Get("bSendMsjFinal")) ? true : Convert.ToBoolean(ConfigurationManager.AppSettings.Get("bSendMsjFinal")); string sMensajeFinal = string.IsNullOrEmpty(ConfigurationManager.AppSettings.Get("sMensajeFinal")) ? "Chat Finalizado." : ConfigurationManager.AppSettings.Get("sMensajeFinal"); try { oclsPacientesBE.m_Get_No_Msg(db); } catch { oclsPacientesBE.iNoMensaje = 0; } oResponseModel.bRespuesta = true; } catch (Exception ex) { //Bitacora save Error oclsBitacora.m_Save("Id DR: " + poDrModel.iIdDRCGU, poDrModel.iIdDRCGU.ToString(), poDrModel.sUIDCliente, "Error: " + ex.Message, true); oResponseModel.sMensaje = "Error:" + ex; // throw new Exception(ex.Message); } finally { //Bitacora save finaliza solicitud oclsBitacora.m_Save("Id DR: " + poDrModel.iIdDRCGU, poDrModel.iIdDRCGU.ToString(), poDrModel.sUIDCliente, "Finaliza solicitud de finalización de chat"); } return(oResponseModel); }