public void Ejecutar() { var config = new ConfiguracionComunicacionHacienda { ClientID = "api-stag", ClientSecret = "", GrantType = "password", TipoAutenticacion = "bearer", UrlApiHacienda = "https://api.comprobanteselectronicos.go.cr/recepcion-sandbox/v1/recepcion", UrlIdpLogIn = "******", UrlIdpLogOut = "https://idp.comprobanteselectronicos.go.cr/auth/realms/rut-stag/protocol/openid-connect/logout", IdpUsuario = "*****@*****.**", IdpContrasenna = "/.1_4BhBuD&)a!r{v_@$" }; var despechador = new DespachadorDocumentosAHacienda(config); List <DocumentoDto> listadocs = new List <DocumentoDto>(); DocumentoDto doc = new DocumentoDto { clave = "50611111800010956066400110000040000000002198999075", //la clave de 50 caracteres comprobanteXml = obtenerXML("50611111800010956066400110000040000000002198999075"), emisor = new PersonaDocumentoDto { //la informacion del emisor numeroIdentificacion = "304810266", tipoIdentificacion = "02" }, fecha = DateTime.Now.ToString("yyyy-MM-dd'T'HH:mm:ssZ") //la fecha de la factura-> cuando la factura se hizo }; listadocs.Add(doc); despechador.EjecutarProceso(listadocs); }
public PostRespuestaEnvioHacienda EnviarDocumentoAHacienda(DocumentoDto data) { var respuesta = new PostRespuestaEnvioHacienda(); respuesta.Clave = data.clave; var jsonEnvio = ConvertirObjetoAEnviarEnJson(data); var respuestaApi = PostDocumento(jsonEnvio); respuesta.TramaRecibida = respuestaApi.Content.ReadAsStringAsync().Result; if (string.IsNullOrEmpty(respuesta.TramaRecibida)) { respuesta.TramaRecibida = respuestaApi.ToString(); } respuesta.Mensaje = respuestaApi.ReasonPhrase; IEnumerable <string> valoresHeader; if (respuestaApi.IsSuccessStatusCode) { respuesta.DocumentoEnviado = true; if (respuestaApi.Headers.TryGetValues("Location", out valoresHeader)) { respuesta.RutaConsultaEstadoDocumento = valoresHeader.FirstOrDefault(); } } else { if (respuestaApi.Headers.TryGetValues("X-Error-Cause", out valoresHeader)) { respuesta.Mensaje = valoresHeader.FirstOrDefault(); respuesta.DocumentoEnviado = respuesta.Mensaje.Contains("ya fue recibido"); } } return(respuesta); }
public void Salvar(DocumentoDto pDocumentoDto, Usuarios pUsuario) { var BdDocumento = _documentosCollection.Find( Builders <Documentos> .Filter.Eq(doc => doc.UsuarioId, pUsuario.UsuarioId) ).FirstOrDefault(); if (Utils.DocumentoValido(pDocumentoDto.Numero, pDocumentoDto.Tipo) && BdDocumento == null) { var collectionName = _documentosCollection.CollectionNamespace.CollectionName; var lDocumentoId = new SequenciasBusiness(_mongoDb).ProximoValor(collectionName); var lDocumento = new Documentos ( pDocumentoDto.Tipo, pDocumentoDto.Numero ); lDocumento.DocumentoId = lDocumentoId; lDocumento.UsuarioId = pUsuario.UsuarioId; _documentosCollection.InsertOne(lDocumento); } else { throw new Exception("Nao foi possivel salvar o documento"); } }
private string ConvertirObjetoAEnviarEnJson(DocumentoDto documento) { documento.comprobanteXml = ConvertirStringABase64(documento.comprobanteXml); return(Newtonsoft.Json.JsonConvert.SerializeObject(documento, Newtonsoft.Json.Formatting.None, new Newtonsoft.Json.JsonSerializerSettings() { NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore })); }
public IActionResult AnexarDocumentos(DocumentoDto documentoDto) { var doc = _documentoService.AnexarArquivo(documentoDto); if (doc == null) { return(NoContent()); } return(Created($"{Request.Path}/{doc.Id}", doc)); }
public async Task <IActionResult> Delete(DocumentoDto dto) { var result = new HttpResult <DocumentoDto>(this._logger); try { await this._app.Remove(dto); return(result.ReturnCustomResponse(this._app, dto)); } catch (Exception ex) { return(result.ReturnCustomException(ex, "Target.Pendencias - Documento", dto)); } }
public Documento AnexarArquivo(DocumentoDto documentoDto) { //Limpar o Hash enviado var data = new Regex(@"^data:application/pdf;base64,").Replace(documentoDto.Arquivo, ""); //Gerar um array de Bytes var arquivo = Convert.FromBase64String(data); var documento = new Documento { Arquivo = arquivo, Categoria = documentoDto.Categoria, Matricula = documentoDto.Matricula }; _documentoRepository.Save(documento); var doc = _documentoRepository.GetDocumentosAnexado(documento.Matricula); return(this.Converte(doc)); }
public Documentos AlterarDocumento(int pId, DocumentoDto pDocumentoDto, Usuarios pUsuario) { var BdDocumento = _documentosCollection.Find( Builders <Documentos> .Filter.Eq(doc => doc.UsuarioId, pUsuario.UsuarioId) ).FirstOrDefault(); if (Utils.DocumentoValido(pDocumentoDto.Numero, pDocumentoDto.Tipo) && BdDocumento != null) { return(_documentosCollection.FindOneAndUpdate( Builders <Documentos> .Filter.Eq(doc => doc.DocumentoId, pId), Builders <Documentos> .Update .Set(doc => doc.DocumentoId, pId) .Set(doc => doc.UsuarioId, pUsuario.UsuarioId) .Set(doc => doc.Numero, pDocumentoDto.Numero) .Set(doc => doc.Tipo, pDocumentoDto.Tipo) )); } else { throw new System.Exception("Não foi possível editar o documento"); } }
public void Ejecutar() { var config = new ConfiguracionComunicacionHacienda { ClientID = "api-stag", ClientSecret = "", GrantType = "password", TipoAutenticacion = "bearer", UrlApiHacienda = "https://api.comprobanteselectronicos.go.cr/recepcion-sandbox/v1/recepcion", UrlIdpLogIn = "******", UrlIdpLogOut = "https://idp.comprobanteselectronicos.go.cr/auth/realms/rut-stag/protocol/openid-connect/logout", IdpUsuario = "*****@*****.**", IdpContrasenna = "E>++}6U6W:;rE?gvF;-(" }; var despechador = new DespachadorDocumentosAHacienda(config); List <DocumentoDto> listadocs = new List <DocumentoDto>(); DocumentoDto doc = new DocumentoDto { clave = "50622101800030385010000100001010000000493140264212", //la clave de 50 caracteres comprobanteXml = "<Tiquete Electronico></TiqueteElectronico>", //el comprobante en formato XML emisor = new PersonaDocumentoDto { //la informacion del emisor numeroIdentificacion = "304810266", tipoIdentificacion = "02" }, receptor = new PersonaDocumentoDto { //la info del receptor numeroIdentificacion = "909990999", tipoIdentificacion = "02" }, fecha = DateTime.Now.ToString("yyyy-MM-dd'T'HH:mm:ssZ") //la fecha de la factura-> cuando la factura se hizo }; listadocs.Add(doc); var resp = despechador.EjecutarProceso(listadocs); Console.WriteLine(resp[0]); }
public IEnumerable <PacienteDto> MapperListPacientesDto(IEnumerable <Paciente> pacientes) { var pacientesDto = new List <PacienteDto>(); foreach (var paciente in pacientes) { var pacienteDto = new PacienteDto(); var documentosDto = new List <DocumentoDto>(); var enderecosDto = new List <EnderecoDto>(); var telefonesDto = new List <TelefoneDto>(); var emailsDto = new List <EmailDto>(); //Paciente pacienteDto.Id = paciente.Id; pacienteDto.Nome = paciente.Nome; pacienteDto.Tipo = paciente.Tipo; pacienteDto.Status = paciente.Status; pacienteDto.IdProntuario = paciente.IdProntuario; if (paciente.Documentos != null) { //Documentos do Paciente foreach (var documento in paciente.Documentos) { var documentoDto = new DocumentoDto(); documentoDto.Id = documento.Id; documentoDto.Tipo = documento.Tipo; documentoDto.Numero = documento.Numero; documentosDto.Add(documentoDto); } pacienteDto.Enderecos = enderecosDto; } if (paciente.Enderecos != null) { //Endereços do Paciente foreach (var endereco in paciente.Enderecos) { var enderecoDto = new EnderecoDto(); enderecoDto.Id = endereco.Id; enderecoDto.Tipo = endereco.Tipo; enderecoDto.Logradouro = endereco.Logradouro; enderecoDto.Numero = endereco.Numero; enderecoDto.Complemento = endereco.Complemento; enderecoDto.Cep = endereco.Cep; enderecoDto.Bairro = endereco.Bairro; enderecoDto.Municipio = endereco.Municipio; enderecoDto.Estado = endereco.Estado; enderecoDto.Latitude = endereco.Latitude; enderecoDto.Longetude = endereco.Longetude; enderecosDto.Add(enderecoDto); } pacienteDto.Enderecos = enderecosDto; } if (paciente.Telefones != null) { //Telefones do Paciente foreach (var telefone in paciente.Telefones) { var telefoneDto = new TelefoneDto(); telefoneDto.Id = telefone.Id; telefoneDto.Tipo = telefone.Tipo; telefoneDto.DDI = telefone.DDI; telefoneDto.DDD = telefone.DDD; telefoneDto.Numero = telefone.Numero; telefoneDto.Recado = telefone.Recado; telefoneDto.Complemento = telefone.Complemento; telefonesDto.Add(telefoneDto); } pacienteDto.Telefones = telefonesDto; } if (paciente.Emails != null) { //Emails do Paciente foreach (var telefone in paciente.Emails) { var emailDto = new EmailDto(); emailDto.Id = telefone.Id; emailDto.Tipo = telefone.Tipo; emailDto.Endereco = telefone.Endereco; emailDto.Status = telefone.Status; emailsDto.Add(emailDto); } pacienteDto.Emails = emailsDto; } pacientesDto.Add(pacienteDto); } return(pacientesDto); }
public PacienteDto MapperEntityToDto(Paciente paciente) { var pacienteDto = new PacienteDto(); var documentosDto = new List <DocumentoDto>(); var enderecosDto = new List <EnderecoDto>(); var telefonesDto = new List <TelefoneDto>(); var emailsDto = new List <EmailDto>(); pacienteDto.Id = paciente.Id; pacienteDto.Nome = paciente.Nome; pacienteDto.Tipo = paciente.Tipo; pacienteDto.Status = paciente.Status; pacienteDto.IdProntuario = paciente.IdProntuario; if (paciente.Documentos != null) { foreach (var item in paciente.Documentos) { var documentoDto = new DocumentoDto() { Id = item.Id, Tipo = item.Tipo, Numero = item.Numero }; documentosDto.Add(documentoDto); } pacienteDto.Documentos = documentosDto; } if (paciente.Enderecos != null) { foreach (var item in paciente.Enderecos) { var enderecoDto = new EnderecoDto() { Id = item.Id, Tipo = item.Tipo, Logradouro = item.Logradouro, Numero = item.Numero, Complemento = item.Complemento, Cep = item.Cep, Bairro = item.Bairro, Municipio = item.Municipio, Estado = item.Estado, Latitude = item.Latitude, Longetude = item.Longetude }; enderecosDto.Add(enderecoDto); } pacienteDto.Enderecos = enderecosDto; } if (paciente.Telefones != null) { foreach (var item in paciente.Telefones) { var telefoneDto = new TelefoneDto() { Id = item.Id, Tipo = item.Tipo, DDI = item.DDI, DDD = item.DDD, Numero = item.Numero, Recado = item.Recado, Complemento = item.Complemento }; telefonesDto.Add(telefoneDto); } pacienteDto.Enderecos = enderecosDto; } if (paciente.Emails != null) { foreach (var item in paciente.Emails) { var emailDto = new EmailDto() { Id = item.Id, Tipo = item.Tipo, Endereco = item.Endereco, Status = item.Status }; emailsDto.Add(emailDto); } pacienteDto.Emails = emailsDto; } return(pacienteDto); }
public IEnumerable <FuncionarioDto> MapperListFuncionariosDto(IEnumerable <Funcionario> funcionarios) { var funcionariosDto = new List <FuncionarioDto>(); foreach (var funcionario in funcionarios) { var funcionarioDto = new FuncionarioDto(); var documentosDto = new List <DocumentoDto>(); var enderecosDto = new List <EnderecoDto>(); var telefonesDto = new List <TelefoneDto>(); var emailsDto = new List <EmailDto>(); //Paciente funcionarioDto.Id = funcionario.Id; funcionarioDto.Nome = funcionario.Nome; funcionarioDto.Tipo = funcionario.Tipo; funcionarioDto.Admissao = funcionario.Admissao; funcionarioDto.Status = funcionario.Status; funcionarioDto.IdCargo = funcionario.IdCargo; if (funcionario.Documentos != null) { //Documentos do Paciente foreach (var documento in funcionario.Documentos) { var documentoDto = new DocumentoDto(); documentoDto.Id = documento.Id; documentoDto.Tipo = documento.Tipo; documentoDto.Numero = documento.Numero; documentosDto.Add(documentoDto); } funcionarioDto.Enderecos = enderecosDto; } if (funcionario.Enderecos != null) { //Endereços do Paciente foreach (var endereco in funcionario.Enderecos) { var enderecoDto = new EnderecoDto(); enderecoDto.Id = endereco.Id; enderecoDto.Tipo = endereco.Tipo; enderecoDto.Logradouro = endereco.Logradouro; enderecoDto.Numero = endereco.Numero; enderecoDto.Complemento = endereco.Complemento; enderecoDto.Cep = endereco.Cep; enderecoDto.Bairro = endereco.Bairro; enderecoDto.Municipio = endereco.Municipio; enderecoDto.Estado = endereco.Estado; enderecoDto.Latitude = endereco.Latitude; enderecoDto.Longetude = endereco.Longetude; enderecosDto.Add(enderecoDto); } funcionarioDto.Enderecos = enderecosDto; } if (funcionario.Telefones != null) { //Telefones do Paciente foreach (var telefone in funcionario.Telefones) { var telefoneDto = new TelefoneDto(); telefoneDto.Id = telefone.Id; telefoneDto.Tipo = telefone.Tipo; telefoneDto.DDI = telefone.DDI; telefoneDto.DDD = telefone.DDD; telefoneDto.Numero = telefone.Numero; telefoneDto.Recado = telefone.Recado; telefoneDto.Complemento = telefone.Complemento; telefonesDto.Add(telefoneDto); } funcionarioDto.Telefones = telefonesDto; } if (funcionario.Emails != null) { //Emails do Paciente foreach (var telefone in funcionario.Emails) { var emailDto = new EmailDto(); emailDto.Id = telefone.Id; emailDto.Tipo = telefone.Tipo; emailDto.Endereco = telefone.Endereco; emailDto.Status = telefone.Status; emailsDto.Add(emailDto); } funcionarioDto.Emails = emailsDto; } funcionariosDto.Add(funcionarioDto); } return(funcionariosDto); }
public FuncionarioDto MapperEntityToDto(Funcionario funcionario) { var funcionarioDto = new FuncionarioDto(); var documentosDto = new List <DocumentoDto>(); var enderecosDto = new List <EnderecoDto>(); var telefonesDto = new List <TelefoneDto>(); var emailsDto = new List <EmailDto>(); funcionarioDto.Id = funcionario.Id; funcionarioDto.Nome = funcionario.Nome; funcionarioDto.Tipo = funcionario.Tipo; funcionarioDto.Admissao = funcionario.Admissao; funcionarioDto.Status = funcionario.Status; funcionario.IdCargo = funcionarioDto.IdCargo; if (funcionario.Documentos != null) { foreach (var item in funcionario.Documentos) { var documentoDto = new DocumentoDto() { Id = item.Id, Tipo = item.Tipo, Numero = item.Numero }; documentosDto.Add(documentoDto); } funcionarioDto.Documentos = documentosDto; } if (funcionario.Enderecos != null) { foreach (var item in funcionario.Enderecos) { var enderecoDto = new EnderecoDto() { Id = item.Id, Tipo = item.Tipo, Logradouro = item.Logradouro, Numero = item.Numero, Complemento = item.Complemento, Cep = item.Cep, Bairro = item.Bairro, Municipio = item.Municipio, Estado = item.Estado, Latitude = item.Latitude, Longetude = item.Longetude }; enderecosDto.Add(enderecoDto); } funcionarioDto.Enderecos = enderecosDto; } if (funcionario.Telefones != null) { foreach (var item in funcionario.Telefones) { var telefoneDto = new TelefoneDto() { Id = item.Id, Tipo = item.Tipo, DDI = item.DDI, DDD = item.DDD, Numero = item.Numero, Recado = item.Recado, Complemento = item.Complemento }; telefonesDto.Add(telefoneDto); } funcionarioDto.Enderecos = enderecosDto; } if (funcionario.Emails != null) { foreach (var item in funcionario.Emails) { var emailDto = new EmailDto() { Id = item.Id, Tipo = item.Tipo, Endereco = item.Endereco, Status = item.Status }; emailsDto.Add(emailDto); } funcionarioDto.Emails = emailsDto; } return(funcionarioDto); }