public IList<OrcamentoPessoalDTO> ObterTotalizadorDePessoalPor(int centroDeCustoId, Departamento departamento) { var centroDeCusto = CentrosDeCusto.Obter<CentroDeCusto>(centroDeCustoId); var servicoCalculaPessoal = new ServicoGerarOrcamentoPessoalPorCentroDeCusto(); servicoCalculaPessoal.CentroDeCusto = centroDeCusto; servicoCalculaPessoal.Departamento = departamento; servicoCalculaPessoal.Gerar(""); return ServicoObterTotalizadorDePessoal.Obter(servicoCalculaPessoal.Orcamento); }
private void PreencherPessoal() { Orcamentos orcamentos = new Orcamentos(); OrcamentosPessoal = new List<NovoOrcamentoPessoal>(); var orcamentosNovos = new NovosOrcamentosPessoais(); OrcamentosDeDespesasOperacionais = new List<Orcamento.Domain.Orcamento>(); foreach (var centro in Departamento.CentrosDeCusto) { var servicoCalculaPessoal = new ServicoGerarOrcamentoPessoalPorCentroDeCusto(); servicoCalculaPessoal.CentroDeCusto = centro; servicoCalculaPessoal.Departamento = Departamento; servicoCalculaPessoal.Gerar(""); OrcamentosPessoal.Add(servicoCalculaPessoal.Orcamento); } GruposDeConta grupos = new GruposDeConta(); var grupoDeContaPessoal = grupos.ObterPor("Pessoal"); if (receitasNoAno != null) { var DespesasAgrupadas = OrcamentosDeDespesasOperacionais.Select( c => c.DespesasOperacionais.Where( d => grupoDeContaPessoal.Contas.Any(g => g.CodigoDaConta == d.Conta.CodigoDaConta))).ToList(); for (int i = 1; i < 13; i++) { var ltlPessoal = (Literal)divDre.FindControl("ltlPessoal" + i.ToString()); receitasNoAno.Where(p => p.Mes == (MesEnum)i).FirstOrDefault().ValorDespesaPessoal = DespesasAgrupadas.Sum(d1 => d1.Where(d2 => d2.Mes == (MesEnum)i).Sum(despesa => despesa.Valor)); receitasNoAno.Where(p => p.Mes == (MesEnum)i).FirstOrDefault().ValorDespesaPessoal += OrcamentosPessoal.Where(d=> d.Despesas != null && d.Despesas.Count > 0).Sum( o => o.Despesas.Where(de=> de.Parcelas != null).Sum(d => d.Parcelas.Where(p => p.Mes == i).Sum(p1 => p1.Valor))); ltlPessoal.Text = "("; ltlPessoal.Text += ( receitasNoAno.Where(p => p.Mes == (MesEnum)i).FirstOrDefault().ValorDespesaPessoal / 1000).ToString("#,###,###,###0"); ltlPessoal.Text += ")"; } ltlPessoalTotal.Text = "("; ltlPessoalTotal.Text += (receitasNoAno.Sum(r => r.ValorDespesaPessoal) / 1000).ToString("#,###,###,###0"); ltlPessoalTotal.Text += ")"; } }
private List<NovoOrcamentoPessoal> ObterOrcamentos(Orcamento.Domain.Gerenciamento.Departamento departamento) { List<NovoOrcamentoPessoal> orcamentos = new List<NovoOrcamentoPessoal>(); foreach (var centro in departamento.CentrosDeCusto) { var servicoCalculaPessoal = new ServicoGerarOrcamentoPessoalPorCentroDeCusto(); servicoCalculaPessoal.CentroDeCusto = centro; servicoCalculaPessoal.Departamento = departamento; servicoCalculaPessoal.Gerar(""); orcamentos.Add(servicoCalculaPessoal.Orcamento); } return orcamentos; }
private void PreencherPessoal(Orcamento.Domain.DB.Repositorio.Orcamentos orcamentos, Orcamento.Domain.Gerenciamento.Departamento departamento) { var orcamentosNovos = new NovosOrcamentosPessoais(); var OrcamentosDeDespesasOperacionais = new List<NovoOrcamentoPessoal>(); foreach (var centro in departamento.CentrosDeCusto) { var orcamentoOperacional = orcamentos.ObterOrcamentoFinalOrcamentoOperacional(centro, departamento); var servicoCalculaPessoal = new ServicoGerarOrcamentoPessoalPorCentroDeCusto(); servicoCalculaPessoal.CentroDeCusto = centro; servicoCalculaPessoal.Departamento = departamento; servicoCalculaPessoal.Gerar(""); OrcamentosDeDespesasOperacionais.Add(servicoCalculaPessoal.Orcamento); } double somaPessoal = OrcamentosDeDespesasOperacionais.Where(d => d.Despesas != null).Sum(o => o.Despesas.Where(de=> de.Parcelas != null) .Sum(d => d.Parcelas.Sum(p => p.Valor))); PreencherPessoal(somaPessoal); }