// Ctor
 public RapproWithOpeConvertieFromEcheanceAndMontantDifferentService(
     IArpagonUow _uow, RapproRawFabrique _fabrique, int _groupeId)
 {
     uow = _uow;
     groupeId = _groupeId;
     fabrique = _fabrique;
 }
        // Ctor
        public RapproWithOperationFrontloadedService(IArpagonUow _uow, RapproRawFabrique _fabrique)
        {
            uow = _uow;

            fabriqueSeuil = new SeuilRapproFabrique();
            fabrique = _fabrique;
            machine = new RawOperationMatchingMachine();
        }
        public RapproWithConversionToOperationService(IArpagonUow _uow
            , SpecCandidateFabrique _fabriqueSpec, OperationFabrique _fabriqueOperation, 
            RapproRawFabrique _fabriqueRapproRaw)
        {
            uow = _uow;

            fabriqueSpec = _fabriqueSpec;
            fabriqueRapproRaw = _fabriqueRapproRaw;
            fabriqueOperation = _fabriqueOperation;
        }
Esempio n. 4
0
        public RapproRawService(IArpagonUow _uow
            , SpecCandidateFabrique _fabriqueSpec, OperationFabrique _opeFabrique, RapproRawFabrique _rapproRawFabrique, 
            int _groupeId)
        {
            uow = _uow;
            groupeId = _groupeId;

            fabriqueSpec = _fabriqueSpec;
            fabriqueOperation = _opeFabrique;
            fabriqueRapproRaw = _rapproRawFabrique;
        }
        // Exécution du rapprochement
        public void Executer()
        {
            // Enrichir rappros raws avec SpecCandidates
            this.EnrichirReferentielRapproRaws(compteId);

            // Rapprocher les raws (le commit a lieu dans le service)
            var rapproRawFabrique = new RapproRawFabrique(groupeId);
            var opeFabrique = new OperationFabrique(groupeId, groupe, userName);
            var s1 = new RapproRawService(uow, fabriqueSpec, opeFabrique, rapproRawFabrique, groupeId);
            var rapproRaws = s1.RapprocherRaws();

            // Récupérer les opés du groupe rapprochées ou non rapprochables, avec echeance et non rapprochées échéances
            var opes = uow.Operation.GetAllByGroupeId(groupeId)
                .Where(o => o.EtatId == 3 || o.EtatId == 2)
                .Where(o => o.AvecEcheance == true)
                .Where(o => o.RapproEcheance == false)
                .Where(o => o.AlloueeEcheance == true)
                ;

            // Récupérer le échéances du groupes non ralisées e non annulées
            var echeances = uow.EcheanceContrat.GetAllByGroupeId(groupeId)
                .Where(e => e.Realisee == false)
                .Where(e => e.Annulee == false)
                .Where(e => e.ConvertieOperation == true)
                ;

            // Rapprocher les échéances
            IEcheanceMatchingMachine machine = new EcheanceMatchingMachine();
            var s2 = new RapproEcheancesService(uow, groupeId, machine);
            var rapproEcheances = s2.RapprocherEcheances(opes, echeances);
            uow.Commit();

            // Ajout des rappros au contexte
            this.CommitRapproEcheances(rapproEcheances);

            // Rapprocher le chargement
            chargement.Rapprocher();

            // Tracer le processus
            this.TracerProcessus(rapproRaws);
        }