示例#1
0
        /// <summary>
        /// Cria um leiaute completo para a geração de um arquivo
        /// </summary>
        /// <returns></returns>
        private ILeiaute GetLeiaute()
        {
            ILeiaute result = null;
            string descricao = "Exportação de arquivo de Pré-Venda";

            //------------------------------------------------------------------
            // Pesquisar pelo leiaute, se encontrar, não precisa criar um novo
            //------------------------------------------------------------------
            IList<ILeiaute> list = new Exportacao().Find<ILeiaute>(new Where { { "Descricao", descricao } });

            if(list.Count == 0)
            {
                result = new Exportacao();
                result.PadraoNomeArquivo = @"K:\OpenPOS\Unico\Exporta\{0}.xml";
                result.Descricao = descricao;
                result.FormatoArquivo = Enuns.UniBot.FormatoArquivo.XML;
                result.Codigo += "code={public void Export(Synchronize.Interface.IGeraArquivo geraArquivo, Where where)";
                result.Codigo += "{";
                result.Codigo += "	IList<Data.Faturamento.Lancamento.Movimento.PreVenda.PreVenda> pvs =";
                result.Codigo += "		new Data.Faturamento.Lancamento.Movimento.PreVenda.PreVenda()";
                result.Codigo += "              .Find<Data.Faturamento.Lancamento.Movimento.PreVenda.PreVenda>(where);";
                result.Codigo += "	string template = \"PreVenda-{0}_{1:ddMMyyyy_HHmmss}\";";
                result.Codigo += "	string file = \"\";";
                result.Codigo += "	int i = 0;";
                result.Codigo += "	foreach(Data.Faturamento.Lancamento.Movimento.PreVenda.PreVenda pv in pvs)";
                result.Codigo += "	{";
                result.Codigo += "		System.Xml.XmlDocument doc = pv.GenerateFile();";
                result.Codigo += "		file = System.IO.Path.Combine(geraArquivo.FileInfo.DirectoryName,";
                result.Codigo += "			String.Format(geraArquivo.Leiaute.PadraoNomeArquivo, String.Format(template, ++i, DateTime.Now)));";
                result.Codigo += "		doc.Save(file);";
                result.Codigo += "	}";
                result.Codigo += "}}";
                result.TipoArquivo = Enuns.UniBot.Leiaute.TipoArquivo.PreVenda;

                result.Save();
            }
            else
                result = list[0] as ILeiaute;

            return result;
        }
        /// <summary>
        /// Cria um leiaute completo para a geração de um arquivo
        /// </summary>
        /// <returns></returns>
        private ILeiaute GetLeiaute()
        {
            ILeiaute result = null;
            string descricao = "Movimentacao Base";

            //------------------------------------------------------------------
            // Pesquisar pelo leiaute, se encontrar, não precisa criar um novo
            //------------------------------------------------------------------
            IList<ILeiaute> list = new Exportacao().Find<ILeiaute>(new Where { { "Descricao", descricao } });

            if(list.Count == 0)
            {
                #region base do leiaute
                result = new Exportacao();

                result.Descricao = descricao;
                result.PadraoNomeArquivo = "Movimentacao_{date:dd-mm-yyyy}.txt";

                result.Codigo = @"SELECT fat_Lan.GUID AS lanGUID, fat_Lan.EGUID AS lanEGUID, fat_Lan.Tipo, fat_Lan.Status,
                                  fat_LanMov.DataEmissao, fat_LanMov.VlrTotalBruto,
                                  cad_Item.GUID as itemGUID, cad_Item.EGUID AS itemCodigo, cad_Item.Descricao,
                                  fat_LanMovItem.Quantidade, fat_LanMovItem.VlrUnitarioLiquido
                                  FROM fat_Lan
                                  INNER JOIN fat_LanMov ON fat_LanMov.GUIDLan = fat_lan.GUID
                                  INNER JOIN fat_LanMovItem ON fat_LanMovItem.GUIDLanMov = fat_LanMov.GUIDLan
                                  INNER JOIN cad_Item ON cad_Item.GUID = fat_LanMovItem.GUIDItem";
                #endregion

                #region headers
                result.Headers.Add(new Header
                {
                    De = "1",
                    Tamanho = 36,
                    Nome = "lanGUID"
                });

                result.Headers.Add(new Header
                {
                    De = (result.Headers[result.Headers.Count - 1].Ate + 1).ToString(),
                    Tamanho = 20,
                    Nome = "lanEGUID"
                });

                result.Headers.Add(new Header
                {
                    De = (result.Headers[result.Headers.Count - 1].Ate + 1).ToString(),
                    Tamanho = 1,
                    Nome = "Tipo"
                });

                result.Headers.Add(new Header
                {
                    De = (result.Headers[result.Headers.Count - 1].Ate + 1).ToString(),
                    Tamanho = 1,
                    Nome = "Status"
                });

                result.Headers.Add(new Header
                {
                    De = (result.Headers[result.Headers.Count - 1].Ate + 1).ToString(),
                    Tamanho = 10,
                    Nome = "DataEmissao",
                    Tipo = Enuns.UniBot.Tipo.Date
                });
                #endregion

                #region Detalhes
                result.Detalhes.Add(new Detalhe
                {
                    De = "1",
                    Tamanho = 36,
                    Nome = "lanGUID"
                });

                result.Detalhes.Add(new Detalhe
                {
                    De = (result.Detalhes[result.Detalhes.Count - 1].Ate + 1).ToString(),
                    Tamanho = 36,
                    Nome = "itemGUID"
                });

                result.Detalhes.Add(new Detalhe
                {
                    De = (result.Detalhes[result.Detalhes.Count - 1].Ate + 1).ToString(),
                    Tamanho = 20,
                    Nome = "itemCodigo"
                });

                result.Detalhes.Add(new Detalhe
                {
                    De = (result.Detalhes[result.Detalhes.Count - 1].Ate + 1).ToString(),
                    Tamanho = 50,
                    Nome = "Descricao"
                });

                result.Detalhes.Add(new Detalhe
                {
                    De = (result.Detalhes[result.Detalhes.Count - 1].Ate + 1).ToString(),
                    Tamanho = 10,
                    Nome = "Quantidade",
                    Tipo = Enuns.UniBot.Tipo.Numeric
                });

                result.Detalhes.Add(new Detalhe
                {
                    De = (result.Detalhes[result.Detalhes.Count - 1].Ate + 1).ToString(),
                    Tamanho = 10,
                    Nome = "VlrUnitarioLiquido",
                    Tipo = Enuns.UniBot.Tipo.Currency
                });
                #endregion
                result.TipoArquivo = Enuns.UniBot.Leiaute.TipoArquivo.PreVenda;

                result.Save();
            }
            else
                result = list[0] as ILeiaute;

            return result;
        }
