Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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;
            }
        }
Ejemplo n.º 13
0
        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 { }
        }
Ejemplo n.º 14
0
        //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);
        }
Ejemplo n.º 15
0
        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);
        }
Ejemplo n.º 16
0
        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);
        }