예제 #1
0
        // 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;
        }
예제 #2
0
        // 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;
        }