public List <LinhaDadosBCB> RetonaListaDiferentes(DadosBCB dado) { List <LinhaDadosBCB> linhasDiferentes = new List <LinhaDadosBCB>(); int numeroDeLinhas = this.Linhas.Count(); int numeroDeLDados = dado.Linhas.Count(); if (numeroDeLinhas == numeroDeLDados) { for (int i = 0; i < numeroDeLDados; i++) { LinhaDadosBCB linhaDado = dado.Linhas[i]; if (this.Linhas[i].Compara(linhaDado)) { linhasDiferentes.Add(linhaDado); } } } else//adicionaram ou removeram linhas, vou notificar todas { for (int i = 0; i < numeroDeLDados; i++) { linhasDiferentes.Add(dado.Linhas[i]); } } return(linhasDiferentes); }
private void MontaLinha(IRelatorio relatorio) { if (relatorio is DLO) { this.MontaLinhaDLO(relatorio as DLO); } else { var linhasHtml = relatorio.Html.Skip(1).Select(tr => tr .Elements("td") .Select(td => td.InnerText.Trim()) .ToArray()); int numeroDeLinhas = linhasHtml.Count(); Linhas = new LinhaDadosBCB[numeroDeLinhas]; for (int i = 0; i < numeroDeLinhas; i++) { string[] linhaArray = linhasHtml.ElementAt(i); //se for rodapé if (linhaArray.Length == 1) { Linhas[i] = new LinhaDadosBCB(linhaArray[0]); continue; } Linhas[i] = new LinhaDadosBCB(linhaArray[0], linhaArray[1], linhaArray[2]); } } }
public bool Compara(LinhaDadosBCB linhaDado) { return(this.Titulo != linhaDado.Titulo || this.Coluna2 != linhaDado.Coluna2 || this.Coluna3 != linhaDado.Coluna3 || this.Coluna4 != linhaDado.Coluna4); }
private void MontaLinhaDLO(DLO relatorio) { var linhasHtml = relatorio.Html.Select(tr => tr.Elements("tr")).First() .Select(td => td.Elements("td") .Select(tj => tj.InnerText.Trim()) .ToArray()); int numeroDeLinhas = linhasHtml.Count(); Linhas = new LinhaDadosBCB[numeroDeLinhas]; for (int i = 0; i < numeroDeLinhas; i++) { string[] linhaArray = linhasHtml.ElementAt(i); Linhas[i] = new LinhaDadosBCB(linhaArray[0], linhaArray[1], linhaArray[2], linhaArray[3]); } }