private void MyListView_OnItemSelected(object sender, SelectedItemChangedEventArgs e)
        {
            var     itemSelecionado = (model.Pessoa)listPessoas.SelectedItem;
            Detalhe detalhe         = new Detalhe();

            detalhe.BindingContext = itemSelecionado;
            Navigation.PushAsync(detalhe);
        }
Example #2
0
        private static Item GetIten(Detalhe d)
        {
            var produto = d.prod;

            return(new Item
            {
                Icms = Convert.ToDecimal(d.imposto.ICMS.ICMS.vICMS),
                Quantidade = Convert.ToDecimal(produto.qCom),
                ValorUnitario = Convert.ToDecimal(produto.vProd),
                Produto = GetProduto(produto),
                Op = GetOperacao(d)
            });
        }
Example #3
0
        private static Operacao GetOperacao(Detalhe d)
        {
            var produto = d.prod;
            var icms    = d.imposto.ICMS.ICMS;

            string ncm      = produto.NCM;
            string cfop     = produto.CFOP.ToString();
            string origem   = icms.orig;
            string cst      = icms.CST;
            string aliquota = icms.pICMS.ToString();

            var operacao = new Operacao
            {
                Ncm    = new NomenclaturaComum(ncm),
                Cfop   = new OperacaoFiscal(cfop),
                Origem = new OrigemImposto(origem),
                Cst    = new SituacaoTributaria(cst),
                Aliq   = new Aliquota(aliquota),
            };

            operacao.Codigo = operacao.GetHashCode().ToString();

            return(operacao);
        }
        /// <summary>
        /// Cria um leiaute completo para a geração de um arquivo
        /// </summary>
        /// <returns></returns>
        private IImportacao GetLeiaute()
        {
            IImportacao result = null;
            string descricao = "Fornecedor (Importacao de XML)";

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

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

                result.Descricao = descricao;
                result.PadraoNomeArquivo = "";
                result.Codigo = "";
                result.FormatoArquivo = FormatoArquivo.XML;

                result.ClassHeader = typeof(OpenPOS.Data.Cadastro.Pessoa.Fornecedor);
                result.TagItem = "Cadastro";

                result.FindMethod = "IList<IParentModel> list = DbContext.Find<IParentModel>(model, new Where {{";
                result.FindMethod += "\"cad_PessoaFornecedor.EGUID = @p1\",";
                result.FindMethod += "new Parameter{";
                result.FindMethod += "ParameterName = \"@p1\",";
                result.FindMethod += "Value = value";
                result.FindMethod += "}";
                result.FindMethod += "}";
                result.FindMethod += "});";
                result.FindMethod += "if(list.Count > 0)";
                result.FindMethod += "model = list[0];";
                result.FindMethod += "return model;";
                #endregion

                #region headers
                result.Headers.Add(new Header
                {
                    Nome = "EGUID",
                    De = "EGUID",
                    Tamanho = 50,
                    Tipo = Tipo.String
                });

                result.Headers.Add(new Header
                {
                    Nome = "FisicaJuridica",
                    De = "fisicajuridica",
                    Tipo = Tipo.Integer,
                    Formato = "code={if((string)value==\"J\") return 1; else return 0;}"
                });

                result.Headers.Add(new Header
                {
                    Nome = "RazaoSocial",
                    De = "razaosocial",
                    Tamanho = 60,
                    Tipo = Tipo.String
                });

                result.Headers.Add(new Header
                {
                    Nome = "NomeFantasia",
                    De = "nomefantasia",
                    Tamanho = 60,
                    Tipo = Tipo.String
                });

                result.Headers.Add(new Header
                {
                    Nome = "Observacao",
                    De = "observacao",
                    Tamanho = 100,
                    Tipo = Tipo.String
                });

                result.Headers.Add(new Header
                {
                    Nome = "TipoPessoa",
                    De = "tipopessoa",
                    Tamanho = 30,
                    Tipo = Tipo.String
                });

                #endregion

                #region Detalhes

                #region PessoaCanalComunic
                IDetalhe detCanalComunic = new Detalhe
                {
                    ClassType = typeof(List<OpenPOS.Model.Cadastro.Pessoa.ICanalComunicacao>),
                    De = "PessoaCanalComunic",
                    Nome = "CanaisComunicacao",
                    Tamanho = 1
                };

                detCanalComunic.DetalhesXML.Add(new DetalheXML
                {
                    Tag = "",
                    Nome = "OpenPOS.Data.Cadastro.Pessoa.CanalComunicacao NomeContato",
                    Tipo = Tipo.String,
                    De = "NomeContato"
                });

                detCanalComunic.DetalhesXML.Add(new DetalheXML
                {
                    Tag = "",
                    Nome = "OpenPOS.Data.Cadastro.Pessoa.CanalComunicacao Principal",
                    De = "Principal",
                    Tipo = Tipo.Integer,
                });

                detCanalComunic.DetalhesXML.Add(new DetalheXML
                {
                    Tag = "",
                    Nome = "OpenPOS.Data.Cadastro.Pessoa.CanalComunicacao IdentificadorCanal",
                    Tipo = Tipo.String,
                    De = "IdentificadorCanal"
                });

                detCanalComunic.DetalhesXML.Add(new DetalheXML
                {
                    Tag = "",
                    Nome = "OpenPOS.Data.Cadastro.Pessoa.CanalComunicacao TipoCanal",
                    Tipo = Tipo.String,
                    De = "TipoCanal"
                });
                #endregion

                #region PessoaEnd
                IDetalhe detEndereco = new Detalhe
                {
                    ClassType = typeof(OpenPOS.Data.Cadastro.Pessoa.Endereco),
                    De = "PessoaEnd",
                    Nome = "Enderecos",
                    Tamanho = 1
                };

                detEndereco.DetalhesXML.Add(new DetalheXML
                {
                    Tag = "Numero",
                    Nome = "OpenPOS.Data.Cadastro.Pessoa.Endereco Numero",
                    De = "Numero",
                    Tipo = Tipo.Integer
                });

                detEndereco.DetalhesXML.Add(new DetalheXML
                {
                    Tag = "Complemento",
                    Nome = "OpenPOS.Data.Cadastro.Pessoa.Endereco Complemento",
                    Tipo = Tipo.String,
                    De = "Complemento"
                });

                detEndereco.DetalhesXML.Add(new DetalheXML
                {
                    Tag = "",
                    Nome = "OpenPOS.Data.Cadastro.Pessoa.Endereco CaixaPostal",
                    Tipo = Tipo.String,
                    De = "CaixaPostal"
                });

                string formato = "code={CEP cep = value.ToString();";
                formato += "Model.Cadastro.Endereco.IEndereco model = new Data.Cadastro.Endereco.Endereco();";
                formato += "IList<Model.Cadastro.Endereco.IEndereco> list = model.Find<Model.Cadastro.Endereco.IEndereco>(new Where {";
                formato += "{";
                formato += "    \"CEP = @p1\",";
                formato += "    new System.Data.Generic.Parameter {";
                formato += "        ParameterName = \"@p1\",";
                formato += "        Value = cep}";
                formato += "}});";
                formato += "if(list.Count > 0){";
                formato += "    model = list[0];}";
                formato += "model.CEP = cep;";
                formato += "return model;}";

                detEndereco.DetalhesXML.Add(new DetalheXML
                {
                    Tag = "",
                    Nome = "OpenPOS.Data.Cadastro.Pessoa.Endereco Endereco",
                    Tipo = Tipo.String,
                    De = "GUIDendereco",
                    Formato = formato
                });

                detEndereco.DetalhesXML.Add(new DetalheXML
                {
                    Tag = "Principal",
                    Nome = "OpenPOS.Data.Cadastro.Pessoa.Endereco Principal",
                    Tipo = Tipo.Boolean,
                });
                #endregion

                #region  PessoaFisica
                IDetalhe detFisica = new Detalhe
                {
                    ClassType = typeof(OpenPOS.Data.Cadastro.Pessoa.Fisica.Fisica),
                    De = "PessoaFisica",
                    Nome = "Fisica",
                    Tamanho = 1
                };

                detFisica.DetalhesXML.Add(new DetalheXML
                {
                    Tag = "cpf",
                    Nome = "OpenPos.Data.Cadastro.Pessoa.Fisica.Fisica CPF",
                    Tipo = Tipo.String,
                    De = "cpf"
                });

                detFisica.DetalhesXML.Add(new DetalheXML
                {
                    Tag = "rg",
                    Nome = "OpenPOS.Data.Cadastro.Pessoa.Fisica.Fisica RG",
                    Tipo = Tipo.String,
                    De = "RG"
                });

                detFisica.DetalhesXML.Add(new DetalheXML
                {
                    Tag = "",
                    Nome = "OpenPOS.Data.Cadastro.Pessoa.Fisica.Fisica RGEmissao",
                    Tipo = Tipo.DateTime,
                    De = "RGEmissao"
                });

                detFisica.DetalhesXML.Add(new DetalheXML
                {
                    Tag = "",
                    Nome = "OpenPOS.Data.Cadastro.Pessoa.Fisica.Fisica RGOrgao",
                    Tipo = Tipo.String,
                    De = "RGOrgao"
                });

                detFisica.DetalhesXML.Add(new DetalheXML
                {
                    Tag = "",
                    Nome = "OpenPOS.Data.Cadastro.Pessoa.Fisica.Fisica RGEstado",
                    Tipo = Tipo.String,
                    De = "RGEstado"
                });

                detFisica.DetalhesXML.Add(new DetalheXML
                {
                    Tag = "",
                    Nome = "OpenPOS.Data.Cadastro.Pessoa.Fisica.Fisica RGTipoVisto",
                    Tipo = Tipo.String,
                    De = "RGTipoVisto",
                });

                detFisica.DetalhesXML.Add(new DetalheXML
                {
                    Tag = "",
                    Nome = "OpenPOS.Data.Cadastro.Pessoa.Fisica.Fisica Sexo",
                    Tipo = Tipo.Integer,
                    De = "Sexo"
                });

                detFisica.DetalhesXML.Add(new DetalheXML
                {
                    Tag = "",
                    Nome = "OpenPOS.Data.Cadastro.Pessoa.Fisica.Fisica EstadoCivil",
                    Tipo = Tipo.Integer,
                    De = "EstadoCivil"
                });

                detFisica.DetalhesXML.Add(new DetalheXML
                {
                    Tag = "",
                    Nome = "OpenPOS.Data.Cadastro.Pessoa.Fisica.Fisica DataNascimento",
                    Tipo = Tipo.DateTime,
                    De = "DataNascimento"
                });

                detFisica.DetalhesXML.Add(new DetalheXML
                {
                    Tag = "",
                    Nome = "OpenPOS.Data.Cadastro.Pessoa.Fisica.Fisica PaiNome",
                    Tipo = Tipo.String,
                    De = "PaiNome"
                });

                detFisica.DetalhesXML.Add(new DetalheXML
                {
                    Tag = "",
                    Nome = "OpenPOS.Data.Cadastro.Pessoa.Fisica.Fisica MaeNome",
                    Tipo = Tipo.String,
                    De = "MaeNome"
                });

                #endregion

                #region PessoaJuridica
                IDetalhe detJuridica = new Detalhe
                {
                    ClassType = typeof(OpenPOS.Data.Cadastro.Pessoa.Juridica.Juridica),
                    De = "PessoaJuridica",
                    Nome = "Juridica",
                    Tamanho = 1
                };

                detJuridica.DetalhesXML.Add(new DetalheXML
                {
                    Tag = "cnpj",
                    Nome = "OpenPOS.Data.Cadastro.Pessoa.Juridica.Juridica CNPJ",
                    Tipo = Tipo.String,
                    De = "cnpj"
                });

                detJuridica.DetalhesXML.Add(new DetalheXML
                {
                    Tag = "",
                    Nome = "OpenPOS.Data.Cadastro.Pessoa.Juridica.Juridica ISuf",
                    Tipo = Tipo.String,
                    De = "ISuf"
                });

                detJuridica.DetalhesXML.Add(new DetalheXML
                {
                    Tag = "",
                    Nome = "OpenPOS.Data.Cadastro.Pessoa.Juridica.Juridica IM",
                    Tipo = Tipo.String,
                    De = "IM"
                });

                detJuridica.DetalhesXML.Add(new DetalheXML
                {
                    Tag = "",
                    Nome = "OpenPOS.Data.Cadastro.Pessoa.Juridica.Juridica DataAbertura",
                    Tipo = Tipo.DateTime,
                    De = "DataAbertura"
                });

                detJuridica.DetalhesXML.Add(new DetalheXML
                {
                    Tag = "",
                    Nome = String.Format("{0} {1}.RamoAtividade", typeof(Data.Cadastro.Pessoa.Juridica.Juridica),
                                                                  typeof(RamoAtividade)),
                    Tipo = Tipo.String,
                    De = "RamoAtividade"
                });

                detJuridica.DetalhesXML.Add(new DetalheXML
                {
                    Tag = "IE",
                    Nome = "OpenPOS.Data.Cadastro.Pessoa.Juridica.Juridica IE",
                    Tipo = Tipo.String,
                    De = "IE"
                });

                result.Detalhes.Add(detCanalComunic);
                result.Detalhes.Add(detEndereco);
                result.Detalhes.Add(detFisica);
                result.Detalhes.Add(detJuridica);
                #endregion

                #endregion

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

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

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

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

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

                result.Descricao = descricao;
                result.PadraoNomeArquivo = "";
                result.Codigo = "";
                result.FormatoArquivo = FormatoArquivo.XML;
                result.TagItem = "Cadastro";
                result.FindMethod = "IList<IParentModel> list = DbContext.Find<IParentModel>(model, new Where {{";
                result.FindMethod += "\"cad_Item.EGUID = @p1\",";
                result.FindMethod += "new System.Data.Generic.Parameter{";
                result.FindMethod += "ParameterName = \"@p1\",";
                result.FindMethod += "Value = value";
                result.FindMethod += "}";
                result.FindMethod += "}";
                result.FindMethod += "});";
                result.FindMethod += "if(list.Count > 0)";
                result.FindMethod += "model = list[0];";
                result.FindMethod += "return model;";
                result.ClassHeader = typeof(OpenPOS.Data.Cadastro.Item.Produto.Acabado);
                #endregion

                #region Headers
                result.Headers.Add(new Header
                {
                    De = "EGUID",
                    Tamanho = 50,
                    Nome = "EGUID"
                });

                string formatoGrupoItem = "code={";
                formatoGrupoItem += "Model.Cadastro.Item.IGrupoItem model = new Data.Cadastro.Item.GrupoItem();";
                formatoGrupoItem += "IList<Model.Cadastro.Item.IGrupoItem> list = model.Find<Model.Cadastro.Item.IGrupoItem>(new Where {";
                formatoGrupoItem += "{";
                formatoGrupoItem += "    \"cad_GrupoItem.EGUID = @p1\",";
                formatoGrupoItem += "    new System.Data.Generic.Parameter {";
                formatoGrupoItem += "        ParameterName = \"@p1\",";
                formatoGrupoItem += "        Value = value}";
                formatoGrupoItem += "}});";
                formatoGrupoItem += "if(list.Count > 0)";
                formatoGrupoItem += "    model = list[0];";
                formatoGrupoItem += "return model;}";

                result.Headers.Add(new Header
                {
                    De = "GUIDGrupoItem",
                    Tamanho = 36,
                    Nome = "OpenPOS.Data.Cadastro.Item.ItemBase GrupoItem",
                    Formato = formatoGrupoItem
                });

                string formatoNCM = "code={ value = Unimake.Format.NCM(value.ToString());";
                formatoNCM += "Model.Cadastro.INCM model = new Data.Cadastro.NCM();";
                formatoNCM += "IList<Model.Cadastro.INCM> list = model.Find<Model.Cadastro.INCM>(new Where {";
                formatoNCM += "{";
                formatoNCM += "    \"NCM = @p1\",";
                formatoNCM += "    new System.Data.Generic.Parameter {";
                formatoNCM += "        ParameterName = \"@p1\",";
                formatoNCM += "        Value = value }";
                formatoNCM += "}});";
                formatoNCM += "model.NCM = value.ToString();";
                formatoNCM += "if(list.Count > 0)";
                formatoNCM += "    model = list[0];";
                formatoNCM += "return model;}";

                result.Headers.Add(new Header
                {
                    De = "GUIDNCM",
                    Tamanho = 36,
                    Nome = "OpenPOS.Data.Abstract.Cadastro.Item.Produto.ProdutoBase NCM",
                    Formato = formatoNCM
                });

                result.Headers.Add(new Header
                {
                    De = "IndArrTrunc",
                    Tamanho = 1,
                    Nome = "OpenPOS.Data.Abstract.Cadastro.Item.Produto.ProdutoBase IndicadorTruncamento",
                    Tipo = Tipo.String,
                });

                result.Headers.Add(new Header
                {
                    De = "IndProdProTerc",
                    Tamanho = 1,
                    Nome = "OpenPOS.Data.Abstract.Cadastro.Item.Produto.ProdutoBase IndicadorProducao",
                    Tipo = Tipo.String,
                });

                result.Headers.Add(new Header
                {
                    De = "Descricao",
                    Tamanho = 50,
                    Nome = "Descricao",
                    Tipo = Tipo.String
                });

                result.Headers.Add(new Header
                {
                    De = "TipoItem",
                    Tamanho = 30,
                    Nome = "TipoItem",
                    Tipo = Tipo.String
                });

                string formatoFabricante = "code={";
                formatoFabricante += "Model.Cadastro.Pessoa.IFabricante model = new Data.Cadastro.Pessoa.Fabricante();";
                formatoFabricante += "IList<Model.Cadastro.Pessoa.IFabricante> list = model.Find<Model.Cadastro.Pessoa.IFabricante>(new Where {";
                formatoFabricante += "{";
                formatoFabricante += "    \"cad_PessoaFabricante.EGUID = @p1\",";
                formatoFabricante += "    new System.Data.Generic.Parameter {";
                formatoFabricante += "        ParameterName = \"@p1\",";
                formatoFabricante += "        Value = value}";
                formatoFabricante += "}});";
                formatoFabricante += "if(list.Count > 0)";
                formatoFabricante += "    model = list[0];";
                formatoFabricante += "return model;}";

                result.Headers.Add(new Header
                {
                    De = "GUIDFabricante",
                    Nome = "OpenPOS.Data.Abstract.Cadastro.Item.Produto.AcabadoBase Fabricante",
                    Tamanho = 36,
                    Formato = formatoFabricante
                });

                string formatoUnidade = "code={";
                formatoUnidade += "Model.Cadastro.IUnidade model = new Data.Cadastro.Unidade();";
                formatoUnidade += "IList<Model.Cadastro.IUnidade> list = model.Find<Model.Cadastro.IUnidade>(new Where {";
                formatoUnidade += "{";
                formatoUnidade += "    \"Prefixo = @p1\",";
                formatoUnidade += "    new System.Data.Generic.Parameter {";
                formatoUnidade += "        ParameterName = \"@p1\",";
                formatoUnidade += "        Value = value}";
                formatoUnidade += "}});";
                formatoUnidade += "if(list.Count > 0)";
                formatoUnidade += "    model = list[0];";
                formatoUnidade += "return model;}";

                result.Headers.Add(new Header
                {
                    De = "GUIDUnidade",
                    Nome = "OpenPOS.Data.Abstract.Cadastro.Item.Produto.ProdutoBase Unidade",
                    Tamanho = 36,
                    Formato = formatoUnidade
                });

                #endregion

                #region Detalhe

                #region Codigo de barras
                IDetalhe detCodBarras = new Detalhe()
                {
                    ClassType = typeof(IList<Model.Cadastro.Item.ICodigoBarra>),
                    De = "Barra",
                    Nome = "CodigosBarras",
                    Tamanho = 1
                };

                detCodBarras.DetalhesXML.Add(new DetalheXML
                {
                    Tag = "",
                    Nome = "OpenPOS.Data.Cadastro.Item.CodigoBarra Tipo",
                    De = "Tipo",
                    Tipo = Tipo.Integer
                });

                detCodBarras.DetalhesXML.Add(new DetalheXML
                {
                    Tag = "Codigo",
                    Nome = "OpenPOS.Data.Cadastro.Item.CodigoBarra Codigo",
                    De = "Codigo",
                    Tipo = Tipo.String
                });

                detCodBarras.DetalhesXML.Add(new DetalheXML
                {
                    Tag = "",
                    Nome = "OpenPOS.Data.Cadastro.Item.CodigoBarra Principal",
                    De = "Principal",
                    Tipo = Tipo.Boolean
                });
                #endregion

                result.Detalhes.Add(detCodBarras);

                #endregion

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

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

            return result;
        }
