public IMDResponse <List <EntDetalleConsulta> > CGetDetalleConsulta([FromUri] int?piIdConsulta = null, [FromUri] int?piIdPaciente = null, [FromUri] int?piIdColaborador = null, [FromUri] int?piIdEstatusConsulta = null, [FromUri] DateTime?pdtFechaProgramadaInicio = null, [FromUri] DateTime?pdtFechaProgramadaFin = null, [FromUri] DateTime?pdtFechaConsultaInicio = null, [FromUri] DateTime?pdtFechaConsultaFin = null) { IMDResponse <List <EntDetalleConsulta> > response = new IMDResponse <List <EntDetalleConsulta> >(); string metodo = nameof(this.CGetDetalleConsulta); logger.Info(IMDSerialize.Serialize(67823458532389, $"Inicia {metodo}([FromUri]int? piIdConsulta = null, [FromUri]int? piIdPaciente = null, [FromUri]int? piIdColaborador = null, [FromUri]int? piIdEstatusConsulta = null, [FromUri]DateTime? pdtFechaProgramadaInicio = null, [FromUri]DateTime? pdtFechaProgramadaFin = null, [FromUri]DateTime? pdtFechaConsultaInicio = null, [FromUri]DateTime? pdtFechaConsultaFin = null)", piIdConsulta, piIdPaciente, piIdColaborador, piIdEstatusConsulta, pdtFechaProgramadaInicio, pdtFechaProgramadaFin, pdtFechaConsultaInicio, pdtFechaConsultaFin)); try { BusConsulta busConsulta = new BusConsulta(); response = busConsulta.BGetDetalleConsulta(piIdConsulta, piIdPaciente, piIdColaborador, piIdEstatusConsulta, pdtFechaProgramadaInicio, pdtFechaProgramadaFin, pdtFechaConsultaInicio, pdtFechaConsultaFin); } catch (Exception ex) { response.Code = 67823458533166; response.Message = "Ocurrió un error inesperado en el servicio al obtener el detalle de la consulta."; logger.Error(IMDSerialize.Serialize(67823458533166, $"Error en {metodo}([FromUri]int? piIdConsulta = null, [FromUri]int? piIdPaciente = null, [FromUri]int? piIdColaborador = null, [FromUri]int? piIdEstatusConsulta = null, [FromUri]DateTime? pdtFechaProgramadaInicio = null, [FromUri]DateTime? pdtFechaProgramadaFin = null, [FromUri]DateTime? pdtFechaConsultaInicio = null, [FromUri]DateTime? pdtFechaConsultaFin = null): {ex.Message}", piIdConsulta, piIdPaciente, piIdColaborador, piIdEstatusConsulta, pdtFechaProgramadaInicio, pdtFechaProgramadaFin, pdtFechaConsultaInicio, pdtFechaConsultaFin, ex, response)); } return(response); }
/// <summary> /// Finaliza la consulta seteando la fecha de fin de consulta proporcionado /// </summary> /// <param name="iIdConsulta"></param> /// <param name="iIdColaborador"></param> /// <param name="iIdUsuarioMod"></param> /// <returns></returns> public IMDResponse <bool> BFinalizarConsulta(int iIdConsulta, int iIdColaborador, int iIdUsuarioMod) { IMDResponse <bool> response = new IMDResponse <bool>(); string metodo = nameof(this.BFinalizarConsulta); logger.Info(IMDSerialize.Serialize(67823458527727, $"Inicia {metodo}(int iIdConsulta, int iIdColaborador, int iIdUsuarioMod)", iIdConsulta, iIdColaborador, iIdUsuarioMod)); try { if (iIdConsulta == 0) { response.Code = -676363680712478; response.Message = "La información para finalizar la consulta está incompleta."; return(response); } //Obtener el detalle de la consulta actual IMDResponse <List <EntDetalleConsulta> > resGetConsulta = busConsulta.BGetDetalleConsulta(piIdConsulta: iIdConsulta); if (resGetConsulta.Code != 0) { return(resGetConsulta.GetResponse <bool>()); } if (resGetConsulta.Result.Count < 1) { response.Code = -87812314544512; response.Message = "No se encontró la consulta."; return(response); } EntConsulta entConsulta = new EntConsulta { iIdConsulta = iIdConsulta, dtFechaConsultaFin = DateTime.Now, iIdEstatusConsulta = (int)EnumEstatusConsulta.Finalizado }; //Actualizar fecha de fin de consulta IMDResponse <EntConsulta> resSaveConsulta = busConsulta.BSaveConsulta(entConsulta, iIdUsuarioMod); if (resSaveConsulta.Code != 0) { return(resSaveConsulta.GetResponse <bool>()); } EntDetalleConsulta consulta = resGetConsulta.Result.First(); EntFolioFV entFolio = new EntFolioFV { iIdEmpresa = (int)consulta.iIdEmpresa, iIdUsuario = iIdUsuarioMod, lstFolios = new List <EntFolioFVItem> { new EntFolioFVItem { iIdFolio = (int)consulta.iIdFolio } } }; if (consulta.iIdTipoDoctor == (int)EnumTipoDoctor.MedicoCallCenter || consulta.iIdTipoDoctor == (int)EnumTipoDoctor.MedicoAdministrativo) { if (consulta.iIdTipoProducto == (int)EnumTipoProducto.Servicio) { //Dar de baja a los folios de servicio que hayan sido atendido por colaborador callcenter IMDResponse <bool> resDesactivarFolios = busFolio.BEliminarFoliosEmpresa(entFolio); if (resDesactivarFolios.Code != 0) { return(resDesactivarFolios); } } } else { if (consulta.iIdOrigen == (int)EnumOrigen.Particular) { //Dar de baja a los folios cuando sean generados por un especialista y tengan el origen Particular IMDResponse <bool> resDesactivarFolios = busFolio.BEliminarFoliosEmpresa(entFolio); if (resDesactivarFolios.Code != 0) { return(resDesactivarFolios); } } } response.Code = 0; response.Message = "La consulta ha finalizado."; response.Result = true; } catch (Exception ex) { response.Code = 67823458528504; response.Message = "Ocurrió un error inesperado al intentar finalizar la consulta."; logger.Error(IMDSerialize.Serialize(67823458528504, $"Error en {metodo}(int iIdConsulta, int iIdColaborador, int iIdUsuarioMod): {ex.Message}", iIdConsulta, iIdColaborador, iIdUsuarioMod, ex, response)); } return(response); }