public IEnumerable <Sinistro> ObterSinistrosOrdPorId() { try { return(Context.ObterSinistrosOrdPorId()); } catch (Exception ex) { throw new Exception(ex.Message); } }
public Relatorio GerarRelatorio(DateTime dataInicio, DateTime dataFinal, TiposRelatorios tipo, string descricao = "") { switch (tipo) { case TiposRelatorios.VIAGEM: List <Viagem> viagens = ViagemContext.ObterViagensOrdPorId() .Where(v => v.DataSaida >= dataInicio) .Where(v => v.DataSaida <= dataFinal) .ToList(); if (viagens.Count == 0) { throw new Exception("Não existem dados registrados nas datas informadas"); } RelatorioViagem relatorioViagem = new RelatorioViagem(dataInicio, dataFinal, tipo, viagens, descricao: descricao); return(relatorioViagem); case TiposRelatorios.MULTA: List <Multa> multas = MultaContext.ObterMultasOrdPorId() .Where(m => m.DataDaMulta >= dataInicio) .Where(m => m.DataDaMulta <= dataFinal) .ToList(); if (multas.Count == 0) { throw new Exception("Não existem dados registrados nas datas informadas"); } RelatorioMulta relatorioMulta = new RelatorioMulta(dataInicio, dataFinal, tipo, multas, descricao: descricao); return(relatorioMulta); case TiposRelatorios.ACIDENTE: List <Sinistro> sinistros = SinistroContext.ObterSinistrosOrdPorId() .Where(s => s.DataSinistro >= dataInicio) .Where(s => s.DataSinistro <= dataFinal) .ToList(); if (sinistros.Count == 0) { throw new Exception("Não existem dados registrados nas datas informadas"); } RelatorioSinistros relatorioSinistros = new RelatorioSinistros(dataInicio, dataFinal, tipo, sinistros, descricao: descricao); return(relatorioSinistros); case TiposRelatorios.CONSUMO: List <Abastecimento> abastecimentos = AbastecimentoContext.ObterAbastecimentosOrdPorId() .Where(a => a.DataAgendada >= dataInicio || a.DataConclusao >= dataInicio) .Where(a => a.DataAgendada <= dataFinal || a.DataConclusao <= dataFinal) .ToList(); if (abastecimentos.Count == 0) { throw new Exception("Não existem dados registrados nas datas informadas"); } RelatorioConsumo relatorioConsumo = new RelatorioConsumo(dataInicio, dataFinal, tipo, abastecimentos, descricao: descricao); return(relatorioConsumo); case TiposRelatorios.FINANCEIRO: List <Financa> financas = FinancaContext.ObterFinancasOrdPorId() .Where(f => f.DataVencimento >= dataInicio) .Where(f => f.DataVencimento <= dataFinal) .ToList(); if (financas.Count == 0) { throw new Exception("Não existem dados registrados nas datas informadas"); } RelatorioFinanceiro relatorioFinanceiro = new RelatorioFinanceiro(dataInicio, dataFinal, tipo, financas, descricao: descricao); return(relatorioFinanceiro); case TiposRelatorios.MANUTENCOES: List <Modelo.Classes.Manutencao.Manutencao> manutencoes = ManutencaoContext.ObterManutencoesOrdPorId() .Where(m => m.DataEntrada >= dataInicio) .Where(m => m.DataEntrada <= dataFinal) .ToList(); if (manutencoes.Count == 0) { throw new Exception("Não existem dados registrados nas datas informadas"); } RelatorioManutencao relatorioManutencao = new RelatorioManutencao(dataInicio, dataFinal, tipo, manutencoes, descricao: descricao); return(relatorioManutencao); default: throw new Exception("Tipo de relatório inválido"); } }