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}")); } }