コード例 #1
0
        public ActionResult <MedicoResponse> Post(MedicoRequest request)
        {
            CrearMedicoService _service = new CrearMedicoService(_unitOfWork);
            MedicoResponse     response = _service.CrearMedico(request);

            return(Ok(response));
        }
コード例 #2
0
        public ActionResult <MedicoResponse> ActualizarMedico([FromBody] MedicoRequest request)
        {
            ActualizarService _service = new ActualizarService(_unitOfWork);
            MedicoResponse    response = _service.ActualizarMedico(request);

            return(Ok(response));
        }
コード例 #3
0
        public async Task <IActionResult> Post([FromBody] GuiaDto guiaDto)
        {
            try
            {
                var guia = _mapper.Map <GuiaDto, Guia>(guiaDto);
                var guidePerformerCodeType = Enums.PerformerCodeType.codigoPrestadorNaOperadora;
                // Complemento da Guia
                var guiaNumero = await _GuiaNumeroRepository.GetLastGuiaIdAsync(guia.Prestador.Codigo);

                guia.GuiaNumero.Numero          = guiaNumero.ToString();
                guia.GuiaNumero.NumeroOperadora = "";

                BeneficiarioResponse beneficiario = _BeneficiarioService.SeachBeneficiario(guia.Beneficiario.Cartao);
                guia.Beneficiario.Nome = beneficiario.guideBeneficiaryName;

                _PushRequest.CodAtendimento            = "123";
                _PushRequest.Associado.CodAcompanhante = "";
                _PushRequest.Associado.CodAssociado    = guia.Beneficiario.Cartao;

                var prestador = _PrestadorService.PrestadorDescription(guia.Prestador.Codigo);

                _PushRequest.Prestador.CodPrestador          = guia.Prestador.Codigo;
                _PushRequest.Prestador.Endereco              = "193";
                _PushRequest.Prestador.Localizacao.Latitude  = "";
                _PushRequest.Prestador.Localizacao.Longitude = "";
                _PushRequest.Prestador.NomePrestador         = prestador;

                guia.PushId  = _PushService.GetPushCode(_PushRequest);
                guia.TokenId = _TokenService.GetTokenCode(_PushRequest.Associado.CodAssociado);

                guia.GuiaOrigemFK    = (int)Enums.SourceInterface.Telemedicina;
                guia.StatusCheckInFK = (int)Enums.StatusCheckIns.Valido;
                guia.GuiaTipoFK      = (int)Enums.TypeGuia.Consulta;
                guia.GuiaStatusFK    = (int)Enums.StatusGuia.Aberta;

                MedicoResponse profissional = _PrestadorService.PrestadorMedico(guia.Prestador.Codigo,
                                                                                guiaDto.ProfissionalUFCRM, Convert.ToInt32(guiaDto.ProfissionalCRM), null);

                guia.GuiaXML = _GuiaService.GenerateXMLGuia(guia, guidePerformerCodeType,
                                                            prestador, beneficiario, profissional, guiaDto.Procedimento);

                string textGuia = guia.GuiaXML.ToString();

                _logger.LogInformation(textGuia);

                _GuiaRepository.Save(guia);
                await _uow.CommitAsync();


                return(Created($"/v1/guia/{guia.Id}", null));
            }
            catch (System.Exception ex)
            {
                _uow.Rollback();
                return(this.StatusCode(StatusCodes.Status500InternalServerError,
                                       $"Falha no banco de dados, detalhes : {ex.Message}"));
            }
        }
コード例 #4
0
 public MedicoResponse Agregar(MedicoRequest request)
 {
     try
     {
         var response = new MedicoResponse();
         var bc       = new MedicoComponent();
         response.Result = bc.Add(request.Medico);
         return(response);
     }
     catch (Exception ex)
     {
         var httpError = new HttpResponseMessage()
         {
             StatusCode   = (HttpStatusCode)422,
             ReasonPhrase = ex.Message
         };
         throw new HttpResponseException(httpError);
     }
 }
