public ActionResult <MedicoResponse> Post(MedicoRequest request) { CrearMedicoService _service = new CrearMedicoService(_unitOfWork); MedicoResponse response = _service.CrearMedico(request); return(Ok(response)); }
public ActionResult <MedicoResponse> ActualizarMedico([FromBody] MedicoRequest request) { ActualizarService _service = new ActualizarService(_unitOfWork); MedicoResponse response = _service.ActualizarMedico(request); return(Ok(response)); }
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}")); } }
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); } }
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); } }
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)); }