// Exécution du processus de provisionnement à date voulue private Boolean ExecuterProcessus(DateTime date) { // Init Boolean exec = false; // Tentative provision var service = new ProvisionServices(uow, groupeId); var traceur = new ProvisionTraceur(groupeId); if (service.VerifierPrerequis()) { // Exécuter provision var _fabrique = new ProvisionFabrique(uow, groupeId); var provision = _fabrique.creerProvision(date); // Ajout repo uow.Provision.Add(provision); // Trace execution int nbMouvs = 0; var mvts = new List<MouvementBudget>().AsQueryable<MouvementBudget>(); if (provision.Mouvements != null) { mvts = provision.Mouvements.AsQueryable<MouvementBudget>(); nbMouvs = provision.Mouvements.Count; } var rapportS = traceur.SaveForRapportSuccess(provision.DateSaisie, mvts); TraceLog trace = traceur.Success(date, nbMouvs, rapportS); // Ajout repo uow.TraceLog.Add(trace); // Succès exec = true; } else { //// Récupération du libellé de la provision //ServiceDate svc = new ServiceDate(); //string lib = "Provision du mois " // + svc.LibelleMoisInFrench(date.Month) // + " " // + date.Year; // Trace execution var rapport = traceur.SaveForRapportEchec(date); TraceLog trace = traceur.Echec(date, 0, rapport); // Ajout repo uow.TraceLog.Add(trace); }; // Retour return exec; }
// TracerProvisionsGroupe2 private void TracerProvisionsGroupe() { IQueryable<Provision> ps = context.Provision //.Where(o => o.Active == true) // non annulée //.Where(o => o.GroupeId == 2) // Groupe2 .OrderBy(o => o.DateMAJ) ; foreach (var prov in ps) { var mouvs = context.MouvementBudget .Where(m => m.ProvisionId == prov.Id) .Where(m => m.Budget.Libelle != null) ; // Création de la trace à partir de la provision DateTime dateCreation = new DateTime(prov.DateSaisie.Year, prov.DateSaisie.Month, 02); var traceur = new ProvisionTraceur(prov.GroupeId); var rapport1 = traceur.SaveForRapportSuccess(prov.DateSaisie, mouvs); int nb = mouvs.Count(); var trace = traceur.Success(dateCreation, nb, rapport1); // Ajout au context context.TraceLog.Add(trace); } }