示例#3
0
        /// <summary>
        /// Cria um leiaute completo para a geração de um arquivo
        /// </summary>
        /// <returns></returns>
        private ILeiaute GetLeiaute()
        {
            ILeiaute result = null;
            string descricao = "Exportação de arquivo de Mapa Resumo";

            //------------------------------------------------------------------
            // Pesquisar pelo leiaute, se encontrar, não precisa criar um novo
            //------------------------------------------------------------------
            IList<ILeiaute> list = new Exportacao().Find<ILeiaute>(new Where { { "Descricao", descricao } });

            if(list.Count == 0)
            {
                result = new Exportacao();
                result.PadraoNomeArquivo = @"K:\OpenPOS\Unico\Exporta\{0}.xml";
                result.Descricao = descricao;
                result.FormatoArquivo = Enuns.UniBot.FormatoArquivo.XML;
                result.Codigo = "code={";
                result.Codigo += "        public void Export(Synchronize.Interface.IGeraArquivo geraArquivo, Where where)";
                result.Codigo += "        {";
                result.Codigo += "            IList<Model.Arquivo.Registro.IRegistro01> regs01 = ";
                result.Codigo += "                new Data.Arquivo.Registro.Registro01().Find<Model.Arquivo.Registro.IRegistro01>(where);";
                result.Codigo += "";
                result.Codigo += "            string template = \"MapaResumo-{0}_{1:ddMMyyyy_HHmmss}\";";
                result.Codigo += "            string file = String.Empty;";
                result.Codigo += "            int i = 0;";
                result.Codigo += "";
                result.Codigo += "            foreach(Model.Arquivo.Registro.IRegistro02 reg02 in (from r01 in regs01";
                result.Codigo += "                                          from r02 in r01.RegistrosR2";
                result.Codigo += "                                          select r02))";
                result.Codigo += "            {";
                result.Codigo += "                System.Xml.XmlDocument doc = reg02.ToXmlMapaResumo();";
                result.Codigo += "                file = System.IO.Path.Combine(geraArquivo.FileInfo.DirectoryName,";
                result.Codigo += "                         String.Format(geraArquivo.Leiaute.PadraoNomeArquivo, String.Format(template, ++i, DateTime.Now)));";
                result.Codigo += "                doc.Save(file);";
                result.Codigo += "            }";
                result.Codigo += "        }";
                result.Codigo += "}";
                result.TipoArquivo = Enuns.UniBot.Leiaute.TipoArquivo.MapaResumo;

                result.Save();
            }
            else
                result = list[0] as ILeiaute;

            return result;
        }
        /// <summary>
        /// Cria um leiaute completo para a geração de um arquivo
        /// </summary>
        /// <returns></returns>
        private ILeiaute GetLeiaute()
        {
            ILeiaute result = null;
            string descricao = "Produto Base";

            //------------------------------------------------------------------
            // Pesquisar pelo leiaute, se encontrar, não precisa criar um novo
            //------------------------------------------------------------------
            IList<ILeiaute> list = new Exportacao().Find<ILeiaute>(new Where { { "Descricao", descricao } });

            if(list.Count == 0)
            {
                #region base do leiaute
                result = new Exportacao();

                result.Descricao = descricao;
                result.PadraoNomeArquivo = "Produto_{date:dd-mm-yyyy}.txt";

                result.Codigo = @"SELECT GUID, EGUID,
                                    '80394498-2bf4-465b-8f65-4c1d1ef6249f' AS GrupoItem,
                                    '41b1def1-22d5-4913-886b-266095a4dbdc' AS NCM,
                                    IndicadorArrTrunc, IndicadorProdProTerc,
                                    Descricao
                                    FROM cad_Item";
                #endregion

                #region headers
                result.Headers.Add(new Header
                {
                    De = "1",
                    Tamanho = 36,
                    Nome = "GUID"
                });

                result.Headers.Add(new Header
                {
                    De = (result.Headers[result.Headers.Count - 1].Ate + 1).ToString(),
                    Tamanho = 20,
                    Nome = "EGUID"
                });

                result.Headers.Add(new Header
                {
                    De = (result.Headers[result.Headers.Count - 1].Ate + 1).ToString(),
                    Tamanho = 36,
                    Nome = "GrupoItem"
                });

                result.Headers.Add(new Header
                {
                    De = (result.Headers[result.Headers.Count - 1].Ate + 1).ToString(),
                    Tamanho = 36,
                    Nome = "NCM"
                });

                result.Headers.Add(new Header
                {
                    De = (result.Headers[result.Headers.Count - 1].Ate + 1).ToString(),
                    Tamanho = 1,
                    Nome = "IndicadorArrTrunc"
                });

                result.Headers.Add(new Header
                {
                    De = (result.Headers[result.Headers.Count - 1].Ate + 1).ToString(),
                    Tamanho = 1,
                    Nome = "IndicadorProdProTerc"
                });

                result.Headers.Add(new Header
                {
                    De = (result.Headers[result.Headers.Count - 1].Ate + 1).ToString(),
                    Tamanho = 50,
                    Nome = "Descricao"
                });
                #endregion

                result.TipoArquivo = Enuns.UniBot.Leiaute.TipoArquivo.Produto;

                result.Save();
            }
            else
                result = list[0] as ILeiaute;

            return result;
        }