private void PreencherDespesasGeraisTotal() { GruposDeConta grupos = new GruposDeConta(); var grupoDeContaPessoal = grupos.ObterPor("Despesas Gerais"); Orcamentos orcamentos = new Orcamentos(); var listaOrcamentos = orcamentos.ObterOrcamentosFinaisViagensHospitalares(); if (listaOrcamentos == null) listaOrcamentos = new List<Orcamento.Domain.Orcamento>(); listaOrcamentos = listaOrcamentos.Where(l => l.Tipo == TipoOrcamentoEnum.Viagem).ToList(); var DespesasAgrupadas = OrcamentosDeDespesasOperacionais.Where(o => o.DespesasOperacionais.Where(ope => ope.Valor > 0).Count() > 0) .Select(c => c.DespesasOperacionais.Where(d => grupoDeContaPessoal.Contas.Any(g => g.CodigoDaConta == d.Conta.CodigoDaConta))).ToList(); for (int i = 1; i < 13; i++) { var ltlDespesasGerais = (Literal)divDre.FindControl("ltlDespesasGerais" + i.ToString()); ltlDespesasGerais.Text = "("; ltlDespesasGerais.Text += ((DespesasAgrupadas.Sum(d1 => d1.Where(d2 => d2.Mes == (MesEnum)i).Sum(despesa => despesa.Valor)) + listaOrcamentos.Sum(o => o.Despesas.Where(d => d.Mes == (MesEnum)i).Sum(despesa => despesa.ValorTotal))) / 1000).ToString("#,###,###,###0"); ltlDespesasGerais.Text += ")"; receitasNoAno.Where(r => r.Mes == (MesEnum)i).FirstOrDefault().DespesasGerais += (DespesasAgrupadas.Sum(d1 => d1.Where(d2 => d2.Mes == (MesEnum)i).Sum(despesa => despesa.Valor)) + listaOrcamentos.Sum(o => o.Despesas.Where(d => d.Mes == (MesEnum)i).Sum(despesa => despesa.ValorTotal))); } ltlDespesasGeraisTotal.Text = "("; ltlDespesasGeraisTotal.Text += (DespesasAgrupadas.Sum(d1 => d1.Sum(despesa => despesa.Valor)) / 1000).ToString("#,###,###,###0"); ltlDespesasGeraisTotal.Text += ")"; }