// Création d'une échéance à partir de la définition du contrat échéanciers private EcheanceContrat CreateEcheanceFromContratEcheancier( int index, Contrat _contrat, PeriodeContrat _periodeUneEcheance) { // Attibuts var _Contrat = _contrat; var _ContratId = _Contrat.Id; // calcul de la date échéance var _DatePremiereEcheance = _contrat.DatePremiereEcheance; var _DateEcheanceMoment = _DatePremiereEcheance; // Init switch (_periodeUneEcheance.unite) { case "months": _DateEcheanceMoment = _DatePremiereEcheance .AddMonths(index * _periodeUneEcheance.nombre); break; case "weeks": _DateEcheanceMoment = _DatePremiereEcheance .AddDays(index * _periodeUneEcheance.nombre * 7); break; default: break; } var _DateEcheance = _DateEcheanceMoment; var _libelleMois = String.Format("{0:D}", _DateEcheanceMoment); // _DateEcheanceMoment.format('YYYY-MMMM'); // Calcul du libellé var _Libelle = _libelleMois; //var _Libelle = _libelleMois.CharAt(0).toUpperCase() + _libelleMois.Slice(1); // Calcul du montant var _Montant = _contrat.MontantEcheance; // Compte et moyen de paiement var _Compte = _contrat.Compte; var _CompteId = _Compte.Id; var _MoyenPaiement = _contrat.MoyenPaiement; var _MoyenPaiementId = _MoyenPaiement.Id; var _IsCaisse = _contrat.IsCaisse; var _ConvertibleOperation = _contrat.ConvertibleOperation; var _EcheanceImputable = _contrat.EcheanceImputable; var _ABatcher = _contrat.ABatcher; // Commentaire var _dateFormattee = String.Format("{0:D}", DateTime.Now); var _Commentaire = "Echéance générée automatiquement le " + _dateFormattee; // Attention: Year et Month ne sont pas calculés ici. var echeance = new EcheanceContrat { Compte = _Compte , CompteId = _CompteId , ContratId = _ContratId , Contrat = _Contrat , MoyenPaiement = _MoyenPaiement , MoyenPaiementId = _MoyenPaiementId , Libelle = _Libelle , Montant = _Montant , DateEcheance = _DateEcheance , IsCaisse = _IsCaisse , ConvertibleOperation = _ConvertibleOperation , EcheanceImputable = _EcheanceImputable , Commentaire = _Commentaire , ABatcher = _ABatcher }; return echeance; }
// CalculerPeriodeUneEcheance private PeriodeContrat CalculerPeriodeUneEcheance() { var _periode = new PeriodeContrat { nombre = 0, unite = "months" }; switch (this.FrequenceEcheances) { case "Unique": _periode.nombre = 0; break; case "1 semaine": _periode.nombre = 1; _periode.unite = "weeks"; break; case "2 semaines": _periode.nombre = 2; _periode.unite = "weeks"; break; case "1 mois": _periode.nombre = 1; break; case "2 mois": _periode.nombre = 2; break; case "3 mois": _periode.nombre = 3; break; case "4 mois": _periode.nombre = 4; break; case "6 mois": _periode.nombre = 6; break; case "1 an": _periode.nombre = 12; break; default: break; }; return _periode; }