private void PreencherReceitaBruta() { Orcamentos orcamentos = new Orcamentos(); OrcamentosHospitalares = orcamentos.ObterOrcamentosHospitalaresFinais(); if (OrcamentosHospitalares != null && OrcamentosHospitalares.Count > 0) { var tickets = new TicketsDeProducao(); TicketsDeReceita ticketsDeReceita = new TicketsDeReceita(); foreach (var oracamento in OrcamentosHospitalares) { var ticketDeReceita = ticketsDeReceita.Obter(oracamento.Setor, TipoTicketDeReceita.ReajusteDeConvenios); oracamento.CalcularReceitaLiquida(tickets.Todos(oracamento.Setor).ToList(), ticketDeReceita.Parcelas.ToList()); } FatoresDeReceitaBruta = new List<FatorReceitaDTO>(); foreach (var orcamento in OrcamentosHospitalares) { foreach (var fatorReceita in orcamento.FatoresReceita) { FatorReceitaDTO fator = new FatorReceitaDTO(); fator.Incrementos = new List<IncrementoDaComplexidadeDTO>(); foreach (var item in fatorReceita.Incrementos) { if (fator.Incrementos.Any(i => i.Mes == item.Mes)) fator.Incrementos.Where(i => i.Mes == item.Mes).FirstOrDefault().ReceitaLiquida += item.ReceitaLiquida; else fator.Incrementos.Add(new IncrementoDaComplexidadeDTO() { Mes = item.Mes, ReceitaLiquida = item.ReceitaLiquida }); } FatoresDeReceitaBruta.Add(fator); } } for (int i = 1; i < 13; i++) { var ltlReceitaBruta = (Literal)divDre.FindControl("ltlReceitaBruta" + i.ToString()); ltlReceitaBruta.Text = (FatoresDeReceitaBruta.Sum(f => f.Incrementos.Where(p => p.Mes == (MesEnum)i).Sum(incremento => incremento.ReceitaLiquida)) / 1000).ToString("#,###,###,###0"); receitasNoAno.Where(r => r.Mes == (MesEnum)i).FirstOrDefault().Valor = FatoresDeReceitaBruta.Sum( f => f.Incrementos.Where(p => p.Mes == (MesEnum)i).Sum(incremento => incremento.ReceitaLiquida)); } receitaBrutaTotal = (FatoresDeReceitaBruta.Sum(f => f.Incrementos.Sum(incremento => incremento.ReceitaLiquida)) / 1000); ltlReceitaBrutaTotal.Text = receitaBrutaTotal.ToString("#,###,###,###0"); } else { for (int i = 1; i < 13; i++) { var ltlReceitaBruta = (Literal)divDre.FindControl("ltlReceitaBruta" + i.ToString()); ltlReceitaBruta.Text = "0"; } ltlReceitaBrutaTotal.Text = "0"; } }