Ejemplo n.º 1
0
 public PostagemVipp(PerfilVipp perfilVipp, ContratoEct contratoEct, Destinatario destinatario, Servico servico, NotasFiscais notasFiscais, VolumeObjeto[] volumes)
 {
     PerfilVipp   = perfilVipp;
     ContratoEct  = contratoEct;
     Destinatario = destinatario;
     Servico      = servico;
     NotasFiscais = notasFiscais;
     Volumes      = volumes;
 }
        public void Postar(List <Postagem> lVipp, string fileName)
        {
            IniFile    oIniFile = new IniFile("Config");
            PerfilVipp oPerfil  = new PerfilVipp()
            {
                IdPerfil = oIniFile.IniReadString("IdPerfil"),
                Usuario  = oIniFile.IniReadString("Usuario"),
                Token    = oIniFile.IniReadString("Senha")
            };

            PostarObjetoVIPP.Postagem(lVipp, null, oPerfil);

            if (!Directory.Exists(@"C:\Visualset.IntegradorWebService"))
            {
                Directory.CreateDirectory(@"C:\Visualset.IntegradorWebService");
            }
            using (StreamWriter vWriter = new StreamWriter(@"C:\Visualset.IntegradorWebService\LogServico.txt", true)){
                vWriter.Flush();
                vWriter.WriteLine(string.Concat(DateTime.Now.ToString(), " | | Realizado a Importação do arquivo ", fileName, " com ", TrataRetorno.lRetornoInvalida.Count, " erros "));
                vWriter.Close();
            }
        }
