Esempio n. 1
0
        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!");
            }
        }
Esempio n. 2
0
        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;
        }
Esempio n. 4
0
        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();
        }
Esempio n. 5
0
 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();
 }
Esempio n. 7
0
        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();
        }
Esempio n. 8
0
        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();
        }
Esempio n. 10
0
        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);
            }
        }
Esempio n. 12
0
        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");
            }
        }
Esempio n. 13
0
 public Relatorio ObterRelatorioPorId(long?id, TiposRelatorios tipo)
 {
     return(Context.ObterRelatorioPorId(id, tipo));
 }
Esempio n. 14
0
 public void RemoverRelatorioPorId(long?id, TiposRelatorios tipo)
 {
     Context.RemoverRelatorioPorId(id, tipo);
 }
Esempio n. 15
0
 public void GravarRelatorio(Relatorio relatorio, TiposRelatorios tipo)
 {
     Context.GravarRelatorio(relatorio, tipo);
 }