Example #6
0
        /// <summary>
        /// Retorna o leiaute da tabela de preços
        /// </summary>
        /// <returns></returns>
        private IImportacao GetLeiauteTabelaPrecos()
        {
            IImportacao result = null;
            string descricao = "Tabela de Preços(Importacao)";

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

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

                result.Descricao = descricao;
                result.PadraoNomeArquivo = "";
                result.Codigo = "";
                result.FormatoArquivo = FormatoArquivo.XML;

                result.ClassHeader = typeof(OpenPOS.Data.Cadastro.TabelaPreco.TabelaPreco);
                result.TagItem = "Cadastro";

                result.FindMethod = "IList<IParentModel> list = DbContext.Find<IParentModel>(model, new Where {{";
                result.FindMethod += "\"cad_TabelaPreco.EGUID = @p1\",";
                result.FindMethod += "new Parameter{";
                result.FindMethod += "ParameterName = \"@p1\",";
                result.FindMethod += "Value = value";
                result.FindMethod += "}";
                result.FindMethod += "}";
                result.FindMethod += "});";
                result.FindMethod += "if(list.Count > 0)";
                result.FindMethod += "model = list[0];";
                result.FindMethod += "return model;";
                #endregion

                #region Header

                result.Headers.Add(new Header()
                {
                    Nome = "EGUID",
                    De = "EGUID",
                    Tamanho = 100,
                    Tipo = Tipo.String
                });
                result.Headers.Add(new Header()
                {
                    Nome = "Descricao",
                    De = "Descricao",
                    Tamanho = 100,
                    Tipo = Tipo.String
                });
                result.Headers.Add(new Header()
                {
                    Nome = "ValidadeInicial",
                    De = "ValidadeInicial",
                    Tipo = Tipo.Date
                });
                result.Headers.Add(new Header()
                {
                    Nome = "ValidadeFinal",
                    De = "ValidadeFinal",
                    Tipo = Tipo.Date
                });
                #endregion

                #region Detalhe

                IDetalhe detalhe = new Detalhe()
                  {
                      ClassType = typeof(List<OpenPOS.Model.Cadastro.TabelaPreco.IItem>),
                      De = "Precos",
                      Nome = "Itens",
                  };

                string formato = "code={EGUID eguid = value.ToString();";
                formato += "OpenPOS.Model.Cadastro.Item.Produto.IAcabado model = new OpenPOS.Data.Cadastro.Item.Produto.Acabado();";
                formato += "IList<OpenPOS.Model.Cadastro.Item.Produto.IAcabado> list = DbContext.Find<OpenPOS.Model.Cadastro.Item.Produto.IAcabado>(model, new Where {{";
                formato += "\"cad_Item.EGUID = @p1\",";
                formato += "new Parameter{";
                formato += "ParameterName = \"@p1\",";
                formato += "Value = eguid";
                formato += "}";
                formato += "}";
                formato += "});";
                formato += "if(list.Count > 0)";
                formato += "model = list[0];";
                formato += "return (IParentModel)model;}";

                detalhe.DetalhesXML.Add(new DetalheXML()
                {
                    Tag = "",
                    Nome = "OpenPOS.Data.Cadastro.TabelaPreco.Item Item",
                    Tipo = Tipo.String,
                    De = "GUIDItem",
                    Formato = formato
                });

                detalhe.DetalhesXML.Add(new DetalheXML()
                {
                    Tag = "Preco",
                    Nome = "OpenPOS.Data.Cadastro.TabelaPreco.Item Preco",
                    Tipo = Tipo.Currency,
                    De = "Preco"
                });

                detalhe.DetalhesXML.Add(new DetalheXML()
                {
                    Tag = "SituacaoTributaria",
                    Nome = "OpenPOS.Data.Cadastro.TabelaPreco.Item SituacaoTributaria",
                    Tipo = Tipo.Integer,
                    De = "SituacaoTributaria"
                });

                #endregion

                #endregion

                result.TipoArquivo = Enuns.UniBot.Leiaute.TipoArquivo.TabelaPreco;
                result.Detalhes.Add(detalhe);
                result.Save();
            }
            else
                result = list[0] as IImportacao;

            return result;
        }
        /// <summary>
        /// Cria um leiaute completo para a geração de um arquivo
        /// </summary>
        /// <returns></returns>
        private IImportacao GetLeiaute()
        {
            IImportacao result = null;
            string descricao = "Arvore de produto (Importacao de XML)";

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

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

                result.Descricao = descricao;
                result.PadraoNomeArquivo = "";
                result.Codigo = "";
                result.FormatoArquivo = FormatoArquivo.XML;
                result.TagItem = "Cadastro";
                result.FindMethod = "IList<IParentModel> list = DbContext.Find<IParentModel>(model, new Where {{";
                result.FindMethod += "\"cad_Item.EGUID = @p1\",";
                result.FindMethod += "new System.Data.Generic.Parameter{";
                result.FindMethod += "ParameterName = \"@p1\",";
                result.FindMethod += "Value = value";
                result.FindMethod += "}";
                result.FindMethod += "}";
                result.FindMethod += "});";
                result.FindMethod += "if(list.Count > 0)";
                result.FindMethod += "model = list[0];";
                result.FindMethod += "return model;";
                result.ClassHeader = typeof(OpenPOS.Data.Cadastro.Item.Produto.Acabado);
                #endregion

                #region Headers
                result.Headers.Add(new Header
                {
                    De = "EGUID",
                    Tamanho = 50,
                    Nome = "EGUID"
                });
                #endregion

                #region Detalhe

                #region Arvore de produtos
                IDetalhe detProdArv = new Detalhe()
                {
                    ClassType = typeof(List<Model.Cadastro.Item.Produto.IProdutoArvore>),
                    De = "Composicao",
                    Nome = "Arvore",
                    Tamanho = 1
                };

                string formato = "code={OpenPOS.EGUID eguid = value.ToString();";
                formato += "Model.Cadastro.Item.Produto.IProduto model = Data.Abstract.Cadastro.Item.ItemBase.Create(eguid, false) as Model.Cadastro.Item.Produto.IProduto;";
                formato += "return model;}";

                detProdArv.DetalhesXML.Add(new DetalheXML
                {
                    Nome = "OpenPOS.Data.Cadastro.Item.Produto.Arvore.ProdutoArvore Produto",
                    De = "EGUID",
                    Formato = formato
                });

                detProdArv.DetalhesXML.Add(new DetalheXML
                {
                    Nome = "OpenPOS.Data.Cadastro.Item.Produto.Arvore.ProdutoArvore Quantidade",
                    De = "Quantidade"
                });
                #endregion

                result.Detalhes.Add(detProdArv);

                #endregion

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

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

            return result;
        }
