예제 #1
0
        public sealed async override Task InitializeAsync()
        {
            _echeancierBusiness = new EcheancierBusiness();
            await _echeancierBusiness.Initialization;

            _banqueBusiness = new BanqueBusiness();
            await _banqueBusiness.Initialization;

            _compteBusiness = new CompteBusiness();
            await _compteBusiness.Initialization;

            await ChargerEcheancier();

            ListeCategorie = new CollectionViewSource {
                IsSourceGrouped = true
            };
            ListeCompteVirement = new CollectionViewSource {
                IsSourceGrouped = true
            };
            ListeCompteEcheancier = new CollectionViewSource {
                IsSourceGrouped = true
            };
            GenerateCategories();
            GenereMouvement();
            GenerePeriodicite();
            await GenereComptes();

            GridVirementVisible   = false;
            DateEcheancier        = DateUtils.GetMaintenant();
            DateLimiteEcheancier  = DateUtils.GetMaintenant();
            SelectedTypeMouvement = TypeMouvementListe[0];
            SelectedPeriodicite   = ListePeriodicite[0];
        }
예제 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public static async Task ReCreerFichierRoaming()
        {
            await DemarrageRoaming();


            var echeancierBusiess = new EcheancierBusiness();
            await echeancierBusiess.Initialization;

            _roamingEcheancier.ListeEcheancier = new List <Echeancier>(await echeancierBusiess.GetEcheancier());

            await SaveFile();
        }
예제 #3
0
        public sealed async override Task InitializeAsync()
        {
            _applicationBusiness = new ApplicationBusiness();
            await _applicationBusiness.Initialization;

            _categorieBusiness = new CategorieBusiness();
            await _categorieBusiness.Initialization;

            _banqueBusiness = new BanqueBusiness();
            await _banqueBusiness.Initialization;

            _compteBusiness = new CompteBusiness();
            await _compteBusiness.Initialization;

            _echeancierBusiness = new EcheancierBusiness();
            await _echeancierBusiness.Initialization;

            _mouvementBusiness = new MouvementBusiness();
            await _mouvementBusiness.Initialization;
        }
예제 #4
0
        public sealed override async Task InitializeAsync()
        {
            _mouvementBusiness = new MouvementBusiness();
            await _mouvementBusiness.Initialization;

            _compteBusiness = new CompteBusiness();
            await _compteBusiness.Initialization;

            _banqueBusiness = new BanqueBusiness();
            await _banqueBusiness.Initialization;

            _echeancierBusiness = new EcheancierBusiness();
            await _echeancierBusiness.Initialization;

            //PARTIE LISTE MOUVEMENT
            IsDateSoldeCompteVisible = (App.ModeApp == AppareilEnum.ModeAppareilPrincipal);
            DateSoldeCompte          = DateUtils.GetMaintenant();
            await RecompterPage(null);

            //PARTIE GESTION MOUVEMENT
            //préparation des données
            ListeCategorie = new CollectionViewSource {
                IsSourceGrouped = true
            };
            ListeCompteVirement = new CollectionViewSource {
                IsSourceGrouped = true
            };
            GenerateCategories();
            GenereMouvement();
            await GenereComptesVirement();

            GridNumeroVisible     = false;
            GridVirementVisible   = false;
            DateMouvement         = DateUtils.GetMaintenant();
            SelectedTypeMouvement = TypeMouvementListe[0];
        }
예제 #5
0
 /// <summary>
 /// Execute les échéanciers n'ayant pas été éxécuté depuis le dernier démarrage de l'appli
 /// </summary>
 /// <returns>la task</returns>
 public static async Task ControleEcheancier()
 {
     var echeancierBusiness = new EcheancierBusiness();
     await echeancierBusiness.Initialization;
     await echeancierBusiness.ExecuteEcheancier();
 }
예제 #6
0
        /// <summary>
        /// Met à jour le solde du compte en fonction de la date entrée
        /// </summary>
        /// <returns></returns>
        public async Task UpdateDateSoldeCompte()
        {
            //si on fait des prévisions dans le futur on doit prendre en compte les échéanciers
            if (DateSoldeCompte > DateTime.Today)
            {
                double rajouterAuSolde = 0;
                var    listeEcheancier = await _echeancierBusiness.GetEcheancier();

                ListeRajoutMouvement = new List <Mouvement>();
                var dateFictive = DateTime.Today;
                do
                {
                    if (listeEcheancier.Count(x => x.Date == dateFictive) > 0)
                    {
                        foreach (var echeancier in listeEcheancier.Where(x => x.Date == dateFictive))
                        {
                            if ((echeancier.IsDateLimite && echeancier.DateLimite < dateFictive.AddDays(1)) ||
                                !echeancier.IsDateLimite)
                            {
                                var mouv = new Mouvement
                                {
                                    Date                = new DateTime(dateFictive.Year, dateFictive.Month, dateFictive.Day, 0, 0, 0),
                                    Credit              = echeancier.Credit,
                                    Debit               = echeancier.Debit,
                                    Commentaire         = echeancier.Commentaire,
                                    IdCompte            = echeancier.IdCompte,
                                    IdType              = echeancier.IdType,
                                    IsPasse             = false,
                                    IdMouvementVirement = 0,
                                    IsTypePerso         = echeancier.IsTypePerso,
                                    Numero              = 0,
                                    ModeMouvement       = echeancier.ModeMouvement,
                                    Lock                = true
                                };
                                ListeRajoutMouvement.Add(mouv);
                                if (mouv.Debit > 0)
                                {
                                    rajouterAuSolde -= mouv.Debit;
                                }
                                if (mouv.Credit > 0)
                                {
                                    rajouterAuSolde += mouv.Credit;
                                }

                                echeancier.Date =
                                    EcheancierBusiness.GetNbJoursPeriodicite(
                                        (PeriodiciteEnum)echeancier.IdPeriodicite, echeancier.Date, echeancier.NbJours);
                            }
                        }
                    }

                    dateFictive = dateFictive.AddDays(1);
                } while (dateFictive <= DateSoldeCompte);

                await RecompterPage(ListeRajoutMouvement);
                await RecalculerSoldeCompte(rajouterAuSolde);
            }
            else
            {
                ListeRajoutMouvement.Clear();
                await RecompterPage(null);
                await RecalculerSoldeCompte(null);
            }
        }