private void AdicionarDespesas(GrupoDeContaDTO grupoDeContaDTO, Conta conta, CentroDeCusto centroDeCusto, ContaDespesaPessoalDTO despesaConta) { for (var i = 1; i < 13; i++) { var mes = i; IEnumerable<Parcela> parcelas = null; parcelas = grupoDeContaDTO.GrupoConta == "Benefícios" ? ObterParcelasDeDespesasNaoRelacionadasAoFuncionarioAoCentroDeCusto(conta, centroDeCusto, mes) : ObterParcelasDeDespesasRelacionadasAoFuncionario(conta, centroDeCusto, mes); if (parcelas.Any()) { double valor = 0; foreach (var parcela in parcelas.Where(p=> p != null && p.Valor != null)) { valor += parcela.Valor; } //var valor = parcelas.AsParallel().Sum(a => a.Valor); despesaConta.Despesas.Add(new DespesaPessoalDTO { Mes = i, Valor = valor }); } } }
private void AdicionarDespesas(GrupoDeContaDTO grupoDeContaDTO, Conta conta, CentroDeCusto centroDeCusto) { var despesaConta = new ContaDespesaPessoalDTO { Conta = conta.Nome, Despesas = new List<DespesaPessoalDTO>() }; AdicionarDespesas(grupoDeContaDTO, conta, centroDeCusto, despesaConta); AdicionarZeroAsContasSemDespesa(despesaConta); despesaConta.TotalConta = ObterOSomatorioTotalDasParcelasDeDespesasNaoRalacionadasAoFuncionario(conta, centroDeCusto); //despesaConta.TotalConta = grupoDeContaDTO.GrupoConta == "Benefícios" ? ObterOSomatorioTotalDasParcelasDeDespesasNaoRalacionadasAoFuncionario(conta, centroDeCusto) : ObterOSomatorioTotalDasParcelasDeDespesasRelacionadasAoFuncionario(conta, centroDeCusto); grupoDeContaDTO.Contas.Add(despesaConta); }
private void CalcularTotalizadorGrupoDeConta(GrupoDeContaDTO grupoDeContaDTO) { for (int i = 1; i < 13; i++) { int i1 = i; var despesas = grupoDeContaDTO.Contas.SelectMany(x => x.Despesas.Where(y => y.Mes == i1)); var despesaPessoalDtos = despesas as DespesaPessoalDTO[] ?? despesas.ToArray(); if (despesaPessoalDtos.Any()) { //double valor = 0; //foreach (var parcela in despesaPessoalDtos) //{ // valor += parcela.Valor; //} var valor = despesaPessoalDtos.AsParallel().Sum(a => a.Valor); grupoDeContaDTO.DespesasGrupoDeConta.Add(new DespesasGrupoDeContaDTO { Mes = i, Valor = valor }); } } AdicionarZeroAosGruposComContasSemDespesaNenhuma(grupoDeContaDTO); //double valortotal = 0; //foreach (var totalmensal in grupoDeContaDTO.DespesasGrupoDeConta) //{ // valortotal += totalmensal.Valor; //} var valortotal = grupoDeContaDTO.DespesasGrupoDeConta.AsParallel().Sum(a => a.Valor); grupoDeContaDTO.TotalGrupoConta = valortotal; }
private GrupoDeContaDTO ObterGrupoDeContaDTOInicializado(GrupoDeConta grupoDeConta) { var grupoDeContaDTO = new GrupoDeContaDTO { GrupoConta = grupoDeConta.Nome, Contas = new List<ContaDespesaPessoalDTO>(), DespesasGrupoDeConta = new List<DespesasGrupoDeContaDTO>() }; return grupoDeContaDTO; }
private void AdicionarZeroAosGruposComContasSemDespesaNenhuma(GrupoDeContaDTO grupoDeContaDTO) { var quantidadeDeMesesComDespesa = grupoDeContaDTO.DespesasGrupoDeConta.Count; if (quantidadeDeMesesComDespesa < 12) { quantidadeDeMesesComDespesa++; for (var i = quantidadeDeMesesComDespesa; i < 13; i++) grupoDeContaDTO.DespesasGrupoDeConta.Add(new DespesasGrupoDeContaDTO { Mes = i, Valor = 0 }); } }