Example #8
0
        /// <summary>
        /// Método utilizado para preencher esta instância com os dados do dataReader
        /// </summary>
        /// <param name="dataReader">DataReader com os dados que deverão ser passados para esta instância</param>
        public override void Populate(DataReader dataReader)
        {
            #region base
            base.Populate(dataReader);
            #endregion

            #region desta classe
            Descricao = dataReader.GetValue<string>("p_Descricao");
            Codigo = dataReader.GetValue<string>("p_Codigo");
            GerarTotalLinhas = dataReader.GetValue<bool>("p_GerarTotalLinhas");
            PadraoNomeArquivo = dataReader.GetValue<string>("p_PadraoNomeArquivo");
            GerarHashMD5 = dataReader.GetValue<bool>("p_GerarHashMD5");
            SeparadoPor = dataReader.GetValue<string>("p_SeparadoPor");
            FormatoArquivo = dataReader.GetValue<FormatoArquivo>("p_FormatoArquivo");
            PadraoNomeArquivo.Importacao = Importacao;
            TipoArquivo = dataReader.GetValue<TipoArquivo>("p_TipoArquivo");
            #endregion

            #region Headers
            Headers = new Header().Find<IHeader, ILeiaute>(new Where
            {
                {"sin_LeiauteHeader.GUIDLeiaute", GUID}
            }, this);
            #endregion

            #region Parameters
            Parameters = new Data.UniBot.Leiaute.Parameter().Find<IParameter, ILeiaute>(new Where
            {
                {"sin_LeiauteParameter.GUIDLeiaute", GUID}
            }, this);
            #endregion

            #region Detalhes
            Detalhes = new Detalhe().Find<IDetalhe, ILeiaute>(new Where
            {
                {"sin_LeiauteDetalhe.GUIDLeiaute", GUID }
            }, this);
            #endregion

            #region Traillers
            Traillers = new Trailler().Find<ITrailler, ILeiaute>(new Where
            {
                {"sin_LeiauteTrailler.GUIDLeiaute", GUID }
            }, this);
            #endregion
        }
        /// <summary>
        /// Cria um leiaute completo para a geração de um arquivo
        /// </summary>
        /// <returns></returns>
        private IImportacao GetLeiaute()
        {
            IImportacao result = null;
            string descricao = "Usuario (Importacao de XML)";

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

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

                result.Descricao = descricao;
                result.PadraoNomeArquivo = "";
                result.Codigo = "";
                result.FormatoArquivo = FormatoArquivo.XML;

                result.ClassHeader = typeof(OpenPOS.Data.Cadastro.Pessoa.Usuario);
                result.TagItem = "Cadastro";

                result.FindMethod = "IList<IParentModel> list = DbContext.Find<IParentModel>(model, new Where {{";
                result.FindMethod += "\"cad_PessoaUsuario.EGUID = @p1\",";
                result.FindMethod += "new Parameter{";
                result.FindMethod += "ParameterName = \"@p1\",";
                result.FindMethod += "Value = value";
                result.FindMethod += "}";
                result.FindMethod += "}";
                result.FindMethod += "});";
                result.FindMethod += "if(list.Count > 0)";
                result.FindMethod += "model = list[0];";
                result.FindMethod += "return model;";
                #endregion

                #region headers
                result.Headers.Add(new Header
                {
                    Nome = "EGUID",
                    De = "EGUID",
                    Tamanho = 50,
                    Tipo = Tipo.String
                });

                result.Headers.Add(new Header
                {
                    Nome = "FisicaJuridica",
                    De = "FisicaJuridica",
                    Tipo = Tipo.Integer,
                    Formato = "code={if((string)value==\"J\") return 1; else return 0;}"
                });

                result.Headers.Add(new Header
                {
                    Nome = "RazaoSocial",
                    De = "RazaoSocial",
                    Tamanho = 60,
                    Tipo = Tipo.String
                });

                result.Headers.Add(new Header
                {
                    Nome = "NomeFantasia",
                    De = "NomeFantasia",
                    Tamanho = 60,
                    Tipo = Tipo.String
                });

                result.Headers.Add(new Header
                {
                    Nome = "Observacao",
                    De = "Observacao",
                    Tamanho = 100,
                    Tipo = Tipo.String
                });

                result.Headers.Add(new Header
                {
                    Nome = "TipoPessoa",
                    De = "TipoPessoa",
                    Tamanho = 30,
                    Tipo = Tipo.String
                });

                result.Headers.Add(new Header
                {
                    Nome = "NomeLogin",
                    De = "NomeLogin",
                    Tamanho = 30,
                    Tipo = Tipo.String
                });

                result.Headers.Add(new Header
                {
                    Nome = "Senha",
                    De = "Senha",
                    Tamanho = 100,
                    Tipo = Tipo.String
                });

                result.Headers.Add(new Header
                {
                    Nome = "SenhaAlteracao",
                    De = "senhaalteracao",
                    Tamanho = 20,
                    Tipo = Tipo.DateTime
                });

                result.Headers.Add(new Header
                {
                    Nome = "MultiploLogin",
                    De = "multiplologin",
                    Tamanho = 1,
                    Tipo = Tipo.Boolean
                });

                result.Headers.Add(new Header
                {
                    Nome = "Logado",
                    De = "logado",
                    Tamanho = 1,
                    Tipo = Tipo.Boolean
                });

                IDetalhe detalheTipoUsuario = new Detalhe
                {
                    ClassType = typeof(List<OpenPOS.Model.Cadastro.ITipoUsuario>),
                    De = "TipoUsuario",
                    Nome = "TiposUsuarios",
                    Tamanho = 1
                };

                string formatoTipo = "code={ GUID tipoUsuario = null;";
                formatoTipo += "if ((string)value == \"9\")";
                formatoTipo += "   tipoUsuario = (GUID)\"bf1f9327-1b07-4125-bbd7-8ce8df7c106a\";";
                formatoTipo += "if ((string)value == \"8\")";
                formatoTipo += "   tipoUsuario = (GUID)\"efcc04c5-9573-499a-9ea9-201c66b8f6de\";";
                formatoTipo += "if ((string)value == \"7\")";
                formatoTipo += "   tipoUsuario = (GUID)\"8ad72ece-5e13-4ffb-9a3a-b628b300faca\";";
                formatoTipo += "if ((string)value == \"5\")";
                formatoTipo += "   tipoUsuario = (GUID)\"9f8024e9-27ef-41e7-817e-923633c0e5fd\";";
                formatoTipo += "if ((string)value == \"0\")";
                formatoTipo += "   tipoUsuario = (GUID)\"c47622bb-a924-4251-ba6f-5ad6aafbaf9e\";";
                formatoTipo += "Model.Cadastro.ITipoUsuario model = null;";
                formatoTipo += "if (!tipoUsuario.IsNullOrEmpty())";
                formatoTipo += "   model = new Data.Cadastro.TipoUsuario(tipoUsuario);";
                formatoTipo += "return model;}";

                detalheTipoUsuario.DetalhesXML.Add(
                    new DetalheXML
                    {
                        Tag = "",
                        De = "NivelUsuario",
                        Nome = "OpenPOS.Data.Cadastro.TipoUsuario",
                        Formato = formatoTipo
                    });
                #endregion

                result.Detalhes.Add(detalheTipoUsuario);
                result.TipoArquivo = Enuns.UniBot.Leiaute.TipoArquivo.Usuario;

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

            return result;
        }