/// <summary>Initializes a new instance of the <see cref="T:System.Object"></see> class.</summary>
 public RetConsStat(retConsStatServ retorno, string xmlRecebido, int processadas, int rejeitadas, string xmlEnviado)
 {
     Retorno     = retorno;
     XmlRecebido = xmlRecebido;
     Processadas = processadas;
     Rejeitadas  = rejeitadas;
     XmlEnviado  = xmlEnviado;
 }
        /// <summary>
        ///     Consulta o status do Serviço de NFe
        /// </summary>
        /// <returns>Retorna um objeto da classe RetornoNfeStatusServico com os dados status do serviço</returns>
        public RetornoNfeStatusServico NfeStatusServico()
        {
            var versaoServico = Auxiliar.VersaoServicoParaString(ServicoNFe.NfeStatusServico, _cFgServico.VersaoNfeStatusServico);

            #region Cria o objeto wdsl para consulta

            var ws = CriarServico(ServicoNFe.NfeStatusServico, TipoRecepcaoEvento.Nenhum);

            ws.nfeCabecMsg = new nfeCabecMsg
            {
                cUF         = _cFgServico.cUF,
                versaoDados = versaoServico
            };

            #endregion

            #region Cria o objeto consStatServ

            var pedStatus = new consStatServ
            {
                cUF    = _cFgServico.cUF,
                tpAmb  = _cFgServico.tpAmb,
                versao = versaoServico
            };

            #endregion

            #region Valida, Envia os dados e obtém a resposta

            var xmlStatus = pedStatus.ObterXmlString();
            Validador.Valida(ServicoNFe.NfeStatusServico, TipoRecepcaoEvento.Nenhum, _cFgServico.VersaoNfeStatusServico, xmlStatus);
            var dadosStatus = new XmlDocument();
            dadosStatus.LoadXml(xmlStatus);

            SalvarArquivoXml(DateTime.Now.ToString("yyyyMMddHHmmss") + "-ped-sta.xml", xmlStatus);

            var retorno          = ws.Execute(dadosStatus);
            var retornoXmlString = retorno.OuterXml;
            var retConsStatServ  = new retConsStatServ().CarregarDeXmlString(retornoXmlString);

            SalvarArquivoXml(DateTime.Now.ToString("yyyyMMddHHmmss") + "-sta.xml", retornoXmlString);

            return(new RetornoNfeStatusServico(pedStatus.ObterXmlString(), retConsStatServ.ObterXmlString(), retornoXmlString, retConsStatServ));

            #endregion
        }
 /// <summary>
 ///     Converte um objeto do tipo retConsStatServ para uma string no formato XML com os dados do objeto
 /// </summary>
 /// <param name="retConsStatServ"></param>
 /// <returns>Retorna uma string no formato XML com os dados do objeto retConsStatServ</returns>
 public static string ObterXmlString(this retConsStatServ retConsStatServ)
 {
     return(FuncoesXml.ClasseParaXmlString(retConsStatServ));
 }
 /// <summary>
 ///     Carrega um objeto do tipo retConsStatServ a partir de uma string no formato XML
 /// </summary>
 /// <param name="retConsStatServ"></param>
 /// <param name="xmlString"></param>
 /// <returns>Retorna um objeto retConsStatServ com as informações da string XML</returns>
 public static retConsStatServ CarregarDeXmlString(this retConsStatServ retConsStatServ, string xmlString)
 {
     return(FuncoesXml.XmlStringParaClasse <retConsStatServ>(xmlString));
 }
 public RetornoNfeStatusServico(string envioStr, string retornoStr, string retornoCompletaStr, retConsStatServ retorno)
     : base(envioStr, retornoStr, retornoCompletaStr, retorno)
 {
     Retorno = retorno;
 }