public Relatorio ObterRelatorioPorId(long?id, TiposRelatorios tipo) { using EFContext Context = new EFContext(); switch (tipo) { case TiposRelatorios.VIAGEM: return(Context.RelatoriosViagens.Where(rv => rv.RelatorioId == id).FirstOrDefault()); case TiposRelatorios.MULTA: return(Context.RelatoriosMultas.Where(rm => rm.RelatorioId == id).FirstOrDefault()); case TiposRelatorios.ACIDENTE: return(Context.RelatoriosAcidentes.Where(ra => ra.RelatorioId == id).FirstOrDefault()); case TiposRelatorios.CONSUMO: return(Context.RelatoriosConsumos.Where(rc => rc.RelatorioId == id).FirstOrDefault()); case TiposRelatorios.FINANCEIRO: return(Context.RelatoriosFinanceiros.Where(rf => rf.RelatorioId == id).FirstOrDefault()); case TiposRelatorios.MANUTENCOES: return(Context.RelatoriosManutencao.Where(rm => rm.RelatorioId == id).FirstOrDefault()); default: throw new Exception("Tipo de relatório invalido!"); } }
public RelatorioFinanceiro(DateTime dataInicio, DateTime dataFinal, TiposRelatorios tipo, List <Financa> financas, string descricao = "") : base(dataInicio, dataFinal, tipo, descricao: descricao) { QntTotalFinancas = financas.Count; QntFinancasVencidas = financas.Where(f => f.EstadoPagamento == EstadosDePagamento.VENCIDO).Count(); QntFinancasPagas = financas.Where(f => f.EstadoPagamento == EstadosDePagamento.PAGO).Count(); QntFinancasAguardando = financas.Where(f => f.EstadoPagamento == EstadosDePagamento.AGUARDANDO).Count(); double valorTotalEntradas = 0; double valorTotalSaidas = 0; foreach (Financa f in financas) { switch (f.Tipo) { case TipoDeFinanca.ENTRADA: valorTotalEntradas += f.Valor; break; case TipoDeFinanca.SAIDA: valorTotalSaidas += f.Valor; break; default: break; } } TotalValorEntradas = valorTotalEntradas; TotalValorSaidas = valorTotalSaidas; }
public RelatorioConsumo(DateTime dataInicio, DateTime dataFinal, TiposRelatorios tipo, List <Abastecimento> abastecimentos, string descricao = "") : base(dataInicio, dataFinal, tipo, descricao: descricao) { double totalCombustivel = 0; double media = 0; double valorTotal = 0; double valorMedio = 0; QntVeiculosAbastecidos = abastecimentos.Count; foreach (Abastecimento a in abastecimentos) { if (a.QuantidadeAbastecida != null) { totalCombustivel += (double)a.QuantidadeAbastecida; } if (a.Valor != null) { valorTotal += (double)a.Valor; } } media = totalCombustivel / QntVeiculosAbastecidos; valorMedio = valorTotal / QntVeiculosAbastecidos; TotalCombustivel = totalCombustivel; MediaDeCombustivel = media; ValorGastoTotal = valorTotal; ValorGastoMedio = valorMedio; }
public void GravarRelatorio(Relatorio relatorio, TiposRelatorios tipo) { using EFContext Context = new EFContext(); switch (tipo) { case TiposRelatorios.VIAGEM: Context.RelatoriosViagens.Add(relatorio as RelatorioViagem); break; case TiposRelatorios.MULTA: Context.RelatoriosMultas.Add(relatorio as RelatorioMulta); break; case TiposRelatorios.ACIDENTE: Context.RelatoriosAcidentes.Add(relatorio as RelatorioSinistros); break; case TiposRelatorios.CONSUMO: Context.RelatoriosConsumos.Add(relatorio as RelatorioConsumo); break; case TiposRelatorios.FINANCEIRO: Context.RelatoriosFinanceiros.Add(relatorio as RelatorioFinanceiro); break; case TiposRelatorios.MANUTENCOES: Context.RelatoriosManutencao.Add(relatorio as RelatorioManutencao); break; default: throw new Exception("Tipo de relatório invalido!"); } Context.SaveChanges(); }
public Relatorio(DateTime dataInicio, DateTime dataFinal, TiposRelatorios tipo, string descricao = "") { DataInicial = dataInicio; DataFinal = dataFinal; Tipo = tipo; Descricao = descricao; DataEmissao = DateTime.Now; }
public RelatorioViagem(DateTime dataInicio, DateTime dataFinal, TiposRelatorios tipo, List <Viagem> viagens, string descricao = "") : base(dataInicio, dataFinal, tipo, descricao) { QntTotalViagens = viagens.Count; QntViagensAguardando = viagens.Where(v => v.EstadoDaViagem == EstadosDeViagem.AGUARDANDO_INICIO).Count(); QntViagensEmAndamento = viagens.Where(v => v.EstadoDaViagem == EstadosDeViagem.EM_ANDAMENTO).Count(); QntViagensConcluidas = viagens.Where(v => v.EstadoDaViagem == EstadosDeViagem.CONCLUIDA).Count(); QntViagensCanceladas = viagens.Where(v => v.EstadoDaViagem == EstadosDeViagem.CANCELADA).Count(); }
public RelatorioManutencao(DateTime dataInicio, DateTime dataFinal, TiposRelatorios tipo, List <Modelo.Classes.Manutencao.Manutencao> manutencoes, string descricao = "") : base(dataInicio, dataFinal, tipo, descricao: descricao) { QntTotalMan = manutencoes.Count; QntManAguardando = manutencoes.Where(m => m.EstadoAtual == EstadosDeManutencao.AGUARDANDO).Count(); QntManConcluidas = manutencoes.Where(m => m.EstadoAtual == EstadosDeManutencao.CONCLUIDA).Count(); QntManCanceladas = manutencoes.Where(m => m.EstadoAtual == EstadosDeManutencao.CANCELADA).Count(); QntManEmAndamento = manutencoes.Where(m => m.EstadoAtual == EstadosDeManutencao.EM_ANDAMENTO).Count(); QntManPreventivas = manutencoes.Where(m => m.Tipo == TiposDeManutencao.PREVENTIVA).Count(); QntManCorretivas = manutencoes.Where(m => m.Tipo == TiposDeManutencao.CORRETIVA).Count(); }
private void AttachItem(Relatorio relatorio, EFContext Context, TiposRelatorios tipo) { switch (tipo) { case TiposRelatorios.VIAGEM: if (!Context.RelatoriosViagens.Local.Contains(relatorio)) { Context.RelatoriosViagens.Attach(relatorio as RelatorioViagem); } break; case TiposRelatorios.MULTA: if (!Context.RelatoriosMultas.Local.Contains(relatorio)) { Context.RelatoriosMultas.Attach(relatorio as RelatorioMulta); } break; case TiposRelatorios.ACIDENTE: if (!Context.RelatoriosAcidentes.Local.Contains(relatorio)) { Context.RelatoriosAcidentes.Attach(relatorio as RelatorioSinistros); } break; case TiposRelatorios.CONSUMO: if (!Context.RelatoriosConsumos.Local.Contains(relatorio)) { Context.RelatoriosConsumos.Attach(relatorio as RelatorioConsumo); } break; case TiposRelatorios.FINANCEIRO: if (!Context.RelatoriosFinanceiros.Local.Contains(relatorio)) { Context.RelatoriosFinanceiros.Attach(relatorio as RelatorioFinanceiro); } break; case TiposRelatorios.MANUTENCOES: if (!Context.RelatoriosManutencao.Local.Contains(relatorio)) { Context.RelatoriosManutencao.Attach(relatorio as RelatorioManutencao); } break; } }
public RelatorioSinistros(DateTime dataInicio, DateTime dataFinal, TiposRelatorios tipo, List <Sinistro> sinistros, string descricao = "") : base(dataInicio, dataFinal, tipo, descricao: descricao) { QntTotalSinistros = sinistros.Count; foreach (Sinistro s in sinistros) { TotalDeEnvolvidos += s.QntEnvolvidos; } QntSinistrosVencidos = sinistros.Where(s => s.EstadoPagamento == EstadosDePagamento.VENCIDO).Count(); QntSinistrosPagos = sinistros.Where(s => s.EstadoPagamento == EstadosDePagamento.PAGO).Count(); QntSinistrosAguardando = sinistros.Where(s => s.EstadoPagamento == EstadosDePagamento.AGUARDANDO).Count(); QntBatidas = sinistros.Where(s => s.Gravidade == GravidadesDeSinistro.BATIDA).Count(); QntAcidentesLevesCVitima = sinistros.Where(s => s.Gravidade == GravidadesDeSinistro.ACIDENTE_LEVE_COM_VITIMA).Count(); QntAcidentesLevesSVitima = sinistros.Where(s => s.Gravidade == GravidadesDeSinistro.ACIDENTE_LEVE_SEM_VITIMA).Count(); QntAcidentesGraves = sinistros.Where(s => s.Gravidade == GravidadesDeSinistro.ACIDENTE_GRAVE).Count(); QntAcidentesFatais = sinistros.Where(s => s.Gravidade == GravidadesDeSinistro.ACIDENTE_FATAL).Count(); QntPerdasTotais = sinistros.Where(s => s.Gravidade == GravidadesDeSinistro.PERDA_TOTAL).Count(); }
public RelatorioMulta(DateTime dataInicio, DateTime dataFinal, TiposRelatorios tipo, List <Multa> multas, string descricao = "") : base(dataInicio, dataFinal, tipo, descricao: descricao) { QntTotalMultas = multas.Count(); QntMultasVencidas = multas.Where(m => m.EstadoDoPagamento == EstadosDePagamento.VENCIDO).Count(); QntMultasPagas = multas.Where(m => m.EstadoDoPagamento == EstadosDePagamento.PAGO).Count(); QntMultasAguardando = multas.Where(m => m.EstadoDoPagamento == EstadosDePagamento.AGUARDANDO).Count(); QntMultasLeves = multas.Where(m => m.GravidadeDaInfracao == GravidadesDeInfracao.LEVE).Count(); QntMultasMedias = multas.Where(m => m.GravidadeDaInfracao == GravidadesDeInfracao.MEDIA).Count(); QntMultasGraves = multas.Where(m => m.GravidadeDaInfracao == GravidadesDeInfracao.GRAVE).Count(); QntMultasGravissimas = multas.Where(m => m.GravidadeDaInfracao == GravidadesDeInfracao.GRAVISSIMA).Count(); if (QntMultasLeves >= QntMultasMedias && QntMultasLeves >= QntMultasGraves && QntMultasLeves >= QntMultasGravissimas) { GravidadeMaisComum = GravidadesDeInfracao.LEVE; } else if (QntMultasMedias >= QntMultasGraves && QntMultasMedias >= QntMultasGravissimas) { GravidadeMaisComum = GravidadesDeInfracao.MEDIA; } else if (QntMultasGraves >= QntMultasGravissimas) { GravidadeMaisComum = GravidadesDeInfracao.GRAVE; } else { GravidadeMaisComum = GravidadesDeInfracao.GRAVISSIMA; } foreach (Multa multa in multas) { ValorTotal += multa.Valor; } ValorMedio = ValorTotal / QntTotalMultas; }
private void RegistrarBtn_Click(object sender, RoutedEventArgs e) { try { if (StandardMessageBoxes.ConfirmarRegistroMessageBox("Relatório") == MessageBoxResult.Yes) { TiposRelatorios tipo = 0; if (ConsumoRB.IsChecked == true) { tipo = TiposRelatorios.CONSUMO; } else if (FinanceiroRB.IsChecked == true) { tipo = TiposRelatorios.FINANCEIRO; } else if (ManutencaoRB.IsChecked == true) { tipo = TiposRelatorios.MANUTENCOES; } else if (ViagemRB.IsChecked == true) { tipo = TiposRelatorios.VIAGEM; } else if (SinistroRB.IsChecked == true) { tipo = TiposRelatorios.ACIDENTE; } else if (MultaRB.IsChecked == true) { tipo = TiposRelatorios.MULTA; } else if (SinistroRB.IsChecked == true) { tipo = TiposRelatorios.ACIDENTE; } else { throw new FieldException("Tipo de Relatório"); } ServicoDados.ServicoDadosRelatorio.GravarRelatorio( relatorio: ServicoDados.ServicoDadosRelatorio.GerarRelatorio( dataInicio: DataInicialUC.Date.GetValueOrDefault(), dataFinal: DataFinalUC.Date.GetValueOrDefault(), tipo: tipo, descricao: DescricaoTextBox.Text), tipo: tipo); MessageBox.Show("Relatorio Gerado com sucesso!"); MainWindowUpdater.UpdateDataGrids(); this.Close(); } } catch (FieldException ex) { StandardMessageBoxes.MensagemDeErroCampoFormulario(ex.Message); } catch (Exception ex) { StandardMessageBoxes.MensagemDeErro(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"); } }
public Relatorio ObterRelatorioPorId(long?id, TiposRelatorios tipo) { return(Context.ObterRelatorioPorId(id, tipo)); }
public void RemoverRelatorioPorId(long?id, TiposRelatorios tipo) { Context.RemoverRelatorioPorId(id, tipo); }
public void GravarRelatorio(Relatorio relatorio, TiposRelatorios tipo) { Context.GravarRelatorio(relatorio, tipo); }