// Ctor public ChargementService(IArpagonUow _uow, CompteBanque _compte, Chargement __chargement, HttpPostedFileBase _file) { uow = _uow; chargement = __chargement; postedFile = _file; compte = _compte; }
// Constructor public RapprochementProcessus(IArpagonUow _uow, Chargement _chargement, int _groupeId, Groupe _groupe, string _userName) { uow = _uow; groupeId = _groupeId; groupe = _groupe; userName = _userName; chargement = _chargement; compteId = chargement.CompteId; // Init des props fabriqueSpec = this.MakeFabriqueSpec(compteId); }
public ActionResult Create(Chargement chargement, HttpPostedFileBase file) { // Groupeid int groupeId = ProfileUser.GroupeId; // Chargement du fichier avec validation et chargement des raws var p1 = new ChargementProcessus(uow, groupeId, chargement, file); p1.Executer(); // Récupération des erreurs si elles existent p1.Erreurs().ToList() .ForEach(e => ModelState.AddModelError("DateValeur", e)); // Si pas d'erreurs, on procède au processus de rapprochement if (ModelState.IsValid) { if (chargement.AvecRappro == true) { // Processus de chargement var _groupeId = ProfileUser.GroupeId; var _groupe = ProfileUser.Groupe; var _userName = ProfileUser.UserName; var p2 = new RapprochementProcessus(uow, chargement, _groupeId, _groupe, _userName); p2.Executer(); // Retour index return Redirect("~/i16#Rappros/dernierRappro"); } else { // Retour Acqusistion return Redirect("~/i16#Comptes/detail/" + chargement.CompteId); } } CompteBanque compte = uow.CompteBanque.GetById(chargement.CompteId); chargement.Compte = compte; // Titre ViewBag.Titre = "Import de fichier bancaire"; // Retour erreur PopulateDropDownListForCreate(chargement.CompteId); return View(_ImportView, chargement); }
// Ctor public ChargementProcessus(IArpagonUow _uow, int _groupeId , Chargement __chargement, HttpPostedFileBase _file) { uow = _uow; groupeId = _groupeId; chargement = __chargement; postedFile = _file; // Compte du chargement compte = uow.CompteBanque .GetById(chargement.CompteId) ; SpecCandidateFabrique fabriqueSpec = this.MakeFabriqueSpec(compte.Id); rawEnrichisseur = new RawEnrichisseur(uow, fabriqueSpec); // Domain service serviceFichier = new ChargementService(uow, compte, chargement, postedFile); }
public ActionResult Create(int CompteId, bool AvecRappro) { // Titre ViewBag.Titre = "Import de fichier bancaire de la Société Générale"; // Model CompteBanque compte = uow.CompteBanque.GetById(CompteId); Chargement chargement = new Chargement { CompteId = CompteId , Compte = compte , AvecRappro = AvecRappro }; // Viewbag PopulateDropDownListForCreate(CompteId); // View return View(_ImportView, chargement); }
public HttpResponseMessage Post(PostedFile _postedFile) { var compteId = _postedFile.compteId; var postedFile = _postedFile.file; // Init chargement CompteBanque compte = uow.CompteBanque.GetById(compteId); Chargement chargement = new Chargement { CompteId = compteId, Compte = compte }; if (postedFile != null) { //{ //if (!Request.Content.IsMimeMultipartContent()) //{ // return StatusCode(HttpStatusCode.UnsupportedMediaType); //} //var filesReadToProvider = Request.Content.ReadAsFormDataAsync(); //foreach (var stream in filesReadToProvider.Result) //{ // var fileBytes = await stream.ReadAsByteArrayAsync(); //} // Posted file //HttpPostedFileBase postedFile = new HttpPostedFileWrapper(HttpContext.Current.Request.Files[0]); // Chargement du fichier avec validation et chargement des raws var p1 = new ChargementProcessus(uow, groupeId, chargement, postedFile); p1.Executer(); // Commit uow.Commit(); // Retour return new HttpResponseMessage(HttpStatusCode.Created); } return new HttpResponseMessage(HttpStatusCode.NoContent); }
// Metre à jour solde raw du compte banque private void UpdateCompteBanqueSoldeRaw(Chargement _chargement) { _chargement.Compte.SoldeRaw = _chargement.SoldeRaw; }
// EnrichirRawsAvecSpecCandidates private IEnumerable<OperationRawSG> EnrichirRawsAvecSpecCandidates(Chargement chargement) { //// Récupération des raws du référentiel des rappros pour le compte associé au chargement IQueryable<RapproRaw> referentielRappros = uow.RapproRaw.GetAll() .Include(r => r.RawSG) .Include(r => r.Operation.CompteB) .Include(r => r.Operation.MoyenPaiementCompteA) .Include(r => r.Operation.MoyenPaiementCompteB) .Where(r => r.RawSG.CompteId == chargement.CompteId) .Where(r => r.Operation.CompteB.IsActive == true) ; // Raws non rapprochées - Pas seulement celles du dernier chargement IList<OperationRawSG> rawsNonRapprochees = uow.OperationRawSG .GetAllRapprochablesByGroupeId(groupeId) .OrderBy(r => r.Valorisee) .ToList() ; // Il faut ramener les contrats des budgets avant de travailler sur les raws IEnumerable<Budget> budgets = uow.Budget .GetAllByGroupeId(groupeId) .ToList() ; BudgetContratEnrichisseur budgetContratService = new BudgetContratEnrichisseur(uow, groupeId); IEnumerable<Budget> _budgetAvecContrats = budgetContratService .EnrichirAvecContratsActifs(budgets); // Enrichissement avec budgets ou caisses pour toutes les raws du groupe non rapprochées return rawEnrichisseur.EnrichirAvecSpecCandidates(rawsNonRapprochees, referentielRappros); }
// Enrichir les raws private ICollection<OperationRawSG> EnrichirRaws(Chargement chargement) { // Enrichissement des raws : Production des tiers, typesPaiement, motifs, etc.. return rawEnrichisseur.Enrichir(chargement.OperationRaws); }