Ejemplo n.º 3
0
        public static List <Postagem> ListaDePostagem(string path)
        {
            #region Recupera a formatação da planilha do Settings.settings
            List <FormatacaoPlanilha> lFormatacao = new List <FormatacaoPlanilha>();
            lFormatacao = FormatacaoPlanilha.ListarFormatacao();
            #endregion
            List <Postagem>   lVipp       = new List <Postagem>();
            Excel.Application xlsAPP      = new Excel.Application();
            Excel.Workbook    xlsWorkbook = xlsAPP.Workbooks.Open(path, 0, true, 5, "", "", true, Excel.XlPlatform.xlWindows, "", false, false, 0, false, false, false);
            Excel.Sheets      xlsSheets   = xlsWorkbook.Worksheets;

            //For que acessa todas as planilhas
            foreach (Excel.Worksheet xlsWorksheet in xlsSheets)
            {
                //Acessa a aba da Planilha com o nome "Control Respuesta".
                if (xlsWorksheet.Name.Trim().Equals("Control Respuesta"))
                {
                    Excel.Range xlsWorksRows = xlsWorksheet.Rows;

                    //for do Numero de linhas
                    foreach (Excel.Range xlsWorkCell in xlsWorksRows)
                    {
                        Destinatario          oDestinatario  = new Destinatario();
                        WSVIPP.VolumeObjeto[] oVolumeObjetos = new WSVIPP.VolumeObjeto[] { new WSVIPP.VolumeObjeto() };
                        ItemConteudo[]        oItemConteudos;
                        DeclaracaoConteudo[]  oDeclaracaoConteudos = new DeclaracaoConteudo[] { new DeclaracaoConteudo() };
                        Excel.Range           xlsCell = xlsWorkCell.Cells;

                        //For para percorrer a lista de Formatação

                        foreach (FormatacaoPlanilha list in lFormatacao)
                        {
                            String      atributo      = list.NomeAtributo;
                            int         coluna        = list.Coluna;
                            Excel.Range AtributoValor = xlsCell.Item[coluna];
                            string      valor         = AtributoValor.Text;

                            if (atributo.Equals("UF"))
                            {
                                oDestinatario.UF = valor;
                            }

                            if (atributo.Equals("Destinatario"))
                            {
                                oDestinatario.Nome = valor;
                            }
                            else if (atributo.Equals("Endereco"))
                            {
                                oDestinatario.Endereco = valor;
                            }
                            else if (atributo.Equals("Numero"))
                            {
                                oDestinatario.Numero = valor;
                            }
                            else if (atributo.Equals("Bairro"))
                            {
                                oDestinatario.Bairro = valor;
                            }
                            else if (atributo.Equals("Cidade"))
                            {
                                oDestinatario.Cidade = valor;
                            }
                            else if (atributo.Equals("CEP"))
                            {
                                oDestinatario.Cep = valor;
                            }
                            else if (atributo.Equals("Complemento"))
                            {
                                oDestinatario.Complemento = valor;
                            }
                            else if (atributo.Equals("Conteudo"))
                            {
                                ItemConteudo oItemConteudo = new ItemConteudo()
                                {
                                    DescricaoConteudo = valor, Quantidade = 1, Valor = "100"
                                };

                                oItemConteudos = new ItemConteudo[] { oItemConteudo };
                                oVolumeObjetos[0].DeclaracaoConteudo = new DeclaracaoConteudo()
                                {
                                    ItemConteudo = oItemConteudos, PesoTotal = 10
                                };
                            }
                            else if (atributo.Equals("Observacao1"))
                            {
                                WSVIPP.VolumeObjeto oVolumeObjeto = new WSVIPP.VolumeObjeto
                                {
                                    CodigoBarraVolume = valor
                                };
                                oVolumeObjetos[0].CodigoBarraVolume = oVolumeObjeto.CodigoBarraVolume;
                            }
                        }//fim do For da Lista de Formatacao

                        PerfilVipp oPerfilVipp = new PerfilVipp
                        {
                            Usuario  = "webservice",
                            Token    = "testewebservice",
                            IdPerfil = "606"
                        };

                        Postagem oPostagem = new Postagem()
                        {
                            Destinatario = oDestinatario, PerfilVipp = oPerfilVipp, Volumes = oVolumeObjetos
                        };


                        Postagem oPostagemExistente = (from o in lVipp
                                                       where o.Volumes[0].CodigoBarraVolume.Equals(
                                                           oPostagem.Volumes[0].CodigoBarraVolume)
                                                       select o).FirstOrDefault();
                        if (oPostagemExistente == null)
                        {
                            lVipp.Add(oPostagem);
                        }
                        else
                        {
                            ItemConteudo[] x = oPostagem.Volumes[0].DeclaracaoConteudo.ItemConteudo;
                            Array.Resize(ref x, x.Length + 1);
                            x[x.Length - 1] = oPostagemExistente.Volumes[0].DeclaracaoConteudo.ItemConteudo[0];
                            oPostagemExistente.Volumes[0].DeclaracaoConteudo.ItemConteudo = x;
                        }

                        if (oPostagem.Destinatario.Nome.Equals(string.Empty))
                        {
                            break;
                        }
                    } // fim do for que acessa as linhas
                }     // fim do if q acessa a aba da Planilha com o nome "Control Respuesta".
            }         // fim do For que acessa todas as planilhas
            return(lVipp);
        }
        public static void Postagem(List <Postagem> lVipp, Form1 frm, PerfilVipp oPerfil)
        {
            string oRetorno = null;
            int    cont     = 0;

            try
            {
                frm.progressBar.Maximum = lVipp.Count + 1;
                frm.progressBar.Visible = true;
                frm.progressBar.Value   = 1;
                frm.labelProgresso.Text = "Transmitindo para o VIPP";
            }
            catch (NullReferenceException)
            {
            }

            foreach (Postagem o in lVipp)
            {
                try
                {
                    cont++;
                    frm.progressBar.Value++;
                }
                catch (NullReferenceException)
                {
                }
                try
                {
                    Postagem oPostagem = new Postagem
                    {
                        Destinatario = o.Destinatario,
                        ContratoEct  = o.ContratoEct,
                        NotasFiscais = o.NotasFiscais,
                        PerfilVipp   = new PerfilVipp()
                        {
                            Usuario  = oPerfil.Usuario,
                            IdPerfil = oPerfil.IdPerfil,
                            Token    = oPerfil.Token
                        },
                        Servico = o.Servico,
                        Volumes = o.Volumes
                    };

                    using (PostagemVipp oSigep = new PostagemVipp())
                    {
                        try
                        {
                            oRetorno = oSigep.PostarObjeto(oPostagem).InnerXml;
                        }
                        catch (Exception e)
                        {
                            MessageBox.Show("Erro: " + e.Message + " verifique a conexao com a Internet");
                        }
                        TrataRetorno.RetornoPostagem(oRetorno);
                    }
                }
                catch (NullReferenceException)
                {
                }
            }
        }