private void PreencherInsumos() { Orcamento.Domain.DB.Repositorio.Insumos insumos = new global::Orcamento.Domain.DB.Repositorio.Insumos(); Insumo = insumos.ObterInsumo(Departamento); TicketsDeReceita tickets = new TicketsDeReceita(); var ticketsDeReceita = tickets.Todos(Departamento); if (OrcamentoHospitalar != null) { var contasUnitarias = ServicoMapperOrcamentoView.TransformarProducaoDeInsumos( OrcamentoHospitalar.Servicos.Where(s => s.Conta.Nome != "Salas" && s.Conta.TipoValorContaEnum == TipoValorContaEnum.Quantidade && s.Conta.Calculado == false).ToList(), OrcamentoHospitalar.Servicos.Where(s => s.Conta.TipoValorContaEnum == TipoValorContaEnum.Porcentagem).ToList()); OrcamentoHospitalar.CalcularCustoHospitalar( ticketsDeReceita.Where( t => t.TipoTicket == global::Orcamento.Domain.ComponentesDeOrcamento.OrcamentoDeProducao.TipoTicketDeReceita. ReajusteDeInsumos).FirstOrDefault(), Insumo.CustosUnitarios.ToList(), contasUnitarias); GruposDeConta grupos = new GruposDeConta(); var grupoDeContaPessoal = grupos.ObterPor("Insumos"); 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 ltlinsumos = (Literal)divDre.FindControl("ltlInsumos" + i.ToString()); receitasNoAno.Where(p => p.Mes == (MesEnum)i).FirstOrDefault().ValorInsumos = OrcamentoHospitalar.CustosUnitariosTotal.Sum( c => c.Valores.Where(v => v.Mes == (MesEnum)i).Sum(insumo => insumo.Valor)); receitasNoAno.Where(p => p.Mes == (MesEnum)i).FirstOrDefault().ValorInsumos += DespesasAgrupadas.Sum(d1 => d1.Where(d2 => d2.Mes == (MesEnum)i).Sum(despesa => despesa.Valor)); ltlinsumos.Text = "("; ltlinsumos.Text += ( receitasNoAno.Where(p => p.Mes == (MesEnum)i).FirstOrDefault().ValorInsumos / 1000).ToString("#,###,###,###0"); ltlinsumos.Text += ")"; } insumosTotal = (receitasNoAno.Sum(r => r.ValorInsumos) / 1000); ltlInsumosTotal.Text = "("; ltlInsumosTotal.Text += insumosTotal.ToString("#,###,###,###0"); ltlInsumosTotal.Text += ")"; } else { for (int i = 1; i < 13; i++) { var ltlinsumos = (Literal)divDre.FindControl("ltlInsumos" + i.ToString()); ltlinsumos.Text += "(0)"; } ltlInsumosTotal.Text += "(0)"; } }
protected void Page_Load(object sender, EventArgs e) { VerificaSeExisteSessaoDeUsuario(); VerificarSeUsuarioHospitalar(); if (!Page.IsPostBack) { var departamentos = new Departamentos(); Departamento = departamentos.Obter((int)Session["DepartamentoLogadoId"]); Orcamento.Domain.DB.Repositorio.Insumos insumos = new global::Orcamento.Domain.DB.Repositorio.Insumos(); Insumo = insumos.ObterInsumo(Departamento); PreencherCustoUnitario(); Orcamentos orcamentos = new Orcamentos(); Orcamento = orcamentos.ObterOrcamentoHospitalarFinal(Departamento); if (Orcamento != null) { this.ContasUnitarias = ServicoMapperOrcamentoView.TransformarProducaoDeInsumos( Orcamento.Servicos.Where(s => s.Conta.Nome != "Salas" && s.Conta.TipoValorContaEnum == TipoValorContaEnum.Quantidade && s.Conta.Calculado == false).ToList(), Orcamento.Servicos.Where(s => s.Conta.TipoValorContaEnum == TipoValorContaEnum.Porcentagem).ToList()); PreecherUnitarios(); PreencherCustoHospitalar(); } } }