コード例 #1
0
        /// <summary>
        /// 指定された年月の家計データを返す。
        /// </summary>
        /// <param name="month"></param>
        /// <returns></returns>
        public MonthlyData GetMonthlyData(DateTime month)
        {
            MonthlyData data = new MonthlyData();
            data.month = month;
            data.spendings = new List<Payments>();
            data.existSpendingData = false;
            data.incomes = new List<Payments>();
            data.existIncomeData = false;
            data.commentSplitCharacter = this.GetCommentSplitCharacter();

            int nKindOfSpending = this.GetNumberOfKindOfSpendings();
            string[] kindOfSpendingList = this.GetKindOfSpendingList();
            for (int iKindOfSpending = 0; iKindOfSpending < nKindOfSpending; iKindOfSpending++)
            {
                List<Payment> paymentList = new List<Payment>();

                _command.CommandText = @"select * from 支出";
                _command.CommandText += @" where 年月='" + month.ToString("yyyy/MM") + @"'";
                _command.CommandText += @" and 費用項目ID=" + (iKindOfSpending + 1);
                using (SQLiteDataReader reader = _command.ExecuteReader())
                {
                    while (reader.Read() == true)
                    {
                        paymentList.Add(new Payment(int.Parse(reader["金額"].ToString()), reader["説明"].ToString()));
                    }
                }

                if (paymentList.Count > 0)
                {
                    data.spendings.Add(new Payments(kindOfSpendingList[iKindOfSpending], paymentList));
                    data.existSpendingData = true;
                }
                else
                {
                    data.spendings.Add(new Payments(kindOfSpendingList[iKindOfSpending], null));
                }
            }

            int nKindOfIncome = this.GetNumberOfKindOfIncomes();
            string[] kindOfIncomeList = this.GetKindOfIncomeList();
            for (int iKindOfIncome = 0; iKindOfIncome < nKindOfIncome; iKindOfIncome++)
            {
                List<Payment> paymentList = new List<Payment>();

                _command.CommandText = @"select * from 収入";
                _command.CommandText += @" where 年月='" + month.ToString("yyyy/MM") + @"'";
                _command.CommandText += @" and 費用項目ID=" + (iKindOfIncome + 1);
                using (SQLiteDataReader reader = _command.ExecuteReader())
                {
                    while (reader.Read() == true)
                    {
                        paymentList.Add(new Payment(int.Parse(reader["金額"].ToString()), reader["説明"].ToString()));
                    }
                }

                if (paymentList.Count > 0)
                {
                    data.incomes.Add(new Payments(kindOfIncomeList[iKindOfIncome], paymentList));
                    data.existIncomeData = true;
                }
                else
                {
                    data.incomes.Add(new Payments(kindOfIncomeList[iKindOfIncome], null));
                }
            }

            return data;
        }
コード例 #2
0
        /// <summary>
        /// 指定された月の家計簿データを表示する。
        /// </summary>
        /// <param name="month"></param>
        private void DrawMonthlyData(DateTime month)
        {
            // 初期設定情報に記載された月の家計簿データをDBから読み込む。
            _monthlyData = _dataManager.GetMonthlyData(month);

            _isMenuOpened = false;

            int nKind = 0;
            switch (_spendingOrIncome)
            {
                case 0: // 支出
                    _kindOfAmountList = _dataManager.GetKindOfSpendingList();
                    nKind = _dataManager.GetNumberOfKindOfSpendings();
                    break;
                case 1: // 収入
                    _kindOfAmountList = _dataManager.GetKindOfIncomeList();
                    nKind = _dataManager.GetNumberOfKindOfIncomes();
                    break;
                default:
                    break;
            }

            _settings.month = month;

            this.listBox_AmountsDetail.Visible = false;
            this.SetTooltipProperties();
            this.SetButtonProperties();
        }