예제 #1
0
        private async void btnDelete_Click(object sender, EventArgs e)
        {
            int parsedValue;

            if (!int.TryParse(Numbertxt.Text, out parsedValue))
            {
                MessageBox.Show("กรอกข้อมูลไม่ถูกต้อง กรุณาใส่ตัวเลข", "เกิดข้อผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            else
            {
                btnDelete.Enabled = false;
                //สำหรับเรียกค่า Income และ  Number เก่าใน firebase
                FirebaseResponse value_income = await client.GetTaskAsync($"Count for Income:{labelmonth.Text}/node/");

                //FirebaseResponse value_income = await client.GetTaskAsync("Count for income/node");
                Count_Income get_in = value_income.ResultAs <Count_Income>();

                var income = new IncomeTotal
                {
                    //รับค่า income-All มาและเมื่อกดปุ่ม นำไปบวกอีก -1 เสมอ จากนั้นก็แปลงให้อยู่ในรูปสตริง
                    Number = (Convert.ToInt32(get_in.income_All) - 1).ToString(),
                    Detail = detailtxt.Text, // รายการที่ได้รับ
                    Income = incometxt.Text, // จำนวนเงินของรายรับ
                };
                //สำหรับเรียกค่ารายลับและลำดับโดยการกำหนด

                FirebaseResponse response1 = await client.GetTaskAsync($"Income:{labelmonth.Text}/order" +
                                                                       Numbertxt.Text);

                IncomeTotal obj = response1.ResultAs <IncomeTotal>();
                Total_old   = 0;                                       //เซ็ตค่าให้ Total_old ให้เป็น 0 ทุกครั้งที่กดปุ่มบันทึก
                Total_old   = get_in.Total_income;                     //รับค่าจาก firebase เก็บไว้ใน Total_old
                Totalincome = Total_old - Convert.ToInt32(obj.Income); //obj.Income คือ เรียกค่ารายจ่ายที่จะลบ
                var obj_amount = new Count_Income
                {
                    income_All   = income.Number,
                    Total_income = Totalincome
                };
                SetResponse resincome2 = await client.SetTaskAsync($"Count for Income:{labelmonth.Text}/node/", obj_amount);

                //SetResponse resincome2 = await client.SetTaskAsync("Count for income/node", obj_amount);
                var obj_start = new start_Monthin
                {
                    //รับค่า income-All มาและเมื่อกดปุ่ม นำไปบวกอีก -1 เสมอ จากนั้นก็แปลงให้อยู่ในรูปสตริง
                    Number = obj_amount.income_All
                };
                //สำหรับเรียกค่ารายลับและลำดับโดยการกำหนด$"Start_in:{labelmonth.Text}/"
                SetResponse start = await client.SetTaskAsync($"Start_in:{labelmonth.Text}/", obj_start);

                //----------------------------------------------------------------
                int i = Convert.ToInt32(Numbertxt.Text);
                while (i <= Convert.ToInt32(obj_amount.income_All))
                {
                    //i++;
                    try
                    {
                        FirebaseResponse response_loop = await client.GetTaskAsync($"Income:{labelmonth.Text}/order" + (i + 1));

                        IncomeTotal obj_loop    = response_loop.ResultAs <IncomeTotal>();
                        var         income_loop = new IncomeTotal
                        {
                            Number = Convert.ToString(i),
                            Detail = obj_loop.Detail, // รายการที่ได้รับ
                            Income = obj_loop.Income, // จำนวนเงินของรายรับ
                        };
                        SetResponse resincome3 = await client.SetTaskAsync($"Income:{labelmonth.Text}/order" + i, income_loop);
                    }
                    catch
                    {
                    }
                    i++;
                }
                //ลบค่าสุดท้าย
                FirebaseResponse response2 = await client.DeleteTaskAsync($"Income:{labelmonth.Text}/order" +
                                                                          (Convert.ToInt32(obj_amount.income_All) + 1).ToString());

                MessageBox.Show("แก้ไขเรียบร้อย");
            }
        }
예제 #2
0
        private async void btn_finish_Click(object sender, EventArgs e)
        {
            int parsedValue;

            if (!int.TryParse(incometxt.Text, out parsedValue))
            {
                MessageBox.Show("กรอกข้อมูลไม่ถูกต้อง กรุณาใส่ตัวเลข", "เกิดข้อผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            else
            {
                FirebaseResponse value_in3 = await client.GetTaskAsync($"Start_in:{labelmonth.Text}/");

                start_Monthin get_in3 = value_in3.ResultAs <start_Monthin>();


                var node_in = new Count_Income
                {
                    income_All   = (Convert.ToInt32(get_in3.Number) + 1).ToString(),
                    Total_income = Totalincome
                };
                SetResponse node = await client.SetTaskAsync($"Count for Income:{labelmonth.Text}/node/",
                                                             node_in);

                FirebaseResponse value_in = await client.GetTaskAsync($"Count for Income:{labelmonth.Text}/node/");

                Count_Income get_in = value_in.ResultAs <Count_Income>();

                var income = new IncomeTotal
                {
                    //รับค่า income-All มาและเมื่อกดปุ่ม นำไปบวกอีก 1 เสมอ จากนั้นก็แปลงให้อยู่ในรูปสตริง
                    Number = node_in.income_All,
                    Detail = detailtxt.Text, // รายการที่ได้รับ
                    Income = incometxt.Text, // จำนวนเงินของรายรับ
                };
                SetResponse resincome = await client.SetTaskAsync($"Income:{labelmonth.Text}/order" +
                                                                  income.Number, income);

                IncomeTotal result = resincome.ResultAs <IncomeTotal>(); //เพิ่มเติม


                Total_old   = 0;                   //เซ็ตค่าให้ Total_old ให้เป็น 0 ทุกครั้งที่กดปุ่มบันทึก
                Total_old   = get_in.Total_income; //รับค่าจาก firebase เก็บไว้ใน Total_old
                Totalincome = Total_old + Convert.ToInt32(income.Income);
                //นำค่่าจาก Total_old บวกกับ เงินที่เราใส่ไป และนำไปเก็บไว้ใน Totalincome
                var obj_amount = new Count_Income
                {
                    income_All   = income.Number,
                    Total_income = Totalincome
                };
                SetResponse resincome2 = await client.SetTaskAsync($"Count for Income:{labelmonth.Text}/node/", obj_amount);

                MessageBox.Show("บันทึกเรียบร้อย");

                var obj_num = new start_Monthin
                {
                    Number = obj_amount.income_All
                };
                SetResponse node2 = await client.SetTaskAsync($"Start_in:{labelmonth.Text}/", obj_num);
            }
        }
예제 #3
0
        private async void button2_Click(object sender, EventArgs e)
        {//ปุุ่มกดดูรายงานรายรับ
            try
            {
                timer1.Interval = 1000;
                timer1.Start();
                button2.Enabled = false;
                //btnreflesh.Enabled = true;

                //สำหรับเรียกค่า Total_expense
                FirebaseResponse value_out = await client.GetTaskAsync($"Count for Totalexpense:{labelmonth.Text}/node");

                Count_Expense get_out = value_out.ResultAs <Count_Expense>();

                //สำหรับเรียกค่า Total_eat
                FirebaseResponse value_eat = await client.GetTaskAsync($"Count for eatexpense:{labelmonth.Text}/node");

                Count_eat get_eat = value_eat.ResultAs <Count_eat>();

                //สำหรับเรียกค่า Total_edu
                FirebaseResponse value_edu = await client.GetTaskAsync($"Count for eduexpense:{labelmonth.Text}/node");

                Count_edu get_edu = value_edu.ResultAs <Count_edu>();

                //สำหรับเรียกค่า Total_etc
                FirebaseResponse value_etc = await client.GetTaskAsync($"Count for etcexpense:{labelmonth.Text}/node");

                Count_etc get_etc = value_etc.ResultAs <Count_etc>();

                //สำหรับเรียกค่า Total_income
                FirebaseResponse value_income = await client.GetTaskAsync($"Count for Income:{labelmonth.Text}/node/");

                Count_Income get_in = value_income.ResultAs <Count_Income>();
                //FirebaseResponse value_income = await client.GetTaskAsync("Count for income/node");
                //Count_Income get_in = value_income.ResultAs<Count_Income>();

                //ส่วนของยอดคงเหลือ
                label_MonthofExportBalance.Text = labelmonth.Text;
                label_monthAllBalance.Text      = Convert.ToString(get_in.Total_income - get_out.Total_expense);

                chart1.Titles.Add("สรุปรายรับรายจ่าย");
                chart1.Series["s1"].IsValueShownAsLabel = true;
                chart1.Series["s1"].Points.AddXY("1", get_eat.Total_eat);
                chart1.Series["s1"].XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Int32;
                chart1.Series["s1"].Points.AddXY("2", get_edu.Total_edu);
                chart1.Series["s1"].Points.AddXY("3", get_etc.Total_etc);
                chart1.Series["s1"].Points.AddXY("4", get_in.Total_income);

                label_MonthofExport.Text = labelmonth.Text;
                int i = 0;
                FirebaseResponse resex_in1 = await client.GetTaskAsync($"Count for Income:{labelmonth.Text}/node/");

                //FirebaseResponse resex_in1 = await client.GetTaskAsync("Count for income/node");
                Count_Income objc_in1   = resex_in1.ResultAs <Count_Income>();
                int          income_All = Convert.ToInt32(objc_in1.income_All);
                label_monthAll.Text = Convert.ToString(objc_in1.Total_income);

                while (true)
                {
                    i++;
                    try
                    {
                        FirebaseResponse resex_in2 = await client.GetTaskAsync($"Income:{labelmonth.Text}/order" + i);

                        IncomeTotal objc_in2 = resex_in2.ResultAs <IncomeTotal>();

                        DataRow row = tb.NewRow();
                        row["ลำดับที่"] = objc_in2.Number;
                        row["รายการ"]   = objc_in2.Detail;
                        row["ราคา"]     = objc_in2.Income;

                        tb.Rows.Add(row);
                    }
                    catch
                    {
                    }
                }
            }
            catch { MessageBox.Show($"ข้อมูลไม่ถูกต้องหรือไม่มีข้อมูลเดือน{labelmonth.Text}ในฐานระบบ"); }
        }