public void Comecar() { if (string.IsNullOrEmpty(Expressao)) { Source.SetResult(null); } else { var letras = new Letras(); if (ContarEspacos) { letras.Espacos = Expressao.ToCharArray().Count(x => x == ' '); } if (ContarVogais) { letras.Vogais = Expressao.ToCharArray().Count(x => "aeiou".Contains(x.ToString())); } if (ContarConsonantes) { letras.Consoantes = Expressao.ToCharArray().Count(x => !"aeiou".Contains(x.ToString())); } Source.SetResult(letras); } }
public ContadorLetras() { MainPage2 = new MainPage2(); MainPage2.PublicButtonCancelar.Clicked += (sender, args) => { Navigation.PopModalAsync(true); Source.SetResult(null); }; MainPage2.PublicButtonConfirmar.Clicked += async(sender, args) => { var letras = new Letras(); if (MainPage2.PublicSwitchEspacos.IsToggled) { letras.Espacos = Expressao.ToCharArray().Count(x => x == ' '); } if (MainPage2.PublicSwitchVogais.IsToggled) { letras.Vogais = Expressao.ToCharArray().Count(x => "aeiou".Contains(x.ToString())); } if (MainPage2.PublicSwitchConsoantes.IsToggled) { letras.Consoantes = Expressao.ToCharArray().Count(x => !"aeiou".Contains(x.ToString())); } await Navigation.PopModalAsync(true); Source.SetResult(letras); }; }
public string Resolver() { var resultadoParenteses = Parentese.Resolver(); ExpressaoPartes.AppendLine($"-> {Expressao.ToString()}"); string expressaoComEspaco = FormatarComEspacos(resultadoParenteses); ExpressaoPartes.AppendLine($"-> {expressaoComEspaco}"); Colchete.AdicionarExpressao(resultadoParenteses); var resultadoColchetes = Colchete.Resolver(); if (!resultadoParenteses.Equals(resultadoColchetes)) { expressaoComEspaco = FormatarComEspacos(resultadoColchetes); ExpressaoPartes.AppendLine($"-> {expressaoComEspaco}"); } Chave.AdicionarExpressao(resultadoColchetes); var resultadoChaves = Chave.Resolver(); if (!resultadoColchetes.Equals(resultadoChaves)) { expressaoComEspaco = FormatarComEspacos(resultadoChaves); ExpressaoPartes.AppendLine($"-> {expressaoComEspaco}"); } var resultadoFinal = new OperacaoMatematica(resultadoChaves.ToString()); var resultado = resultadoFinal.Calcular(); ExpressaoPartes.AppendLine($"-> {resultado.ToString()}"); return($"-> {resultado.ToString()}"); }
private void Start() { if (personagem == null) { personagem = GetComponentInParent <Expressao>(); } }
/// <summary> /// Construtor padrão. /// </summary> /// <param name="expressao"></param> /// <param name="variavies"></param> public ExpressaoAccessor(Expressao expressao, IVariavelCollection variavies) { expressao.Require(nameof(expressao)).NotNull(); variavies.Require(nameof(variavies)).NotNull(); Expressao = expressao; _variaveis = variavies; }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: public static void TesteCalcular() throws Exception public static void TesteCalcular() { try { // 2x^2 - 2 Polinomio pol = new Polinomio(); Expressao expressao = new Expressao(); pol.Expressao = expressao; Termo termo = new Termo(); expressao.addTermo(termo); termo.addElementos(new Elemento(Sinal.Positivo, 2, 1)); termo.addElementos(new Elemento(Sinal.Positivo, 'X', 2)); termo = new Termo(); expressao.addTermo(termo); termo.Sinal = Sinal.Negativo; termo.addElementos(new Elemento(Sinal.Positivo, 2, 1)); double result = 0; var mapa = new Dictionary<char, int>(); mapa['X'] = 1; result = pol.calcular(mapa); if (result != 0) { throw new Exception("Teste 1 falhou. Esperava '0', recebeu '" + result + "'"); } mapa['X'] = -5; result = pol.calcular(mapa); if (result != 48) { throw new Exception("Teste 2 falhou. Esperava '48', recebeu '" + result + "'"); } mapa['X'] = 100; result = pol.calcular(mapa); if (result != 19998) { throw new Exception("Teste 3 falhou. Esperava '19998', recebeu '" + result + "'"); } mapa['X'] = 0; result = pol.calcular(mapa); if (result != -2) { throw new Exception("Teste 4 falhou. Esperava '-2', recebeu '" + result + "'"); } Console.WriteLine("Calculo terminou com sucesso!"); } catch (Exception ex) { throw new Exception("Teste de calculo falhou. " + ex.Message); } }
public Semantico() { pilha = new Stack(); polinomio = new Polinomio(); Expressao expressao = new Expressao(); polinomio.Expressao = expressao; pilha.Push(expressao); }
public void TestSoma2() { var e1 = new ExpressaoNumerica(2d); var e2 = new ExpressaoNumerica(3d); var expressao = new Expressao(e1, Operador.Soma, e2); Assert.AreEqual(5, expressao.Avaliar()); }
public void Somar2_2_igual_4() { Expressao e = new Expressao(); e.Adicionar(new Operando(2)); e.Adicionar(new Operador("+")); e.Adicionar(new Operando(2)); Assert.AreEqual(e.Calcular(), 4); }
public CalculadoraViewModel() { this.display = this.digito = String.Empty; this.expr = new Expressao(); this.expr.OnExpressaoAtualizada(s => { this.Expressao = s; }); }
public void TestMethod1() { Expressao c = new Expressao(); int indice = 0; //TESTE 1 E TESTE 2 /*c[0] = new Elemento("4", 1); * c[1] = new Elemento("-", 3); * c[2] = new Elemento("2", 1); * c[3] = new Elemento("*", 4); * c[4] = new Elemento("2", 1); * c[5] = new Elemento("^", 5); * c[6] = new Elemento("2", 1); * c[7] = new Elemento("+", 3); * c[8] = new Elemento("2", 1); * c[9] = new Elemento("/", 4); * c[10] = new Elemento("2", 1); * string[] es = { "1","2", "3", "4", "^", "*", "-", "5", "6", "/", "+"}; * var x = c.ConverterParaPosFixa(c.PilhaElementos, 11); * indice = 11; */ //TESTE 3 c[0] = new Elemento("(", 2); c[1] = new Elemento("1", 1); c[2] = new Elemento("^", 5); c[3] = new Elemento("2", 1); c[4] = new Elemento("*", 4); c[5] = new Elemento("3", 1); c[6] = new Elemento("-", 3); c[7] = new Elemento("4", 1); c[8] = new Elemento("+", 3); c[9] = new Elemento("5", 1); c[10] = new Elemento("/", 4); c[11] = new Elemento("6", 1); c[12] = new Elemento("/", 4); c[13] = new Elemento("(", 2); c[14] = new Elemento("7", 1); c[15] = new Elemento("+", 3); c[16] = new Elemento("8", 1); c[17] = new Elemento(")", 2); c[18] = new Elemento(")", 2); string[] es = { "1", "2", "^", "4", "*", "5", "-", "5", "6", "/", "7", "8", "+", "/", "+" }; var x = c.ConverterParaPosFixa(c.PilhaElementos, 19); indice = 15; for (int i = 0; i < indice; i++) { Assert.AreEqual(es[i], x[i]); } }
public void TestMultiplasExpressoes() { // -2 + 3 * (10 -1 + (2x1)) IExpressao doisVezesUm = new Expressao(new ExpressaoNumerica(2), Operador.Multiplicacao, new ExpressaoNumerica(1)); IExpressao dezMenosUm = new Expressao(new ExpressaoNumerica(10), Operador.Subtracao, new ExpressaoNumerica(1)); IExpressao expParenteses = new Expressao(dezMenosUm, Operador.Soma, doisVezesUm); IExpressao tresVezesParentes = new Expressao(new ExpressaoNumerica(3), Operador.Multiplicacao, expParenteses); IExpressao menosDoisMaisTresParenteses = new Expressao(new ExpressaoNumerica(-2), Operador.Soma, tresVezesParentes); var resultado = menosDoisMaisTresParenteses.Avaliar(); Assert.AreEqual(31, resultado); }
public void TestMultiplasSomas() { // 2 + 3 + 2 var expNo1 = new ExpressaoNumerica(2); var expNo2 = new ExpressaoNumerica(3); IExpressao expressaoEsquerda = new Expressao(expNo1, Operador.Soma, expNo2); var expNo3 = new ExpressaoNumerica(2); var expRaiz = new Expressao(expressaoEsquerda, Operador.Soma, expNo3); var resultado = expRaiz.Avaliar(); Assert.AreEqual(7, resultado); }
public void Mista_2pp2xigual4DeveTerException() { Assert.ThrowsException <Exception>(() => { Expressao e = new Expressao(); e.Adicionar(new Operando(2)); e.Adicionar(new Operador("+")); e.Adicionar(new Operador("+")); e.Adicionar(new Operando(2)); e.Calcular(); }); }
public void Complexa_2x2x2x2igual_16() { Expressao e = new Expressao(); e.Adicionar(new Operando(2)); e.Adicionar(new Operador("*")); e.Adicionar(new Operando(2)); e.Adicionar(new Operador("*")); e.Adicionar(new Operando(2)); e.Adicionar(new Operador("*")); e.Adicionar(new Operando(2)); Assert.AreEqual(e.Calcular(), 16); }
//Método que verifica as escritas public bool instrucao_escrita(Instrucao_escrita inst_escrita) { Instrucao_escrita_a inst_esc_a = new Instrucao_escrita_a(); Instrucao_escrita_b inst_esc_b = new Instrucao_escrita_b(); if (compare("IMPRIMA")) { index++; if (tokens[index].nome.ToString() == "Texto") { inst_esc_a.text = tokens[index].valor.ToString(); index++; if (compare(";")) { index++; inst_escrita = inst_esc_a; return(true); } else { throw new System.Exception("Declaracao: \';\' esperado!"); } } Expressao expr = new Expressao(); if (expressao(expr)) { inst_esc_b.expr = expr; if (compare(";")) { index++; inst_escrita = inst_esc_b; return(true); } else { throw new System.Exception("Declaracao: \';\' esperado!"); } } else { throw new System.Exception("Declaracao: \';\' esperado!"); } } return(false); }
public void Mista_2p2x2m2div2_3() { Expressao e = new Expressao(); e.Adicionar(new Operando(2)); e.Adicionar(new Operador("+")); e.Adicionar(new Operando(2)); e.Adicionar(new Operador("*")); e.Adicionar(new Operando(2)); e.Adicionar(new Operador("-")); e.Adicionar(new Operando(2)); e.Adicionar(new Operador("/")); e.Adicionar(new Operando(2)); Assert.AreEqual(e.Calcular(), 5); }
private void btnEq_Click(object sender, EventArgs e) { try { var exp = new Expressao(txtInput.Text); string saida; ErrorLabel = !exp.ProcessarCalc(out saida); lbResult.Text = saida; } catch (Exception ex) { ErrorLabel = true; lbResult.Text = ex.Message; } }
private bool expressao(Expressao expr) { int guarda = index; Expressao_ident expr_ident = new Expressao_ident(); expr_ident.ident = new Identificador(); if (identificador(ref expr_ident.ident)) { expr = expr_ident; return(true); } index = guarda; Expressao_int expr_int = new Expressao_int(); if (tokens[index].nome.ToString() == "Inteiro") { expr_int.inteiro = tokens[index].valor.ToString(); expr = expr_int; index++; return(true); } index = guarda; Expressao_real expr_real = new Expressao_real(); if (tokens[index].nome.ToString() == "Real") { expr_real.real = tokens[index].valor.ToString(); expr = expr_int; index++; return(true); } return(false); }
public void TestSubtracao2() { var expressao = new Expressao(new ExpressaoNumerica(2d), Operador.Subtracao, new ExpressaoNumerica(2d)); Assert.AreEqual(0, expressao.Avaliar()); }
public void AdicionarExpressao(string expressao) { expressao = expressao.ToString().Replace(" ", ""); Expressao.Append(expressao); }
/// <summary> /// Adiciona a expressa informada. /// </summary> /// <param name="expressao"></param> public void Add(Expressao expressao) { expressao.Require(nameof(expressao)).NotNull(); _expressoes.Add(expressao); }
public void TesteInicializacao() { var expressao = new Expressao(null, Operador.Soma, null); Assert.IsNotNull(expressao); }
static public Falador BuscarPolaroideNosAssets(Personagens _personagem, Expressao _emocao) { Falador personagem = new Falador(); //string path = "Assets/Sprites/Personagem/Polaroides/"; string path = "Polaroides/"; string nome = ""; string emocao = ""; switch (_personagem) { case Personagens.Diretor: nome = "Diretor"; personagem.nome = "Diretor"; break; case Personagens.Drica: nome = "Drica"; personagem.nome = "Drica"; break; case Personagens.Lurdinha: nome = "Lurdinha"; personagem.nome = "Lurdinha"; break; case Personagens.Jean: nome = "Jean"; personagem.nome = "Jean"; break; case Personagens.Leitura: nome = "Leitura"; personagem.nome = "Aluno"; break; case Personagens.MeioAmbiente: nome = "MeioAmbiente"; personagem.nome = "Aluno"; break; case Personagens.Madá: nome = "Mada"; personagem.nome = "Madá"; break; case Personagens.Antonia: nome = "Antonia"; personagem.nome = "Antonia"; break; case Personagens.Alice: nome = "Alice"; personagem.nome = "Alice"; break; case Personagens.Montanari: nome = "MariaMontanari"; personagem.nome = "Maria Montanari"; break; case Personagens.Comenius: nome = "Comenius"; personagem.nome = "Comenius"; break; case Personagens.AlunoTipo: nome = "Aluno"; personagem.nome = "Aluno"; break; case Personagens.Aluno: nome = "Aluno"; personagem.nome = "Aluno"; break; case Personagens.Esquisito: nome = "Esquisito"; personagem.nome = "Aluno"; break; case Personagens.Vladmir: nome = "Vladmir"; personagem.nome = "Vladmir"; break; case Personagens.Paulino: nome = "Paulino"; personagem.nome = "Paulino"; break; } path = path + nome + "/"; switch (_emocao) { case Expressao.Bravo: emocao = "Bravo"; break; case Expressao.CaraFechada: emocao = "CaraFechada"; break; case Expressao.Rindo: emocao = "Rindo"; break; case Expressao.Serio: emocao = "Serio"; break; case Expressao.Sorrindo: emocao = "Sorrindo"; break; } path = path + emocao; Texture2D texture = Resources.Load(path) as Texture2D; try { personagem.personagem = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), Vector2.zero); } catch (NullReferenceException) { Debug.LogWarning("Não foi encontrado sprite em " + path); } return(personagem); }
private void acao05(Token token) { Elemento elemento = (Elemento) this.pilha.Peek(); Expressao expressao = new Expressao(); expressao.Origem = elemento; elemento.Expressao = expressao; this.pilha.Push(expressao); }
public void TestSoma() { var expressao = new Expressao(new ExpressaoNumerica(2d), Operador.Soma, new ExpressaoNumerica(2d)); Assert.AreEqual(4, expressao.Avaliar()); }
public LeitorFeicaoGeo(string classeFeicao, FonteFeicao fonte, OperacaoEspacial operacao, Expressao filtro) : base(classeFeicao, fonte) { if (fonte == null) { throw new Exception("Fonte Nula"); } this._fonte = fonte; this._tabela = fonte.ObterClasseFeicao(classeFeicao); this._atributos = this._tabela.Atributos; string str1 = ""; for (int index = 0; index < this._tabela.Atributos.Count; ++index) { if (this._tabela.Atributos[index].Tipo == DbType.DateTime) { str1 = str1 + "to_char(" + this._tabela.Atributos[index].Nome + ",'dd/mm/yyyy HH24:mi:ss') " + this._tabela.Atributos[index].Nome + ", "; } else { str1 = str1 + this._tabela.Atributos[index].Nome + ", "; } } if (operacao != null) { str1 = str1 + operacao.GerarComando("param") + " "; } string str2 = str1 + this._tabela.CampoGeometrico; string str3 = ""; if (filtro != null) { str3 = " where " + filtro.GerarComando("fparam"); } OracleCommand cmd1 = new OracleCommand("select count(*) from " + this._tabela.Nome + str3, (this.Fonte as FonteFeicaoOracleSpatial).Conexao); filtro?.CarregarParametros(cmd1, "fparam"); int int32 = Convert.ToInt32(cmd1.ExecuteScalar()); this._dr = (XmlTextReader)null; if (int32 <= 0) { return; } OracleCommand cmd2 = new OracleCommand("select " + str2 + " from " + this._tabela.Nome + str3, (this.Fonte as FonteFeicaoOracleSpatial).Conexao); cmd2.XmlCommandType = OracleXmlCommandType.Query; cmd2.FetchSize = 5242880L; cmd2.CommandTimeout = 3600; operacao?.CarregarParametros(cmd2, "param"); filtro?.CarregarParametros(cmd2, "fparam"); if (cmd2.Parameters.Count > 0) { cmd2.BindByName = true; cmd2.AddRowid = true; } else { cmd2.BindByName = false; } this.ComandoSQL = cmd2.CommandText; this._dr = (XmlTextReader)cmd2.ExecuteXmlReader(); this._dr.WhitespaceHandling = WhitespaceHandling.None; do { ; }while (this._dr.Read() && this._dr.Name != "ROWSET"); }
public ExpressaoNumerica(string expressao) { Expressao.Append(expressao); Parentese.AdicionarExpressao(Expressao.ToString()); }
public void TestDivisao() { var expressao = new Expressao(new ExpressaoNumerica(2d), Operador.Divisao, new ExpressaoNumerica(2d)); Assert.AreEqual(1, expressao.Avaliar()); }
public void TestMultiplicacao() { var expressao = new Expressao(new ExpressaoNumerica(2d), Operador.Multiplicacao, new ExpressaoNumerica(2d)); Assert.AreEqual(4, expressao.Avaliar()); }
private List <byte[]> GerarZipProcessado() { List <string> prjList = new List <string>(); string[] featureList = null; string[] aliasList = null; switch (Project.Type) { case OPERACAO_DOMINIALIDADE: featureList = "TMP_ATP,TMP_APMP,TMP_AFD,TMP_ROCHA,TMP_VERTICE,TMP_ARL,TMP_RPPN,TMP_AFS,TMP_AVN,TMP_AA,TMP_ACONSTRUIDA,TMP_DUTO,TMP_LTRANSMISSAO,TMP_ESTRADA,TMP_FERROVIA,TMP_NASCENTE,TMP_RIO_LINHA,TMP_RIO_AREA,TMP_LAGOA,TMP_REPRESA,TMP_DUNA,TMP_REST_DECLIVIDADE,TMP_ESCARPA,TMP_AREAS_CALCULADAS".Split(','); aliasList = "ATP,APMP,AFD,ROCHA,VERTICE,ARL,RPPN,AFS,AVN,AA,ACONSTRUIDA,DUTO,LTRANSMISSAO,ESTRADA,FERROVIA,NASCENTE,RIO_LINHA,RIO_AREA,LAGOA,REPRESA,DUNA,REST_DECLIVIDADE,ESCARPA,AREAS_CALCULADAS".Split(','); break; case OPERACAO_ATIVIDADE: featureList = "TMP_PATIV,TMP_LATIV,TMP_AATIV,TMP_AIATIV".Split(','); aliasList = "PATIV,LATIV,AATIV,AIATIV".Split(','); break; } FonteFeicaoOracleSpatial origem = GetDatabaseFontFeicao(); FonteFeicaoShapeStream destino = new FonteFeicaoShapeStream(); FonteFeicaoShapeStream destinoTrackmaker = new FonteFeicaoShapeStream(); origem.Abrir(); destino.Abrir(); destinoTrackmaker.Abrir(); LeitorFeicao leitor = null; ClasseFeicao classeFeicao = null; List <OperadorFeicaoShape> lstEscritores = new List <OperadorFeicaoShape>(); List <OperadorFeicaoShape> lstEscritoresTrackmaker = new List <OperadorFeicaoShape>(); int count = featureList.Length; for (int i = 0; i < count; i++) { string feicao = featureList[i]; string alias = aliasList[i]; classeFeicao = origem.ObterClasseFeicao(feicao); if (classeFeicao == null) { continue; } OperadorFeicaoShape escritor = null; AtributoCollection atributos = null; OperadorFeicaoShape escritorTrackmaker = null; AtributoCollection atributosTrackmaker = null; Expressao filtro = null; Atributo atributo; Feicao data; if (feicao == "TMP_AREAS_CALCULADAS") { string[] tipos = "APP_APMP,APP_AA_USO,APP_AA_REC,APP_AVN,APP_ARL".Split(','); foreach (string tipoArea in tipos) { ExpressaoRelacionalOracleSpatial termo1 = new ExpressaoRelacionalOracleSpatial(new Campo("PROJETO"), TipoOperadorRelacional.Igual, new ParametroOracleSpatial(DbType.Int32, Project.Id)); ExpressaoRelacionalOracleSpatial termo2 = new ExpressaoRelacionalOracleSpatial(new Campo("TIPO"), TipoOperadorRelacional.Igual, new ParametroOracleSpatial(DbType.String, tipoArea, 50)); filtro = new ExpressaoLogicaOracleSpatial(termo1, TipoOperadorLogico.E, termo2); try { leitor = origem.ObterLeitorFeicao(feicao, null, filtro); } catch (Exception exc) { for (int k = 0; k < 5; k++) { try { ExpressaoRelacionalOracleSpatial termoAux = new ExpressaoRelacionalOracleSpatial(new Campo("1"), TipoOperadorRelacional.Igual, new Campo("1")); filtro = new ExpressaoLogicaOracleSpatial(filtro, TipoOperadorLogico.E, termoAux); leitor = origem.ObterLeitorFeicao(feicao, null, filtro); } catch (Exception) { if (k < 4) { continue; } throw new Exception(string.Format("Feicao: {0} / Project.Id: {1} / tipo {2} / where: {3}", feicao, Project.Id, tipoArea, filtro.GerarComando()), exc); } break; } } escritor = null; while (leitor.Ler()) { if (escritor == null) { atributos = new AtributoCollection(); atributos.Adicionar(classeFeicao.Atributos["AREA_M2"]); escritor = (OperadorFeicaoShape)destino.CriarClasseFeicao(tipoArea, leitor.Atual.Geometria.ObterTipo(), 2, false, atributos); prjList.Add(tipoArea); lstEscritores.Add(escritor); //Trackmaker atributo = new Atributo(); atributo.Nome = "NOME"; atributo.Tamanho = 200; atributo.Tipo = DbType.String; atributosTrackmaker = new AtributoCollection(); atributosTrackmaker.Adicionar(atributo); escritorTrackmaker = (OperadorFeicaoShape)destinoTrackmaker.CriarClasseFeicao(tipoArea, leitor.Atual.Geometria.ObterTipo(), 2, false, atributosTrackmaker); lstEscritoresTrackmaker.Add(escritorTrackmaker); } //Normal information data = new Feicao(); data.ID = leitor.Atual.ID; data.Geometria = leitor.Atual.Geometria; data.Atributos = new AtributoCollection(); foreach (Atributo attr in atributos) { atributo = attr.Clonar(); atributo.Valor = leitor.Atual.Atributos[atributo.Nome].Valor; data.Atributos.Adicionar(atributo); } escritor.Inserir(data); //Trackmaker information data = new Feicao(); data.ID = leitor.Atual.ID; data.Geometria = leitor.Atual.Geometria; data.Atributos = new AtributoCollection(); atributo = atributosTrackmaker[0].Clonar(); atributo.Valor = GenerateTrackMakerNameValue("TMP_" + tipoArea, leitor.Atual.Atributos); data.Atributos.Adicionar(atributo); escritorTrackmaker.Inserir(data); } } } else { filtro = new ExpressaoRelacionalOracleSpatial(new Campo("PROJETO"), TipoOperadorRelacional.Igual, new ParametroOracleSpatial(DbType.Int32, Project.Id)); try { leitor = origem.ObterLeitorFeicao(feicao, null, filtro); } catch (Exception) { for (int k = 0; k < 5; k++) { try { ExpressaoRelacionalOracleSpatial termoAux = new ExpressaoRelacionalOracleSpatial(new Campo("1"), TipoOperadorRelacional.Igual, new Campo("1")); filtro = new ExpressaoLogicaOracleSpatial(filtro, TipoOperadorLogico.E, termoAux); leitor = origem.ObterLeitorFeicao(feicao, null, filtro); } catch (Exception) { if (k < 4) { continue; } throw; } break; } } while (leitor.Ler()) { if (escritor == null) { atributos = new AtributoCollection(); atributos.Adicionar(classeFeicao.Atributos["ID"]); if (classeFeicao.Atributos.IndiceDe("LARGURA") >= 0) { atributos.Adicionar(classeFeicao.Atributos["LARGURA"]); } if (classeFeicao.Atributos.IndiceDe("NOME") >= 0) { atributos.Adicionar(classeFeicao.Atributos["NOME"]); } if (classeFeicao.Atributos.IndiceDe("AMORTECIMENTO") >= 0) { atributos.Adicionar(classeFeicao.Atributos["AMORTECIMENTO"]); } if (classeFeicao.Atributos.IndiceDe("COD_APMP") >= 0) { atributos.Adicionar(classeFeicao.Atributos["COD_APMP"]); } if (classeFeicao.Atributos.IndiceDe("COMPENSADA") >= 0) { atributos.Adicionar(classeFeicao.Atributos["COMPENSADA"]); } if (classeFeicao.Atributos.IndiceDe("ESTAGIO") >= 0) { atributos.Adicionar(classeFeicao.Atributos["ESTAGIO"]); } if (classeFeicao.Atributos.IndiceDe("PROJETO") >= 0) { atributos.Adicionar(classeFeicao.Atributos["PROJETO"]); } if (classeFeicao.Atributos.IndiceDe("SITUACAO") >= 0) { atributos.Adicionar(classeFeicao.Atributos["SITUACAO"]); } if (classeFeicao.Atributos.IndiceDe("TIPO") >= 0) { atributos.Adicionar(classeFeicao.Atributos["TIPO"]); } if (classeFeicao.Atributos.IndiceDe("ZONA") >= 0) { atributos.Adicionar(classeFeicao.Atributos["ZONA"]); } if (classeFeicao.Atributos.IndiceDe("AREA_M2") >= 0) { atributos.Adicionar(classeFeicao.Atributos["AREA_M2"]); } if (classeFeicao.Atributos.IndiceDe("CODIGO") >= 0) { atributos.Adicionar(classeFeicao.Atributos["CODIGO"]); } if (classeFeicao.Atributos.IndiceDe("VEGETACAO") >= 0) { atributos.Adicionar(classeFeicao.Atributos["VEGETACAO"]); } escritor = (OperadorFeicaoShape)destino.CriarClasseFeicao(alias, leitor.Atual.Geometria.ObterTipo(), 2, false, atributos); prjList.Add(alias); lstEscritores.Add(escritor); //Trackmaker atributo = new Atributo(); atributo.Nome = "NOME"; atributo.Tamanho = 200; atributo.Tipo = DbType.String; atributosTrackmaker = new AtributoCollection(); atributosTrackmaker.Adicionar(atributo); escritorTrackmaker = (OperadorFeicaoShape)destinoTrackmaker.CriarClasseFeicao(alias, leitor.Atual.Geometria.ObterTipo(), 2, false, atributosTrackmaker); lstEscritoresTrackmaker.Add(escritorTrackmaker); } //Normal information data = new Feicao(); data.ID = leitor.Atual.ID; data.Geometria = leitor.Atual.Geometria; data.Atributos = new AtributoCollection(); foreach (Atributo attr in atributos) { atributo = attr.Clonar(); atributo.Valor = leitor.Atual.Atributos[atributo.Nome].Valor; data.Atributos.Adicionar(atributo); } escritor.Inserir(data); //Trackmaker information data = new Feicao(); data.ID = leitor.Atual.ID; data.Geometria = leitor.Atual.Geometria; data.Atributos = new AtributoCollection(); atributo = atributosTrackmaker[0].Clonar(); atributo.Valor = GenerateTrackMakerNameValue(feicao, leitor.Atual.Atributos); data.Atributos.Adicionar(atributo); escritorTrackmaker.Inserir(data); } } leitor.Fechar(); } byte[] byteReturn = null; byte[] byteTrackmakerReturn = null; if (lstEscritores.Count > 0) { using (MemoryStream ms = new MemoryStream()) { destino.ExportarParaZip(ms); byteReturn = AdicionarArquivosPrj(ms, prjList.ToArray()); } using (MemoryStream ms = new MemoryStream()) { destinoTrackmaker.ExportarParaZip(ms); byteTrackmakerReturn = AdicionarArquivosPrj(ms, prjList.ToArray()); } foreach (OperadorFeicaoShape escritorShp in lstEscritores) { escritorShp.Fechar(); } foreach (OperadorFeicaoShape escritorShp in lstEscritoresTrackmaker) { escritorShp.Fechar(); } } origem.Fechar(); destino.Fechar(); destinoTrackmaker.Fechar(); List <byte[]> result = new List <byte[]>(); result.Add(byteReturn); result.Add(byteTrackmakerReturn); return(result); }