コード例 #5
0
 public MedicoResponse LeerPorId(int id)
 {
     try
     {
         var response = new MedicoResponse();
         var bc       = new MedicoComponent();
         response.Result = bc.Find(id);
         return(response);
     }
     catch (Exception ex)
     {
         var httpError = new HttpResponseMessage()
         {
             StatusCode   = (HttpStatusCode)422,
             ReasonPhrase = ex.Message
         };
         throw new HttpResponseException(httpError);
     }
 }
コード例 #6
0
        public string GenerateXMLGuia(Guia guia, Enums.PerformerCodeType performerCodeType, string prestador,
                                      BeneficiarioResponse beneficiario, MedicoResponse profissional, string procedimento)
        {
            var guiaXML = new guiaAtendimentoObj
            {
                guideANS      = Consts.CodeANSOmint,
                guideTypeId   = guia.GuiaTipoFK,
                guideStatusId = guia.GuiaStatusFK,
                guideOrgimId  = guia.GuiaOrigemFK,

                guideId      = 0,
                guideDayCare = guia.Data.ToString("dd/MM/yyyy"),

                providerId        = guia.Prestador.Codigo,
                providerUnidadeId = guia.Unidade.Id.ToString(),

                guidePerformerName     = prestador,
                guidePerformerCode     = guia.Prestador.Codigo,
                guidePerformerCodeType = performerCodeType.ToString(),
                guidePerformerCNES     = Consts.CodeCNESConsulta,

                guideQueryType       = "1",
                guideIndicationCrahs = "9",
                guideTableNumber     = "00",
                guideObservation     = string.Format(Consts.GuideObservation, guia.PushId, guia.TokenId),

                guideToken            = guia.PushId,
                guideBeneficiaryToken = guia.TokenId,
                guideCheckingStatus   = guia.StatusCheckInFK,

                guideNumber       = guia.GuiaNumero.Numero,
                guideNumberHealth = guia.GuiaNumero.NumeroOperadora,

                guideBeneficiaryRN              = "N",
                guideBeneficiaryName            = guia.Beneficiario.Nome,
                guideBeneficiaryNumber          = guia.Beneficiario.Cartao,
                guideBeneficiaryNumberCompanion = "0",
                guideBeneficiaryCompanionRG     = beneficiario?.guideBeneficiaryCompanionRG,
                guideBeneficiaryCompanionName   = "",
                guideBeneficiaryCompanionType   = "",

                guidePerformerProfRede = true,

                guidePerformerProfName          = profissional?.medicoNome,
                guidePerformerProfCode          = profissional?.medicoCpfCnpj.Trim(),
                guidePerformerProfAdviceUF      = profissional?.medicoCRMUF,
                guidePerformerProfAdviceCBOS    = profissional != null ? Consts.CodeCBOSConsulta: null,
                guidePerformerProfAdviceNumber  = profissional?.medicoCRM.Trim(),
                guidePerformerProfAdviceAcronym = profissional != null ? ((int)(Enums.AdviceType)System.Enum.Parse(typeof(Enums.AdviceType), "CRM")).ToString(): null,

                guideProcedureOk     = 1,
                guideProcedureNumber = procedimento,
                guideProcedures      = new procedimentosXML[1]
                {
                    new procedimentosXML {
                        dateExecution        = guia.Data.ToString("dd/MM/yyyy"),
                        procedureNumber      = procedimento,
                        procedureAmount      = "1",
                        procedureDescription = "Descrição do Procedimento",
                        priceUnit            = guia.Valor,
                        priceTotal           = guia.Valor
                    }
                },

                guidePriceProcedure  = guia.Valor,
                guidePriceGrandTotal = guia.Valor,

                guideBlocked = false
            };

            return(ToString(guiaXML, typeof(guiaAtendimentoObj), Encoding.UTF8));
        }