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