Пример #1
0
        public IMDResponse<bool> CUpdFechaVencimiento([FromBody]EntFolioFV entFolioFV)
        {
            IMDResponse<bool> response = new IMDResponse<bool>();

            string metodo = nameof(this.CUpdFechaVencimiento);
            logger.Info(IMDSerialize.Serialize(67823458440703, $"Inicia {metodo}([FromBody]EntFolioFV entFolioFV)", entFolioFV));

            try
            {
                BusFolio busFolio = new BusFolio();
                response = busFolio.BUpdFechaVencimiento(entFolioFV);
            }
            catch (Exception ex)
            {
                response.Code = 67823458441480;
                response.Message = "Ocurrió un error inesperado en el servicio al actualizar el vencimiento de los folios.";

                logger.Error(IMDSerialize.Serialize(67823458441480, $"Error en {metodo}([FromBody]EntFolioFV entFolioFV): {ex.Message}", entFolioFV, ex, response));
            }
            return response;
        }
Пример #2
0
        public IMDResponse<bool> CEliminarFoliosEmpresa([FromBody]EntFolioFV entFolioFV)
        {
            IMDResponse<bool> response = new IMDResponse<bool>();

            string metodo = nameof(this.CEliminarFoliosEmpresa);
            logger.Info(IMDSerialize.Serialize(67823458445365, $"Inicia {metodo}([FromBody]EntFolioFV entFolioFV)", entFolioFV));


            try
            {
                BusFolio busFolio = new BusFolio();

                response = busFolio.BEliminarFoliosEmpresa(entFolioFV);
            }
            catch (Exception ex)
            {
                response.Code = 67823458446142;
                response.Message = "Ocurrió un error inesperado en el servicio al eliminar los folios.";

                logger.Error(IMDSerialize.Serialize(67823458446142, $"Error en {metodo}([FromBody]EntFolioFV entFolioFV): {ex.Message}", entFolioFV, ex, response));
            }
            return response;
        }
Пример #3
0
        /// <summary>
        /// Cancela la consulta y el folio de un paciente
        /// </summary>
        /// <param name="consulta"></param>
        /// <returns></returns>
        public IMDResponse <bool> BCancelarConsulta(EntNuevaConsulta consulta)
        {
            IMDResponse <bool> response = new IMDResponse <bool>();

            string metodo = nameof(this.BCancelarConsulta);

            logger.Info(IMDSerialize.Serialize(67823458552591, $"Inicia {metodo}(EntNuevaConsulta consulta)", consulta));

            try
            {
                if (consulta == null)
                {
                    response.Code    = -767234562313709;
                    response.Message = "No se ingresó información de la consulta a cancelar";
                    return(response);
                }

                //Obtene detalle de la consulta
                IMDResponse <List <EntDetalleConsulta> > resGetDetalleConsulta = this.BGetDetalleConsulta(consulta.consulta.iIdConsulta);
                if (resGetDetalleConsulta.Code != 0)
                {
                    return(resGetDetalleConsulta.GetResponse <bool>());
                }

                if (resGetDetalleConsulta.Result.Count != 1)
                {
                    response.Code    = -5723613487698;
                    response.Message = "La consulta proporcionada no se encuentra programada.";
                    return(response);
                }

                EntDetalleConsulta detalleConsulta = resGetDetalleConsulta.Result.First();

                consulta.consulta.iIdEstatusConsulta = (int)EnumEstatusConsulta.Cancelado;

                //Cancelar la consulta del paciente
                IMDResponse <bool> resDelConsulta = datConsulta.DCancelarConsulta(consulta.consulta.iIdConsulta, consulta.iIdUsuarioMod, (int)consulta.consulta.iIdEstatusConsulta);
                if (resDelConsulta.Code != 0)
                {
                    return(resDelConsulta);
                }

                //Cancelar el folio del paciente si éste fue generado con origen Particular
                if (detalleConsulta.iIdOrigen == (int)EnumOrigen.Particular)
                {
                    EntFolioFV entFolio = new EntFolioFV
                    {
                        iIdEmpresa = (int)detalleConsulta.iIdEmpresa,
                        iIdUsuario = consulta.iIdUsuarioMod,
                        lstFolios  = new List <EntFolioFVItem>
                        {
                            new EntFolioFVItem
                            {
                                iIdFolio = (int)detalleConsulta.iIdFolio
                            }
                        }
                    };
                    BusFolio           busFolio            = new BusFolio();
                    IMDResponse <bool> resDesactivarFolios = busFolio.BEliminarFoliosEmpresa(entFolio);
                    if (resDesactivarFolios.Code != 0)
                    {
                        return(resDesactivarFolios);
                    }
                }

                response.Code    = 0;
                response.Result  = true;
                response.Message = "La consulta ha sido cancelada correctamente.";
            }
            catch (Exception ex)
            {
                response.Code    = 67823458553368;
                response.Message = "Ocurrió un error inesperado al cancelar la consulta del paciente.";

                logger.Error(IMDSerialize.Serialize(67823458553368, $"Error en {metodo}(EntNuevaConsulta consulta): {ex.Message}", consulta, ex, response));
            }
            return(response);
        }
Пример #4
0
        /// <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);
        }