예제 #1
0
        /// <summary>
        /// Enregistre les données du mois.
        /// </summary>
        /// <param name="month">Mois à sauvegarder.</param>
        /// <param name="year">Année à sauvegarder.</param>
        public void finalizeMonthDialogs(DateTime date)
        {
            List<MonthlySave> allMonthlySaves = getMonthlySaves();
            if (allMonthlySaves == null) // Si première save
            {
                allMonthlySaves = new List<MonthlySave>();
            }

            MonthlySave existingSave = MonthlySave.findMonthlySave(allMonthlySaves, date);
            if (existingSave == null) // Cas normal : Première sauvegarde pour le mois.
            {
                finalizeMonth(allMonthlySaves, date);
                MessageBox.Show(Const.MSG_FINALIZE, Const.MSG_TITLE_SAVE);
            }

            else //Si une save existe
            {
                // Si souhaite écraser
                if (MessageBox.Show(Const.MSG_REPLACE, Const.ERROR, MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    allMonthlySaves.Remove(existingSave);
                    finalizeMonth(allMonthlySaves, date);
                    MessageBox.Show(Const.MSG_REPLACE_YES, Const.MSG_TITLE_REPLACE, MessageBoxButtons.OK);
                }

                // Si ne souhaite pas écraser
                else
                {
                    MessageBox.Show(Const.MSG_REPLACE_NO, Const.MSG_TITLE_REPLACE, MessageBoxButtons.OK);
                }
            }
        }
예제 #2
0
 public bool deleteMonthlySave(DateTime monthToDelete)
 {
     List<MonthlySave> allSaves = getMonthlySaves();
     MonthlySave monthlySave = MonthlySave.findMonthlySave(allSaves, formatDate(monthToDelete));
     bool ok = allSaves.Remove(monthlySave);
     Serialise.Save(Const.FILE_MONTHLYRECAP, allSaves);
     return ok;
 }
예제 #3
0
        /// <summary>
        /// Charge les données dans le formulaire principal
        /// </summary>
        /// <param name="monthlySave"></param>
        public void loadMontlySave(DateTime dateToLoad)
        {
            MonthlySave monthlySave = MonthlySave.findMonthlySave(getMonthlySaves(), dateToLoad);

            data.allBudgets.Clear();
            data.allAccounts.Clear();
            foreach (Budget budget in monthlySave.allBudgets)
            {
                data.allBudgets.Add(budget);
                data.allAccounts.Add(budget.account);
            }
            frmMain.loadMonthlySave(monthlySave.Date);
        }
예제 #4
0
        public List<DataMonthlySave> dataMonthlySave(DateTime monthToLoad)
        {
            var allDataMonthlySave = new List<DataMonthlySave>();
            foreach (Budget budget in MonthlySave.findMonthlySave(getMonthlySaves(), monthToLoad).allBudgets)
            {
                allDataMonthlySave.Add(new DataMonthlySave(
                   accountName: budget.name,
                   expensesA: budget.account.userA.expenses,
                   expensesB: budget.account.userB.expenses));
            }

            return allDataMonthlySave;
        }
예제 #5
0
        /// <summary>
        /// Affiche la grille en fonction de l'option sélectionnée.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnOK_Click(object sender, EventArgs e)
        {
            DataAnalysis.Clear();
            DistinctBudget.Clear();

            MonthlySave saveRef = null;

            if (chkMonthRef.Checked)
            {
                List <MonthlySave> allMonthlySaves = controler.getMonthlySaves();
                saveRef = MonthlySave.findMonthlySave(allMonthlySaves, controler.formatDate(dtpDateRef.Value));
            }
            switch (cboAnalysisMode.SelectedIndex)
            {
            case 0: controler.sortBudgets(controler.formatDate(dtpDateStart.Value), controler.formatDate(dtpDateEnd.Value)); break;

            case 1: controler.sortBudgets(year: dtpYear.Value.Year); break;

            case 2: controler.sortBudgets(); break;
            }
            displayGrid(saveRef);
        }
예제 #6
0
 /// <summary>
 /// Vérifie si une date existe.
 /// </summary>
 /// <returns>True si une date est trouvée, false sinon.</returns>
 public bool checkForASave(DateTime date)
 {
     date = formatDate(date);
     return (MonthlySave.findMonthlySave(getMonthlySaves(), date) != null);
 }