public static RubricaRN GetInstance() { if (_instancia == null) { _instancia = new RubricaRN(); } return(_instancia); }
public Tuple <List <RubricaDTO>, List <RubricaDTO> > GetCashFlowList(MovimentoDTO dto) { List <RubricaDTO> ReceiptsList = new List <RubricaDTO>(); List <RubricaDTO> PaymentsList = new List <RubricaDTO>(); var lista = MovimentoRN.GetInstance().ObterPorFiltro(dto); var CreditsList = lista.Where(t => t.Movimento == "E").ToList(); var DebitsList = lista.Where(t => t.Movimento == "S").ToList(); var RubricasList = RubricaRN.GetInstance().GetAllList(); var GroupList = RubricasList.Where(t => t.RubricaID <= 0).ToList(); var IncomeRubricaList = RubricasList.Where(t => (t.Movimento == "R" || t.Movimento == "E") && t.RubricaID <= 0).ToList(); var OutComeRubricasList = RubricasList.Where(t => (t.Movimento == "S" || t.Movimento == "D") && t.RubricaID <= 0).ToList(); foreach (var rubrica in IncomeRubricaList) { var ItemList = RubricasList.Where(t => t.RubricaID == rubrica.Codigo).ToList(); rubrica.LookupNumericField1 = CreditsList.Where(t => t.FluxoCaixa == rubrica.Codigo && t.DataTransacao.Month == 1).Sum(t => t.Valor); rubrica.LookupNumericField2 = CreditsList.Where(t => t.FluxoCaixa == rubrica.Codigo && t.DataTransacao.Month == 2).Sum(t => t.Valor); rubrica.LookupNumericField3 = CreditsList.Where(t => t.FluxoCaixa == rubrica.Codigo && t.DataTransacao.Month == 3).Sum(t => t.Valor); rubrica.LookupNumericField4 = CreditsList.Where(t => t.FluxoCaixa == rubrica.Codigo && t.DataTransacao.Month == 4).Sum(t => t.Valor); rubrica.LookupNumericField5 = CreditsList.Where(t => t.FluxoCaixa == rubrica.Codigo && t.DataTransacao.Month == 5).Sum(t => t.Valor); rubrica.LookupNumericField6 = CreditsList.Where(t => t.FluxoCaixa == rubrica.Codigo && t.DataTransacao.Month == 6).Sum(t => t.Valor); rubrica.LookupNumericField7 = CreditsList.Where(t => t.FluxoCaixa == rubrica.Codigo && t.DataTransacao.Month == 7).Sum(t => t.Valor); rubrica.LookupNumericField8 = CreditsList.Where(t => t.FluxoCaixa == rubrica.Codigo && t.DataTransacao.Month == 8).Sum(t => t.Valor); rubrica.LookupNumericField9 = CreditsList.Where(t => t.FluxoCaixa == rubrica.Codigo && t.DataTransacao.Month == 9).Sum(t => t.Valor); rubrica.LookupNumericField10 = CreditsList.Where(t => t.FluxoCaixa == rubrica.Codigo && t.DataTransacao.Month == 10).Sum(t => t.Valor); rubrica.LookupNumericField11 = CreditsList.Where(t => t.FluxoCaixa == rubrica.Codigo && t.DataTransacao.Month == 11).Sum(t => t.Valor); rubrica.LookupNumericField12 = CreditsList.Where(t => t.FluxoCaixa == rubrica.Codigo && t.DataTransacao.Month == 12).Sum(t => t.Valor); foreach (var subGroup in RubricasList.Where(t => t.RubricaID == rubrica.Codigo).ToList()) { rubrica.LookupNumericField1 += CreditsList.Where(t => t.FluxoCaixa == subGroup.Codigo && t.DataTransacao.Month == 1).Sum(t => t.Valor); rubrica.LookupNumericField2 += CreditsList.Where(t => t.FluxoCaixa == subGroup.Codigo && t.DataTransacao.Month == 2).Sum(t => t.Valor); rubrica.LookupNumericField3 += CreditsList.Where(t => t.FluxoCaixa == subGroup.Codigo && t.DataTransacao.Month == 3).Sum(t => t.Valor); rubrica.LookupNumericField4 += CreditsList.Where(t => t.FluxoCaixa == subGroup.Codigo && t.DataTransacao.Month == 4).Sum(t => t.Valor); rubrica.LookupNumericField5 += CreditsList.Where(t => t.FluxoCaixa == subGroup.Codigo && t.DataTransacao.Month == 5).Sum(t => t.Valor); rubrica.LookupNumericField6 += CreditsList.Where(t => t.FluxoCaixa == subGroup.Codigo && t.DataTransacao.Month == 6).Sum(t => t.Valor); rubrica.LookupNumericField7 += CreditsList.Where(t => t.FluxoCaixa == subGroup.Codigo && t.DataTransacao.Month == 7).Sum(t => t.Valor); rubrica.LookupNumericField8 += CreditsList.Where(t => t.FluxoCaixa == subGroup.Codigo && t.DataTransacao.Month == 8).Sum(t => t.Valor); rubrica.LookupNumericField9 += CreditsList.Where(t => t.FluxoCaixa == subGroup.Codigo && t.DataTransacao.Month == 9).Sum(t => t.Valor); rubrica.LookupNumericField10 += CreditsList.Where(t => t.FluxoCaixa == subGroup.Codigo && t.DataTransacao.Month == 10).Sum(t => t.Valor); rubrica.LookupNumericField11 += CreditsList.Where(t => t.FluxoCaixa == subGroup.Codigo && t.DataTransacao.Month == 11).Sum(t => t.Valor); rubrica.LookupNumericField12 += CreditsList.Where(t => t.FluxoCaixa == subGroup.Codigo && t.DataTransacao.Month == 12).Sum(t => t.Valor); foreach (var subtItemGroup in RubricasList.Where(t => t.RubricaID == subGroup.Codigo).ToList()) { rubrica.LookupNumericField1 += CreditsList.Where(t => t.FluxoCaixa == subtItemGroup.Codigo && t.DataTransacao.Month == 1).Sum(t => t.Valor); rubrica.LookupNumericField2 += CreditsList.Where(t => t.FluxoCaixa == subtItemGroup.Codigo && t.DataTransacao.Month == 2).Sum(t => t.Valor); rubrica.LookupNumericField3 += CreditsList.Where(t => t.FluxoCaixa == subtItemGroup.Codigo && t.DataTransacao.Month == 3).Sum(t => t.Valor); rubrica.LookupNumericField4 += CreditsList.Where(t => t.FluxoCaixa == subtItemGroup.Codigo && t.DataTransacao.Month == 4).Sum(t => t.Valor); rubrica.LookupNumericField5 += CreditsList.Where(t => t.FluxoCaixa == subtItemGroup.Codigo && t.DataTransacao.Month == 5).Sum(t => t.Valor); rubrica.LookupNumericField6 += CreditsList.Where(t => t.FluxoCaixa == subtItemGroup.Codigo && t.DataTransacao.Month == 6).Sum(t => t.Valor); rubrica.LookupNumericField7 += CreditsList.Where(t => t.FluxoCaixa == subtItemGroup.Codigo && t.DataTransacao.Month == 7).Sum(t => t.Valor); rubrica.LookupNumericField8 += CreditsList.Where(t => t.FluxoCaixa == subtItemGroup.Codigo && t.DataTransacao.Month == 8).Sum(t => t.Valor); rubrica.LookupNumericField9 += CreditsList.Where(t => t.FluxoCaixa == subtItemGroup.Codigo && t.DataTransacao.Month == 9).Sum(t => t.Valor); rubrica.LookupNumericField10 += CreditsList.Where(t => t.FluxoCaixa == subtItemGroup.Codigo && t.DataTransacao.Month == 10).Sum(t => t.Valor); rubrica.LookupNumericField11 += CreditsList.Where(t => t.FluxoCaixa == subtItemGroup.Codigo && t.DataTransacao.Month == 11).Sum(t => t.Valor); rubrica.LookupNumericField12 += CreditsList.Where(t => t.FluxoCaixa == subtItemGroup.Codigo && t.DataTransacao.Month == 12).Sum(t => t.Valor); } } ReceiptsList.Add(rubrica); } foreach (var rubricaOUT in OutComeRubricasList) { var ItemList = RubricasList.Where(t => t.RubricaID == rubricaOUT.Codigo).ToList(); rubricaOUT.LookupNumericField1 = DebitsList.Where(t => t.FluxoCaixa == rubricaOUT.Codigo && t.DataTransacao.Month == 1).Sum(t => t.Valor); rubricaOUT.LookupNumericField2 = DebitsList.Where(t => t.FluxoCaixa == rubricaOUT.Codigo && t.DataTransacao.Month == 2).Sum(t => t.Valor); rubricaOUT.LookupNumericField3 = DebitsList.Where(t => t.FluxoCaixa == rubricaOUT.Codigo && t.DataTransacao.Month == 3).Sum(t => t.Valor); rubricaOUT.LookupNumericField4 = DebitsList.Where(t => t.FluxoCaixa == rubricaOUT.Codigo && t.DataTransacao.Month == 4).Sum(t => t.Valor); rubricaOUT.LookupNumericField5 = DebitsList.Where(t => t.FluxoCaixa == rubricaOUT.Codigo && t.DataTransacao.Month == 5).Sum(t => t.Valor); rubricaOUT.LookupNumericField6 = DebitsList.Where(t => t.FluxoCaixa == rubricaOUT.Codigo && t.DataTransacao.Month == 6).Sum(t => t.Valor); rubricaOUT.LookupNumericField7 = DebitsList.Where(t => t.FluxoCaixa == rubricaOUT.Codigo && t.DataTransacao.Month == 7).Sum(t => t.Valor); rubricaOUT.LookupNumericField8 = DebitsList.Where(t => t.FluxoCaixa == rubricaOUT.Codigo && t.DataTransacao.Month == 8).Sum(t => t.Valor); rubricaOUT.LookupNumericField9 = DebitsList.Where(t => t.FluxoCaixa == rubricaOUT.Codigo && t.DataTransacao.Month == 9).Sum(t => t.Valor); rubricaOUT.LookupNumericField10 = DebitsList.Where(t => t.FluxoCaixa == rubricaOUT.Codigo && t.DataTransacao.Month == 10).Sum(t => t.Valor); rubricaOUT.LookupNumericField11 = DebitsList.Where(t => t.FluxoCaixa == rubricaOUT.Codigo && t.DataTransacao.Month == 11).Sum(t => t.Valor); rubricaOUT.LookupNumericField12 = DebitsList.Where(t => t.FluxoCaixa == rubricaOUT.Codigo && t.DataTransacao.Month == 12).Sum(t => t.Valor); foreach (var subGroupOUT in RubricasList.Where(t => t.RubricaID == rubricaOUT.Codigo).ToList()) { rubricaOUT.LookupNumericField1 += DebitsList.Where(t => t.FluxoCaixa == subGroupOUT.Codigo && t.DataTransacao.Month == 1).Sum(t => t.Valor); rubricaOUT.LookupNumericField2 += DebitsList.Where(t => t.FluxoCaixa == subGroupOUT.Codigo && t.DataTransacao.Month == 2).Sum(t => t.Valor); rubricaOUT.LookupNumericField3 += DebitsList.Where(t => t.FluxoCaixa == subGroupOUT.Codigo && t.DataTransacao.Month == 3).Sum(t => t.Valor); rubricaOUT.LookupNumericField4 += DebitsList.Where(t => t.FluxoCaixa == subGroupOUT.Codigo && t.DataTransacao.Month == 4).Sum(t => t.Valor); rubricaOUT.LookupNumericField5 += DebitsList.Where(t => t.FluxoCaixa == subGroupOUT.Codigo && t.DataTransacao.Month == 5).Sum(t => t.Valor); rubricaOUT.LookupNumericField6 += DebitsList.Where(t => t.FluxoCaixa == subGroupOUT.Codigo && t.DataTransacao.Month == 6).Sum(t => t.Valor); rubricaOUT.LookupNumericField7 += DebitsList.Where(t => t.FluxoCaixa == subGroupOUT.Codigo && t.DataTransacao.Month == 7).Sum(t => t.Valor); rubricaOUT.LookupNumericField8 += DebitsList.Where(t => t.FluxoCaixa == subGroupOUT.Codigo && t.DataTransacao.Month == 8).Sum(t => t.Valor); rubricaOUT.LookupNumericField9 += DebitsList.Where(t => t.FluxoCaixa == subGroupOUT.Codigo && t.DataTransacao.Month == 9).Sum(t => t.Valor); rubricaOUT.LookupNumericField10 += DebitsList.Where(t => t.FluxoCaixa == subGroupOUT.Codigo && t.DataTransacao.Month == 10).Sum(t => t.Valor); rubricaOUT.LookupNumericField11 += DebitsList.Where(t => t.FluxoCaixa == subGroupOUT.Codigo && t.DataTransacao.Month == 11).Sum(t => t.Valor); rubricaOUT.LookupNumericField12 += DebitsList.Where(t => t.FluxoCaixa == subGroupOUT.Codigo && t.DataTransacao.Month == 12).Sum(t => t.Valor); foreach (var subtItemGroup in RubricasList.Where(t => t.RubricaID == subGroupOUT.Codigo).ToList()) { rubricaOUT.LookupNumericField1 += DebitsList.Where(t => t.FluxoCaixa == subtItemGroup.Codigo && t.DataTransacao.Month == 1).Sum(t => t.Valor); rubricaOUT.LookupNumericField2 += DebitsList.Where(t => t.FluxoCaixa == subtItemGroup.Codigo && t.DataTransacao.Month == 2).Sum(t => t.Valor); rubricaOUT.LookupNumericField3 += DebitsList.Where(t => t.FluxoCaixa == subtItemGroup.Codigo && t.DataTransacao.Month == 3).Sum(t => t.Valor); rubricaOUT.LookupNumericField4 += DebitsList.Where(t => t.FluxoCaixa == subtItemGroup.Codigo && t.DataTransacao.Month == 4).Sum(t => t.Valor); rubricaOUT.LookupNumericField5 += DebitsList.Where(t => t.FluxoCaixa == subtItemGroup.Codigo && t.DataTransacao.Month == 5).Sum(t => t.Valor); rubricaOUT.LookupNumericField6 += DebitsList.Where(t => t.FluxoCaixa == subtItemGroup.Codigo && t.DataTransacao.Month == 6).Sum(t => t.Valor); rubricaOUT.LookupNumericField7 += DebitsList.Where(t => t.FluxoCaixa == subtItemGroup.Codigo && t.DataTransacao.Month == 7).Sum(t => t.Valor); rubricaOUT.LookupNumericField8 += DebitsList.Where(t => t.FluxoCaixa == subtItemGroup.Codigo && t.DataTransacao.Month == 8).Sum(t => t.Valor); rubricaOUT.LookupNumericField9 += DebitsList.Where(t => t.FluxoCaixa == subtItemGroup.Codigo && t.DataTransacao.Month == 9).Sum(t => t.Valor); rubricaOUT.LookupNumericField10 += DebitsList.Where(t => t.FluxoCaixa == subtItemGroup.Codigo && t.DataTransacao.Month == 10).Sum(t => t.Valor); rubricaOUT.LookupNumericField11 += DebitsList.Where(t => t.FluxoCaixa == subtItemGroup.Codigo && t.DataTransacao.Month == 11).Sum(t => t.Valor); rubricaOUT.LookupNumericField12 += DebitsList.Where(t => t.FluxoCaixa == subtItemGroup.Codigo && t.DataTransacao.Month == 12).Sum(t => t.Valor); } } PaymentsList.Add(rubricaOUT); } return(new Tuple <List <RubricaDTO>, List <RubricaDTO> >(ReceiptsList, PaymentsList)); }