Beispiel #1
0
        ////  End   Contact Tracing //////
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                //dataGridView1.DataSource = null;
                //dataGridView1.Rows.Clear();

                //dataGridView2.ColumnCount = 4;

                //dataGridView1.Columns[0].Name = "Date";
                //dataGridView1.Columns[1].Name = "Year";
                //dataGridView1.Columns[2].Name = "Month";
                //dataGridView1.Columns[3].Name = "Ammount";

                //DateTime dt = DateTime.Today;
                Database db = new Database();
// Group dapat
                //String query1 = "SELECT Date , YEAR(Date) ,MONTH(Date) ,DAY(Date) FROM bookingdb.tblbookedseats ";

                String query1 = "SELECT Date,YEAR(Date) AS Year, MONTH(Date) AS Month, SUM(Ammount) AS 'Total Ammount' FROM tbltransaction GROUP BY MONTH(Date) ORDER BY Date DESC";

                db.conn.Open();
                ArrayList AL = new ArrayList();

                MySqlCommand     command1 = new MySqlCommand(query1, db.conn);
                MySqlDataAdapter da       = new MySqlDataAdapter(command1);

                DataTable tb = new DataTable();
                da.Fill(tb);

                DataTable dtCloned = tb.Clone();
                dtCloned.Columns[0].DataType = typeof(string);
                dtCloned.Columns[1].DataType = typeof(Int32);
                dtCloned.Columns[2].DataType = typeof(Int32);
                dtCloned.Columns[3].DataType = typeof(Int32);



                foreach (DataRow row in tb.Rows)
                {
                    dtCloned.ImportRow(row);
                }
                dtCloned.Columns[1].ColumnName = "Year";
                dtCloned.Columns[2].ColumnName = "Month";
                dtCloned.Columns[3].ColumnName = "Ammount";

                list.Clear();
                for (int i = 1; i < dtCloned.Rows.Count; i++)
                {
                    lvSalesReport sales = new lvSalesReport();
                    sales.Date    = dtCloned.Rows[i][0].ToString();
                    sales.Year    = int.Parse(dtCloned.Rows[i][1].ToString());
                    sales.Month   = int.Parse(dtCloned.Rows[i][2].ToString());
                    sales.Ammount = int.Parse(dtCloned.Rows[i][3].ToString());
                    list.Add(sales);
                }

                dataGridView2.DataSource = list;
                dataGridView2.Refresh();

                //list = (from DataRow dr in dtCloned.Rows
                //               select new lvSalesReport()
                //               {
                //                   Date = dr["Date"].ToString(),
                //                   Year = Convert.ToInt32(dr["Year"]),
                //                   Month = Convert.ToInt32(dr["Month"]),
                //                   Day = Convert.ToInt32(dr["Day"])
                //               }).ToList();



                //MySqlDataReader reader = command1.ExecuteReader();
                //while (reader.Read())
                //{
                //    AL = new ArrayList();
                //    AL.Add(reader[0].ToString());
                //    AL.Add(int.Parse(reader[1].ToString()));
                //    AL.Add(int.Parse(reader[2].ToString()));
                //    AL.Add(int.Parse(reader[3].ToString()));
                //    dataGridView2.Rows.Add(AL.ToArray());

                //}
                //reader.Close();
                command1.Dispose();

                //dataGridView2.AutoResizeColumns();
                //dataGridView2.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
                db.conn.Close();


                if (dataGridView2.Rows.Count == 0 || dataGridView2.Rows == null)
                {
                    MessageBox.Show("No Result Found");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Beispiel #2
0
        public void LoadChart()
        {
            lvSalesReportBindingSource.DataSource = list;
            cartesianChart1.AxisX.Add(new LiveCharts.Wpf.Axis
            {
                Title  = "Month",
                Labels = new[] { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }
            });
            cartesianChart1.AxisY.Add(new LiveCharts.Wpf.Axis
            {
                Title          = "Revenue",
                LabelFormatter = value => value.ToString("C")
            });
            cartesianChart1.LegendLocation = LiveCharts.LegendLocation.Right;

            ///////////////////
            try
            {
                Database db     = new Database();
                String   query1 = "SELECT Date,YEAR(Date) AS Year, MONTH(Date) AS Month, SUM(Ammount) AS 'Total Ammount' FROM tbltransaction GROUP BY DATE_FORMAT(Date, '%m.%Y') ORDER BY Date DESC";

                db.conn.Open();
                ArrayList AL = new ArrayList();

                MySqlCommand     command1 = new MySqlCommand(query1, db.conn);
                MySqlDataAdapter da       = new MySqlDataAdapter(command1);

                DataTable tb = new DataTable();
                da.Fill(tb);

                DataTable dtCloned = tb.Clone();
                dtCloned.Columns[0].DataType = typeof(string);
                dtCloned.Columns[1].DataType = typeof(Int32);
                dtCloned.Columns[2].DataType = typeof(Int32);
                dtCloned.Columns[3].DataType = typeof(Int32);



                foreach (DataRow row in tb.Rows)
                {
                    dtCloned.ImportRow(row);
                }
                dtCloned.Columns[1].ColumnName = "Year";
                dtCloned.Columns[2].ColumnName = "Month";
                dtCloned.Columns[3].ColumnName = "Ammount";

                list.Clear();
                for (int i = 0; i < dtCloned.Rows.Count; i++)
                {
                    lvSalesReport sales = new lvSalesReport();
                    sales.Date    = dtCloned.Rows[i][0].ToString();
                    sales.Year    = int.Parse(dtCloned.Rows[i][1].ToString());
                    sales.Month   = int.Parse(dtCloned.Rows[i][2].ToString());
                    sales.Ammount = int.Parse(dtCloned.Rows[i][3].ToString());
                    list.Add(sales);
                }

                command1.Dispose();
                db.conn.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }


            //////////////////////////////////

            cartesianChart1.Series.Clear();
            SeriesCollection series = new SeriesCollection();
            var years = (from o in lvSalesReportBindingSource.DataSource as List <lvSalesReport>
                         select new { Year = o.Year }).Distinct();

            foreach (var year in years)
            {
                List <double> values = new List <double>();
                for (int month = 1; month <= 12; month++)
                {
                    double value = 0;
                    var    data  = from o in lvSalesReportBindingSource.DataSource as List <lvSalesReport>
                                   where o.Year.Equals(year.Year) && o.Month.Equals(month)
                                   orderby o.Month ascending
                                   select new { o.Ammount, o.Month };
                    if (data.SingleOrDefault() != null)
                    {
                        value = data.SingleOrDefault().Ammount;
                    }
                    values.Add(value);
                }
                series.Add(new LineSeries()
                {
                    Title = year.Year.ToString(), Values = new ChartValues <double>(values)
                });
            }
            cartesianChart1.Series = series;
        }