Ejemplo n.º 1
0
        private async void button2_Click(object sender, EventArgs e)
        {
            var     ds     = new MonthlyReportDS();
            var     cmd    = DBConn.CreateCommand();
            var     i      = 1;
            decimal income = 0;
            decimal cost   = 0;
            decimal rate   = 0;

            cmd.CommandText = "SELECT date, name, SUM(size*qty/1000), SUM(size*qty*price/1000), SUM(size*qty*buyingPrice/1000) FROM (receipt INNER JOIN resorder ON receipt.resID = resorder.resID) INNER JOIN cashew ON resorder.cashID = cashew.cashID WHERE MONTH(date) = @month AND YEAR(date) = @year AND goodStatus = 2 GROUP BY date, name";
            cmd.Parameters.AddWithValue("@month", dtpMonth.Value.Month);
            cmd.Parameters.AddWithValue("@year", dtpMonth.Value.Year);
            var reader = await cmd.ExecuteReaderAsync();

            while (await reader.ReadAsync())
            {
                if (reader.GetValue(2) is DBNull)
                {
                    MessageBox.Show("No records found for this month", "No data", MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);
                    reader.Dispose();
                    return;
                }

                DataRow dr = ds.Tables["Monthly Bank Cashew"].NewRow();
                dr["Index"]       = i++;
                dr["Date"]        = reader.GetFieldValue <DateTime>(0).ToString("dd dddd");
                dr["Cashew"]      = reader.GetFieldValue <string>(1);
                dr["QTY"]         = Math.Round(reader.GetFieldValue <decimal>(2), 2) + "Kg";
                dr["Income"]      = "Rs. " + Math.Round(reader.GetFieldValue <decimal>(3), 2);
                dr["Cost"]        = "Rs. " + Math.Round(reader.GetFieldValue <decimal>(4), 2);
                dr["Profit_Rate"] = Math.Round(((reader.GetFieldValue <decimal>(3) - reader.GetFieldValue <decimal>(4)) / reader.GetFieldValue <decimal>(3)) * 100) + "%";
                ds.Tables["Monthly Bank Cashew"].Rows.Add(dr);

                income += reader.GetFieldValue <decimal>(3);
                cost   += reader.GetFieldValue <decimal>(4);
            }

            rate = ((income - cost) / income) * 100;

            var model = new MonthlyBankCashewModel()
            {
                date   = dtpDate.Value,
                income = Math.Round(income, 2),
                cost   = Math.Round(cost, 2),
                profit = Math.Round(income - cost, 2),
                rate   = Math.Round(rate, 2)
            };

            reader.Dispose();

            dataGridView1.DataSource = ds.Tables["Monthly Bank Cashew"];
            var frm = new Monthly_Bank_Cashew(ds, model);

            frm.Show();
        }
Ejemplo n.º 2
0
 public Monthly_Bank_Cashew(MonthlyReportDS ds, MonthlyBankCashewModel model)
 {
     this.ds    = ds;
     this.model = model;
     InitializeComponent();
 }