示例#1
0
 /// <summary>
 /// Fill labels will appropriate main screen stats text
 /// </summary>
 private void displayMainScreenStats()
 {
     // TODO: This line of code loads data into the 'spendingRecordsDataSet.spendingRecords' table. You can move, or remove it, as needed.
     this.spendingRecordsTableAdapter.Fill(this.spendingRecordsDataSet.spendingRecords);
     spendingRecordsDataSetTableAdapters.spendingRecordsTableAdapter adapter = new spendingRecordsDataSetTableAdapters.spendingRecordsTableAdapter();
     try
     {
         lblTodaysDate.Text = "Today's date:" + DateTime.Now.ToString("d");
         DateTime earliest = (DateTime)adapter.EarliestRecordDate();
         lblFirstRecord.Text = "Date of first record:" + earliest.ToString("d");
         DateTime latest = (DateTime)adapter.LatestRecordDate();
         lblMostRecentRecord.Text     = "Date of most recent record:" + latest.ToString("d");
         lblDaysSinceFirstRecord.Text = "Days since first record:" + (latest - earliest).TotalDays;
         lblTotalNumberOfRecords.Text = "Total number of records:" + adapter.NumberOfRecords();
         decimal max = (decimal)adapter.MaxAmount();
         lblHighestRecord.Text = "Highest record:" + max.ToString("c");
         decimal average = (decimal)adapter.AverageAmount();
         lblAverageAmount.Text = "Average amount:" + average.ToString("c");
         decimal largestByStore = (decimal)adapter.LargestStoreAmount();
         lblLargestTotalRetailer.Text = "Largest total at one retailer:" + largestByStore.ToString("c") + " (" + adapter.LargestStoreAmountString() + ")";
         decimal largestByType = (decimal)adapter.LargestTypeAmount();
         lblLargestTotalType.Text       = "Largest total of one type:" + largestByType.ToString("c") + " (" + adapter.LargestTypeAmountString() + ")";
         lblStoreWithMostPurchases.Text = "Store with most purchases:" + adapter.StoreWithMostPurchases() + " (" + adapter.MostPurchasesByStore() + ")";
     }
     catch (Exception ex)
     {
         MessageBox.Show("Please add a record to view statistics");
     }
 }
示例#2
0
        /// <summary>
        /// Get record ID and delete it from the database
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnDelete_Click(object sender, EventArgs e)
        {
            int id = int.Parse(txtId.Text);

            spendingRecordsDataSetTableAdapters.spendingRecordsTableAdapter adapter = new spendingRecordsDataSetTableAdapters.spendingRecordsTableAdapter();
            adapter.DeleteRecord(id);

            this.spendingRecordsTableAdapter.Fill(this.spendingRecordsDataSet.spendingRecords);
        }
示例#3
0
        /// <summary>
        /// Get information from all text boxes and update the record
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            int      id       = int.Parse(txtId.Text);
            DateTime dateTime = dateTimePicker.Value.Date;
            double   amount   = Double.Parse(txtAmount.Text);
            String   type     = txtType.Text;
            String   store    = txtStore.Text;

            spendingRecordsDataSetTableAdapters.spendingRecordsTableAdapter adapter = new spendingRecordsDataSetTableAdapters.spendingRecordsTableAdapter();
            adapter.UpdateRecord(dateTime, (decimal)amount, type, store, id);
            this.spendingRecordsTableAdapter.Fill(this.spendingRecordsDataSet.spendingRecords);
        }
示例#4
0
        /// <summary>
        /// Export spending records to a text file at the location of the user's choice
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnExportData_Click(object sender, EventArgs e)
        {
            saveFileDialog.Filter   = "Text File | *.txt";
            saveFileDialog.FileName = "Spending Output.txt";
            String path;

            if (saveFileDialog.ShowDialog() == DialogResult.OK)
            {
                path = saveFileDialog.FileName;

                TextWriter writer = new StreamWriter(path);

                this.spendingRecordsTableAdapter.Fill(this.spendingRecordsDataSet.spendingRecords);
                spendingRecordsDataSetTableAdapters.spendingRecordsTableAdapter adapter = new spendingRecordsDataSetTableAdapters.spendingRecordsTableAdapter();

                writer.WriteLine("Today's date:" + DateTime.Now.ToString("d"));
                DateTime earliest = (DateTime)adapter.EarliestRecordDate();
                writer.WriteLine("Date of first record:" + earliest.ToString("d"));
                DateTime latest = (DateTime)adapter.LatestRecordDate();
                writer.WriteLine("Date of most recent record:" + latest.ToString("d"));
                writer.WriteLine("Days since first record:" + (latest - earliest).TotalDays);
                writer.WriteLine("Total number of records:" + adapter.NumberOfRecords());
                decimal max = (decimal)adapter.MaxAmount();
                writer.WriteLine("Highest record:" + max.ToString("c"));
                decimal average = (decimal)adapter.AverageAmount();
                writer.WriteLine("Average amount:" + average.ToString("c"));
                decimal largestByStore = (decimal)adapter.LargestStoreAmount();
                writer.WriteLine("Largest total at one retailer:" + largestByStore.ToString("c") + " (" + adapter.LargestStoreAmountString() + ")");
                decimal largestByType = (decimal)adapter.LargestTypeAmount();
                writer.WriteLine("Largest total of one type:" + largestByType.ToString("c") + " (" + adapter.LargestTypeAmountString() + ")");
                writer.WriteLine("Store with most purchases:" + adapter.StoreWithMostPurchases() + " (" + adapter.MostPurchasesByStore() + ")");
                writer.WriteLine();

                for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
                {
                    for (int j = 0; j < dataGridView1.Columns.Count; j++)
                    {
                        writer.Write("\t" + dataGridView1.Rows[i].Cells[j].Value.ToString() + "\t" + "|");
                    }
                    writer.WriteLine();
                }
                writer.Close();
            }
        }
示例#5
0
        /// <summary>
        /// Add record to database
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAddRecord_Click(object sender, EventArgs e)
        {
            DateTime dateTime = dateTimePicker.Value.Date;
            double   amount   = 0;
            bool     result   = double.TryParse(txtAmount.Text, out amount);

            if (!result)
            {
                MessageBox.Show("Record could not be added due to invalid amount");
                return;
            }
            String store = cboStoreName.SelectedItem.ToString();
            String type  = cboPurchaseType.SelectedItem.ToString();

            spendingRecordsDataSetTableAdapters.spendingRecordsTableAdapter adapter = new spendingRecordsDataSetTableAdapters.spendingRecordsTableAdapter();
            adapter.AddSpendingRecord(dateTime, (decimal)amount, type, store);

            lblStatus.Text = "record added with type " + type + " for " + amount.ToString("c");
        }
 private void View_Store_Totals_Load(object sender, EventArgs e)
 {
     // TODO: This line of code loads data into the 'spendingRecordsDataSet1.spendingRecords' table. You can move, or remove it, as needed.
     spendingRecordsDataSetTableAdapters.spendingRecordsTableAdapter adapter = new spendingRecordsDataSetTableAdapters.spendingRecordsTableAdapter();
     this.spendingRecordsTableAdapter.Fill(this.spendingRecordsDataSet1.spendingRecords);
 }