/// <summary> /// /// </summary> /// <param name="config"></param> /// <param name="service"></param> /// <param name="certificado"></param> public CTeRecepcaoEventoServiceClient(CTeConfig config, TipoServicoCTe service, X509Certificate2 certificado = null) : base(config, service, certificado) { Schema = SchemaCTe.EventoCTe; ArquivoEnvio = "ped-eve"; ArquivoResposta = "eve"; }
/// <summary> /// Retorna a url do serviço de acordo com os dados passados. /// </summary> /// <param name="versao">Versão da CTe</param> /// <param name="uf">UF do serviço</param> /// <param name="tipo">Tipo de serviço</param> /// <param name="tipoEmissao"></param> /// <param name="ambiente">Ambiente</param> /// <returns></returns> /// <exception cref="ArgumentOutOfRangeException"></exception> public static string GetServiceAndress(CTeVersao versao, DFeSiglaUF uf, TipoServicoCTe tipo, DFeTipoEmissao tipoEmissao, DFeTipoAmbiente ambiente) { switch (tipo) { case TipoServicoCTe.DistribuicaoDFe: switch (ambiente) { case DFeTipoAmbiente.Homologacao: return(""); default: return(""); } default: var service = Servicos[versao, tipoEmissao]; Guard.Against <ACBrException>(service == null, "Versão ou tipo de emissão não encontrada no arquivo de serviços."); return(service[ambiente, uf]?[tipo]); } }
/// <inheritdoc /> /// <summary> /// </summary> /// <param name="config"></param> /// <param name="service"></param> /// <param name="certificado"></param> protected CTeServiceClient(CTeConfig config, TipoServicoCTe service, X509Certificate2 certificado = null) : base(config, CTeServiceManager.GetServiceAndress(config.Geral.VersaoDFe, config.WebServices.UF.ToSiglaUF(), service, config.Geral.FormaEmissao, config.WebServices.Ambiente), certificado) { }