private Models.RelatoriCategoria BuscarRegistros(Int32 Ano, Int32 Mes) { string NomeUsuario = GetLogOnSessionModel().Nome; string IdentificadorUsuario = GetLogOnSessionModel().Identificador; List <Models.Registro> objRegistros = RegistroFinanceiroController.BuscarRegistros(new BuscaRegistros() { Ano = Ano, Mes = Mes }, IdentificadorUsuario, true, false); List <Models.RegistroRelatorioCategoria> objDespesasRetorno = new List <RegistroRelatorioCategoria>(); if (objRegistros != null && objRegistros.Count > 0) { string CodigoCategoriaGeralDespesaEssencial = Enumeradores.CategoriaGeral.DESPESAESSENCIAL.RecuperarValor(); string CodigoReceita = Enumeradores.TipoFonte.CREDITO.RecuperarValor(); objDespesasRetorno = (from Models.Registro r in objRegistros where r.CodigoTipoRegistro != CodigoReceita group r by r.TipoRegistro into Soma select new Models.RegistroRelatorioCategoria() { Categoria = Soma.First().TipoRegistro, Valor = Soma.Sum(vg => vg.Valor) }).ToList(); } return(new Models.RelatoriCategoria { Ano = Ano.ToString(), Mes = Mes.ToString(), Registros = objDespesasRetorno }); }
private Models.Principal BuscarRegistros(Int32 Ano, Int32 Mes, bool BuscarQuitado) { string NomeUsuario = GetLogOnSessionModel().Nome; string IdentificadorUsuario = GetLogOnSessionModel().Identificador; List <Models.Registro> objRegistros = RegistroFinanceiroController.BuscarRegistros(new BuscaRegistros() { Ano = Ano, Mes = Mes }, IdentificadorUsuario, !BuscarQuitado, BuscarQuitado); List <Models.SituacaoGeralMes> objDespesasRetorno = new List <SituacaoGeralMes>(); Models.SituacaoGeralMes objDespesasReceita = null; double ValorReceita = 0; double ValorDespesa = 0; double ValorTotalReceita = 0; if (objRegistros != null && objRegistros.Count > 0) { string CodigoCategoriaGeralDespesaEssencial = Enumeradores.CategoriaGeral.DESPESAESSENCIAL.RecuperarValor(); string CodigoReceita = Enumeradores.TipoFonte.CREDITO.RecuperarValor(); List <Models.SituacaoGeralMes> objDespesasGastos = null; objDespesasReceita = (from Models.Registro r in objRegistros where r.CodigoTipoRegistro == CodigoReceita //&& r.BolSalario == true group r by r.CodigoTipoRegistro into Soma select new Models.SituacaoGeralMes() { DescricaoCategoriaGeral = "Receita", ValorGasto = Soma.Sum(vg => vg.Valor), Ordem = 1 }).FirstOrDefault(); if (objDespesasReceita == null) { objDespesasReceita = new SituacaoGeralMes() { DescricaoCategoriaGeral = "Receita", ValorGasto = 0 } } ; ValorReceita = objDespesasReceita.ValorGasto; ValorTotalReceita = (from Models.Registro r in objRegistros where r.CodigoTipoRegistro == CodigoReceita && r.BolSalario == true group r by r.CodigoTipoRegistro into Soma select Soma.Sum(vg => vg.Valor)).FirstOrDefault(); objDespesasReceita.ValorGasto = ValorTotalReceita; objDespesasGastos = (from Models.Registro r in objRegistros where r.CodigoTipoRegistro != CodigoReceita group r by r.CategoriaGeral into Soma select new Models.SituacaoGeralMes() { DescricaoCategoriaGeral = (from Tuple <string, string, double, Int32> v in Classes.Parametros.CategoriasGerais where v.Item1 == Soma.First().CategoriaGeral select v.Item2).FirstOrDefault(), ValorGasto = Soma.Sum(vg => vg.Valor), PorcentagemIdeal = (from Tuple <string, string, double, Int32> v in Classes.Parametros.CategoriasGerais where v.Item1 == Soma.First().CategoriaGeral select v.Item3).FirstOrDefault(), PorcentagemGasta = ((Soma.Sum(vg => vg.Valor) * 100) / ValorTotalReceita), ValorIdeal = (from Tuple <string, string, double, Int32> v in Classes.Parametros.CategoriasGerais where v.Item1 == Soma.First().CategoriaGeral select(v.Item3 * ValorTotalReceita) / 100).FirstOrDefault(), Ordem = (from Tuple <string, string, double, Int32> v in Classes.Parametros.CategoriasGerais where v.Item1 == Soma.First().CategoriaGeral select v.Item4).FirstOrDefault() }).ToList(); if (objDespesasGastos != null && objDespesasGastos.Count > 0) { objDespesasRetorno.AddRange(objDespesasGastos); ValorDespesa = (from Models.Registro r in objRegistros where r.CodigoTipoRegistro != CodigoReceita select r.Valor).Sum(); } if (objDespesasRetorno == null) { objDespesasGastos = new List <SituacaoGeralMes>(); } foreach (var tv in Classes.Parametros.CategoriasGerais) { if (!objDespesasRetorno.Exists(d => d.DescricaoCategoriaGeral == tv.Item2)) { objDespesasRetorno.Add(new SituacaoGeralMes() { DescricaoCategoriaGeral = tv.Item2, ValorGasto = 0, PorcentagemIdeal = tv.Item3, PorcentagemGasta = ((0 * 100) / ValorTotalReceita), ValorIdeal = (tv.Item3 * ValorTotalReceita) / 100, Ordem = tv.Item4 }); } } } return(new Models.Principal() { NomeUsuario = NomeUsuario, BuscarQuitado = BuscarQuitado, Ano = Ano.ToString(), Mes = Mes.ToString(), SituacaoGeralMes = objDespesasRetorno, Receita = objDespesasReceita, TotalDespesa = ValorDespesa, SequenciaTotal = 100, Saldo = (ValorReceita - ValorDespesa) }); }