// Calcul des soldes opérations pour une série d'opérations et une série de comte banque
        public void EnrichirAvecSoldeArchivable(IEnumerable<Budget> budgets)
        {
            // Reset solde opérations
            budgets.ToList().ForEach(c => c.SoldeOperationArchivables = 0.0M);
            budgets.ToList().ForEach(c => c.SoldeFinancementArchivables = 0.0M);
            budgets.ToList().ForEach(c => c.SoldeProvisionArchivables = 0.0M);
            budgets.ToList().ForEach(c => c.SoldeArchivable = 0.0M);

            // Contrats
            var s1 = new BudgetContratEnrichisseur(uow, groupeId);
            s1.EnrichirAvecNbContrats(budgets);

            // Inputs: opérations
            FacadeRepo facade = new FacadeRepo(uow, groupeId);
            InputSoldeBudgets inputs = facade.InputSoldeArchivableBudgets(dateLimiteArchivage);

            // Enrichissement solde des opérations
            var enrichisseur = new BudgetSoldeOperationArchivableEnrichisseur();
            enrichisseur.Executer(inputs, budgets);

            // Enrichissement solde archive
            foreach (var budget in budgets)
            {
                budget.EnrichirAvecSoldeArchivable();
            }
        }
示例#2
0
        public IQueryable<Budget> BudgetReservesAvecSoldesCalcules()
        {
            // Budgets réserve
            IEnumerable<Budget> _budgets = uow.Budget
                .GetAllByGroupeId(ProfileUser.GroupeId)
                .Where(b => b.IsActive == true)
                .Where(b => b.IsBudgetEquilibre == true || b.TypeNonAlloue == true)
                .ToList()
                ;

            // Récupération des budgets avec compteurs
            var s0 = new BudgetContratEnrichisseur(uow, ProfileUser.GroupeId);
            s0.EnrichirAvecNbContrats(_budgets);

            // Récupération des budgets avec compteurs
            DateTime _dateArchivage = DateTime.Now;
            var svcDate = new ServiceDate();
            DateTime _limite = svcDate.DateLimite(_dateArchivage);
            var service = new BudgetSoldeCalculeAvecArchiveServices(uow, ProfileUser.GroupeId, _dateArchivage, _limite);
            service.EnrichirAvecSoldeCalculeAvecArchive(_budgets);

            return _budgets.AsQueryable<Budget>();
        }
示例#3
0
        public RapportAuditSoldeDtoJSon GetRapportAuditSolde(int _GroupeId)
        {
            // Comptes caisses et budegts
            // Comptes banque
            IEnumerable<CompteBanque> _comptes = uow.CompteBanque
                .GetAllByGroupeId(_GroupeId)
                .Include(x => x.Banque)
                .ToList()
                ;

            // Calcul date archivage
            DateTime _dateArchivage = DateTime.Now;
            var svcDate = new ServiceDate();
            DateTime _limite = svcDate.DateLimite(_dateArchivage);

            // Création du service
            var service = new CompteBanqueSoldeCalculeAvecArchiveServices(uow, _GroupeId
                , _dateArchivage, _limite);

            // Récupération des budgets avec compteurs
            service.EnrichirAvecSoldeCalculeAvecArchive(_comptes);
            var s20 = new CompteBanqueRawSoldeCalculeServices(uow, _GroupeId);
            s20.EnrichirAvecSoldeCalcules(_comptes);

            // Caisses
            IEnumerable<Caisse> _caisses = uow.CompteCaisse
                .GetAllByGroupeId(_GroupeId)
                .ToList()
                ;
            var s2 = new CaisseSoldeCalculeAvecArchiveServices(uow, _GroupeId, _dateArchivage, _limite);
            s2.EnrichirAvecSoldeCalculeAvecArchive(_caisses);

            // Budgets
            IEnumerable<Budget> _budgets = uow.Budget
                .GetAllByGroupeId(_GroupeId)
                .ToList()
                ;
            // Enrichissement budgets avec solde Contrat calculés
            var s0 = new BudgetContratEnrichisseur(uow, _GroupeId);
            s0.EnrichirAvecNbContrats(_budgets);
            var s1 = new BudgetSoldeCalculeAvecArchiveServices(uow, _GroupeId, _dateArchivage, _limite);
            s1.EnrichirAvecSoldeCalculeAvecArchive(_budgets);

            // Retour
            return new RapportAuditSoldeDtoJSon(_comptes, _caisses, _budgets);
        }