public List <RecuperarGraficoDTO> RecuperarGrafico(RecuperarGraficoCargaDTO dto) { var tipoImportacao = _db.Importacao.FirstOrDefault(x => x.Id == dto.CodigoImportacao).TipoImportacao; if (tipoImportacao == 0) { var retorno = _db.ImportacaoColunas.Where(x => x.CodigoImportacao == dto.CodigoImportacao && x.NomeColuna == dto.NomeColuna).Select(p => new { p.DataLeitura, p.ValorLeitura, p.CodigoImportacao }).OrderBy(p => p.DataLeitura).ToList(); var listRecuperarGraficoDTO = new List <RecuperarGraficoDTO>(); foreach (var item in retorno) { var recuperarGraficoDTO = new RecuperarGraficoDTO() { DataLeitura = item.DataLeitura.ToString("dd/MM/yyyy HH:mm:ss"), ValorLeitura = item.ValorLeitura, CodigoImportacao = item.CodigoImportacao, TipoImportacao = tipoImportacao, Sequencial = 0 }; listRecuperarGraficoDTO.Add(recuperarGraficoDTO); } return(listRecuperarGraficoDTO); } else { var retorno = _db.ImportacaoColunas.Where(x => x.CodigoImportacao == dto.CodigoImportacao && x.NomeColuna == dto.NomeColuna).Select(p => new { p.DataLeitura, p.ValorLeitura, p.CodigoImportacao, p.Sequencial }).OrderBy(p => p.Sequencial).ToList(); var listRecuperarGraficoDTO = new List <RecuperarGraficoDTO>(); foreach (var item in retorno) { var recuperarGraficoDTO = new RecuperarGraficoDTO() { DataLeitura = item.DataLeitura.ToString("dd/MM/yyyy HH:mm:ss"), ValorLeitura = item.ValorLeitura, CodigoImportacao = item.CodigoImportacao, Sequencial = item.Sequencial, TipoImportacao = tipoImportacao }; listRecuperarGraficoDTO.Add(recuperarGraficoDTO); } return(listRecuperarGraficoDTO); } }
public List <RecuperarGraficoDTO> RecuperarGraficoComparacao(RecuperarGraficoCargaComparacaoDTO dto) { int tipo = 0; var tipoImportacaoPadrao = _db.Importacao.FirstOrDefault(x => x.Id == dto.CodigoImportacaoPrincipal).TipoImportacao; foreach (var item in dto.CodigoImportacao) { tipo = _db.Importacao.FirstOrDefault(x => x.Id == item).TipoImportacao; if (tipoImportacaoPadrao != tipo) { throw new Exception("Somente é possível comparar importações do mesmo tipo!"); } } if (tipoImportacaoPadrao == 1) { var qtde = dto.CodigoImportacao.Count(); if (qtde != 1) { throw new Exception("Para comparar por Pontos sequenciais, é permitido selecionar apenas 2 importações"); } } if (tipoImportacaoPadrao == 0) { var retorno = _db.ImportacaoColunas.Where(x => x.CodigoImportacao == dto.CodigoImportacaoPrincipal && x.NomeColuna == dto.NomeColuna).Select(p => new { p.DataLeitura, p.ValorLeitura, p.CodigoImportacao, p.Sequencial }).OrderBy(p => p.DataLeitura).ToList(); var listRecuperarGraficoDTO = new List <RecuperarGraficoDTO>(); foreach (var item in retorno) { var recuperarGraficoDTO = new RecuperarGraficoDTO() { DataLeitura = item.DataLeitura.ToString("dd/MM/yyyy HH:mm:ss"), ValorLeitura = item.ValorLeitura, CodigoImportacao = item.CodigoImportacao, Sequencial = item.Sequencial, TipoImportacao = tipoImportacaoPadrao }; listRecuperarGraficoDTO.Add(recuperarGraficoDTO); } foreach (var item in dto.CodigoImportacao) { var retornoComp = _db.ImportacaoColunas.Where(x => x.CodigoImportacao == item && x.NomeColuna == dto.NomeColuna).Select(p => new { p.DataLeitura, p.ValorLeitura, p.CodigoImportacao, p.Sequencial }).OrderBy(p => p.DataLeitura).ToList(); foreach (var itemRet in retornoComp) { var recuperarGraficoCompDTO = new RecuperarGraficoDTO() { DataLeitura = itemRet.DataLeitura.ToString("dd/MM/yyyy HH:mm:ss"), ValorLeitura = itemRet.ValorLeitura, CodigoImportacao = itemRet.CodigoImportacao, Sequencial = itemRet.Sequencial, TipoImportacao = tipoImportacaoPadrao }; listRecuperarGraficoDTO.Add(recuperarGraficoCompDTO); } } return(listRecuperarGraficoDTO.OrderBy(x => x.DataLeitura).ToList()); } else { var retorno = _db.ImportacaoColunas.Where(x => x.CodigoImportacao == dto.CodigoImportacaoPrincipal && x.NomeColuna == dto.NomeColuna).Select(p => new { p.DataLeitura, p.ValorLeitura, p.CodigoImportacao, p.Sequencial }).OrderBy(p => p.Sequencial).ToList(); var listRecuperarGraficoDTO = new List <RecuperarGraficoDTO>(); foreach (var item in retorno) { var recuperarGraficoDTO = new RecuperarGraficoDTO() { DataLeitura = item.DataLeitura.ToString("dd/MM/yyyy HH:mm:ss"), ValorLeitura = item.ValorLeitura, CodigoImportacao = item.CodigoImportacao, Sequencial = item.Sequencial, TipoImportacao = tipoImportacaoPadrao, CodigoImportacaoPrincipal = dto.CodigoImportacaoPrincipal, CodigoImportacaoSecundaria = dto.CodigoImportacao[0] }; listRecuperarGraficoDTO.Add(recuperarGraficoDTO); } foreach (var item in dto.CodigoImportacao) { var retornoComp = _db.ImportacaoColunas.Where(x => x.CodigoImportacao == item && x.NomeColuna == dto.NomeColuna).Select(p => new { p.DataLeitura, p.ValorLeitura, p.CodigoImportacao, p.Sequencial }).OrderBy(p => p.Sequencial).ToList(); foreach (var itemRet in retornoComp) { var recuperarGraficoCompDTO = new RecuperarGraficoDTO() { DataLeitura = itemRet.DataLeitura.ToString("dd/MM/yyyy HH:mm:ss"), ValorLeitura = itemRet.ValorLeitura, CodigoImportacao = itemRet.CodigoImportacao, Sequencial = itemRet.Sequencial, TipoImportacao = tipoImportacaoPadrao, CodigoImportacaoPrincipal = dto.CodigoImportacaoPrincipal, CodigoImportacaoSecundaria = dto.CodigoImportacao[0] }; listRecuperarGraficoDTO.Add(recuperarGraficoCompDTO); } } return(listRecuperarGraficoDTO.OrderBy(x => x.Sequencial).ToList()); } }