Пример #1
0
        private async void Form3_Load(object sender, EventArgs e)
        {
            radi_eat.Checked  = true;
            DelectEat.Checked = true;
            client            = new FireSharp.FirebaseClient(config);

            tb.Columns.Add("ลำดับที่");
            tb.Columns.Add("รายการ");
            tb.Columns.Add("ราคา");
            tb.Columns.Add("ประเภท");
            gridView1_expense.DataSource = tb;//รายจ่าย
            try
            {
                FirebaseResponse value_out = await client.GetTaskAsync($"Count for Totalexpense:{labelmonth.Text}/node/");

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

                var node_out = new start_MonthOutAll
                {
                    Number = get_out.expense_All,
                };
                SetResponse node1 = await client.SetTaskAsync($"Start_OutAll:{labelmonth.Text}/", node_out);

                Totalexpense = get_out.Total_expense;
            }
            catch
            {
            }

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

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

                var node_out = new start_MonthOutEat
                {
                    Number = get_out.eatexpense_All,
                };
                SetResponse node1 = await client.SetTaskAsync($"Start_OutEat:{labelmonth.Text}/", node_out);

                Newexpense_eat = get_out.Total_eat;
            }
            catch
            {
            }

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

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

                var node_out = new start_MonthOutEdu
                {
                    Number = get_out.eduexpense_All,
                };
                SetResponse node1 = await client.SetTaskAsync($"Start_OutEdu:{labelmonth.Text}/", node_out);

                Newexpense_edu = get_out.Total_edu;
            }
            catch
            {
            }

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

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

                var node_out = new start_MonthOutEtc
                {
                    Number = get_out.etcexpense_All,
                };
                SetResponse node1 = await client.SetTaskAsync($"Start_OutEtc:{labelmonth.Text}/", node_out);

                Newexpense_etc = get_out.Total_etc;
            }
            catch
            {
            }
        }
Пример #2
0
        private async void expoer_expentBtn_Click(object sender, EventArgs e)
        {
            try
            {
                timer1.Interval = 1000;
                timer1.Start();
                expoer_expentBtn.Enabled = false;
                //สำหรับเรียกค่า 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>();

                //ส่วนของยอดคงเหลือ
                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"].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_out1 = await client.GetTaskAsync($"Count for Totalexpense:{labelmonth.Text}/node");

                Count_Expense objc_out1   = resex_out1.ResultAs <Count_Expense>();
                int           expense_All = Convert.ToInt32(objc_out1.expense_All);
                label_monthAll.Text = Convert.ToString(objc_out1.Total_expense);

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

                        ExpenseTotal objc_out2 = resex_out2.ResultAs <ExpenseTotal>();

                        DataRow row = tb.NewRow();
                        row["ลำดับที่"] = objc_out2.Number;
                        row["รายการ"]   = objc_out2.Detail;
                        row["ราคา"]     = objc_out2.Expense;
                        row["ประเภท"]   = objc_out2.Type;
                        tb.Rows.Add(row);
                    }
                    catch
                    {
                    }
                }
            }
            catch { MessageBox.Show($"ข้อมูลไม่ถูกต้องหรือไม่มีข้อมูลเดือน{labelmonth.Text}ในฐานระบบ"); }
        }
Пример #3
0
        private async void btnfinish_Click(object sender, EventArgs e)
        {
            int parsedValue;

            if (!int.TryParse(expensetxt.Text, out parsedValue))
            {
                MessageBox.Show("กรอกข้อมูลไม่ถูกต้อง กรุณาใส่ตัวเลข", "เกิดข้อผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            else
            {
                //-----------------------สำหรับเลือกของกิน---------------------------------
                if (radi_eat.Checked == true)//สำหรับเลือกเป็นของกิน
                {
                    try
                    {
                        //------------------------------------------------
                        FirebaseResponse value_out1 = await client.GetTaskAsync($"Start_OutAll:{labelmonth.Text}/");

                        start_MonthOutAll get_out1 = value_out1.ResultAs <start_MonthOutAll>();

                        var node_out = new Count_Expense
                        {
                            expense_All   = (Convert.ToInt32(get_out1.Number) + 1).ToString(),
                            Total_expense = Totalexpense
                        };
                        SetResponse resincome3 = await client.SetTaskAsync($"Count for Totalexpense:{labelmonth.Text}/node", node_out);

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

                        Count_Expense get_out = value_out.ResultAs <Count_Expense>();
                        var           expense = new ExpenseTotal
                        {
                            //รับค่า income-All มาและเมื่อกดปุ่ม นำไปบวกอีก 1 เสมอ จากนั้นก็แปลงให้อยู่ในรูปสตริง
                            Number  = node_out.expense_All,
                            Detail  = detailtxt.Text,
                            Expense = expensetxt.Text,  // จำนวนเงินของรายรับ
                            Type    = "อุปโภคบริโภค"
                        };
                        SetResponse resexpense = await client.SetTaskAsync($"Expense:{labelmonth.Text}/order" +
                                                                           expense.Number, expense);

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

                        Total_old = 0;                                              //เซ็ตค่าให้ Total_old ให้เป็น 0 ทุกครั้งที่กดปุ่มบันทึก
                        Total_old = get_out.Total_expense;                          //รับค่าจาก firebase เก็บไว้ใน Total_old
                                                                                    //นำค่่าจาก Total_old บวกกับ เงินที่เราใส่ไป และนำไปเก็บไว้ใน Totalexpense
                        Totalexpense = Total_old + Convert.ToInt32(expense.Expense);

                        var obj_amount = new Count_Expense
                        {
                            expense_All   = expense.Number,
                            Total_expense = Totalexpense
                        };
                        SetResponse resincome2 = await client.SetTaskAsync($"Count for Totalexpense:{labelmonth.Text}/node", obj_amount);

                        var obj_num = new start_MonthOutAll
                        {
                            Number = obj_amount.expense_All,
                        };
                        SetResponse node2 = await client.SetTaskAsync($"Start_OutAll:{labelmonth.Text}/", obj_num);

                        //เทียบจาก form2 ถูกถึงตรงนี้


                        //------------------------------------------------------
                        FirebaseResponse value_out2 = await client.GetTaskAsync($"Start_OutEat:{labelmonth.Text}/");

                        start_MonthOutEat get_out2 = value_out2.ResultAs <start_MonthOutEat>();
                        var obj_eat = new Count_eat
                        {
                            eatexpense_All = (Convert.ToInt32(get_out2.Number) + 1).ToString(),
                            Total_eat      = Newexpense_eat
                        };
                        SetResponse resexpense_eat = await client.SetTaskAsync($"Count for eatexpense:{labelmonth.Text}/node", obj_eat);

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

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

                        Oldexpense_eat = 0;                 //เซ็ตค่าให้ Oldexpense_eat ให้เป็น 0 ทุกครั้งที่กดปุ่มบันทึก
                        Oldexpense_eat = get_eat.Total_eat; //รับค่าจาก firebase เก็บไว้ใน Oldexpense_eat
                                                            //นำค่่าจาก Total_old บวกกับ เงินที่เราใส่ไป และนำไปเก็บไว้ใน Newexpense_eat
                        Newexpense_eat = Oldexpense_eat + Convert.ToInt32(expense.Expense);

                        var obj_eat2 = new Count_eat
                        {
                            eatexpense_All = obj_eat.eatexpense_All,
                            //eatexpense_All = (Convert.ToInt32(get_eat.eatexpense_All) + 1).ToString(),
                            Total_eat = Newexpense_eat
                        };
                        SetResponse resexpense_eat2 = await client.SetTaskAsync($"Count for eatexpense:{labelmonth.Text}/node", obj_eat2);

                        var obj_eat3 = new start_MonthOutEat
                        {
                            Number = obj_eat2.eatexpense_All
                        };
                        SetResponse node3 = await client.SetTaskAsync($"Start_OutEat:{labelmonth.Text}/", obj_eat3);
                    }
                    catch { }
                }//-----------------------สำหรับเลือกของกิน---------------------------------


                else if (radi_edu.Checked == true)//สำหรับเลือกใช้เป็นของการศึกษา
                {
                    try
                    {
                        //------------------------------------------------
                        FirebaseResponse value_out1 = await client.GetTaskAsync($"Start_OutAll:{labelmonth.Text}/");

                        start_MonthOutAll get_out1 = value_out1.ResultAs <start_MonthOutAll>();

                        var node_out = new Count_Expense
                        {
                            expense_All   = (Convert.ToInt32(get_out1.Number) + 1).ToString(),
                            Total_expense = Totalexpense
                        };
                        SetResponse resincome3 = await client.SetTaskAsync($"Count for Totalexpense:{labelmonth.Text}/node", node_out);

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

                        Count_Expense get_out = value_out.ResultAs <Count_Expense>();
                        var           expense = new ExpenseTotal
                        {
                            //รับค่า income-All มาและเมื่อกดปุ่ม นำไปบวกอีก 1 เสมอ จากนั้นก็แปลงให้อยู่ในรูปสตริง
                            Number  = node_out.expense_All,
                            Detail  = detailtxt.Text,
                            Expense = expensetxt.Text,  // จำนวนเงินของรายรับ
                            Type    = "การศึกษา"
                        };
                        SetResponse resexpense = await client.SetTaskAsync($"Expense:{labelmonth.Text}/order" +
                                                                           expense.Number, expense);

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

                        Total_old = 0;                                              //เซ็ตค่าให้ Total_old ให้เป็น 0 ทุกครั้งที่กดปุ่มบันทึก
                        Total_old = get_out.Total_expense;                          //รับค่าจาก firebase เก็บไว้ใน Total_old
                                                                                    //นำค่่าจาก Total_old บวกกับ เงินที่เราใส่ไป และนำไปเก็บไว้ใน Totalexpense
                        Totalexpense = Total_old + Convert.ToInt32(expense.Expense);

                        var obj_amount = new Count_Expense
                        {
                            expense_All   = expense.Number,
                            Total_expense = Totalexpense
                        };
                        SetResponse resincome2 = await client.SetTaskAsync($"Count for Totalexpense:{labelmonth.Text}/node", obj_amount);

                        var obj_num = new start_MonthOutAll
                        {
                            Number = obj_amount.expense_All,
                        };
                        SetResponse node2 = await client.SetTaskAsync($"Start_OutAll:{labelmonth.Text}/", obj_num);

                        //เทียบจาก form2 ถูกถึงตรงนี้


                        //------------------------------------------------------
                        FirebaseResponse value_out2 = await client.GetTaskAsync($"Start_OutEdu:{labelmonth.Text}/");

                        start_MonthOutEdu get_out2 = value_out2.ResultAs <start_MonthOutEdu>();
                        var obj_edu = new Count_edu
                        {
                            eduexpense_All = (Convert.ToInt32(get_out2.Number) + 1).ToString(),
                            Total_edu      = Newexpense_edu
                        };
                        SetResponse resexpense_edu = await client.SetTaskAsync($"Count for eduexpense:{labelmonth.Text}/node", obj_edu);

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

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

                        Oldexpense_edu = 0;                 //เซ็ตค่าให้ Oldexpense_eat ให้เป็น 0 ทุกครั้งที่กดปุ่มบันทึก
                        Oldexpense_edu = get_edu.Total_edu; //รับค่าจาก firebase เก็บไว้ใน Oldexpense_eat
                                                            //นำค่่าจาก Total_old บวกกับ เงินที่เราใส่ไป และนำไปเก็บไว้ใน Newexpense_eat
                        Newexpense_edu = Oldexpense_edu + Convert.ToInt32(expense.Expense);

                        var obj_edu2 = new Count_edu
                        {
                            eduexpense_All = obj_edu.eduexpense_All,
                            Total_edu      = Newexpense_edu
                        };
                        SetResponse resexpense_edu2 = await client.SetTaskAsync($"Count for eduexpense:{labelmonth.Text}/node", obj_edu2);

                        var obj_edu3 = new start_MonthOutEdu
                        {
                            Number = obj_edu2.eduexpense_All
                        };
                        SetResponse node3 = await client.SetTaskAsync($"Start_OutEdu:{labelmonth.Text}/", obj_edu3);
                    }
                    catch { }
                }
                else if (radi_ote.Checked == true)//สำหรับเลือกใช้เป็นของจิปาถะ
                {
                    try
                    {
                        //------------------------------------------------
                        FirebaseResponse value_out1 = await client.GetTaskAsync($"Start_OutAll:{labelmonth.Text}/");

                        start_MonthOutAll get_out1 = value_out1.ResultAs <start_MonthOutAll>();

                        var node_out = new Count_Expense
                        {
                            expense_All   = (Convert.ToInt32(get_out1.Number) + 1).ToString(),
                            Total_expense = Totalexpense
                        };
                        SetResponse resincome3 = await client.SetTaskAsync($"Count for Totalexpense:{labelmonth.Text}/node", node_out);

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

                        Count_Expense get_out = value_out.ResultAs <Count_Expense>();
                        var           expense = new ExpenseTotal
                        {
                            //รับค่า income-All มาและเมื่อกดปุ่ม นำไปบวกอีก 1 เสมอ จากนั้นก็แปลงให้อยู่ในรูปสตริง
                            Number  = node_out.expense_All,
                            Detail  = detailtxt.Text,
                            Expense = expensetxt.Text,  // จำนวนเงินของรายรับ
                            Type    = "จิปาถะ"
                        };
                        SetResponse resexpense = await client.SetTaskAsync($"Expense:{labelmonth.Text}/order" +
                                                                           expense.Number, expense);

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

                        Total_old = 0;                                              //เซ็ตค่าให้ Total_old ให้เป็น 0 ทุกครั้งที่กดปุ่มบันทึก
                        Total_old = get_out.Total_expense;                          //รับค่าจาก firebase เก็บไว้ใน Total_old
                                                                                    //นำค่่าจาก Total_old บวกกับ เงินที่เราใส่ไป และนำไปเก็บไว้ใน Totalexpense
                        Totalexpense = Total_old + Convert.ToInt32(expense.Expense);

                        var obj_amount = new Count_Expense
                        {
                            expense_All   = expense.Number,
                            Total_expense = Totalexpense
                        };
                        SetResponse resincome2 = await client.SetTaskAsync($"Count for Totalexpense:{labelmonth.Text}/node", obj_amount);

                        var obj_num = new start_MonthOutAll
                        {
                            Number = obj_amount.expense_All,
                        };
                        SetResponse node2 = await client.SetTaskAsync($"Start_OutAll:{labelmonth.Text}/", obj_num);

                        //เทียบจาก form2 ถูกถึงตรงนี้


                        //------------------------------------------------------
                        FirebaseResponse value_out2 = await client.GetTaskAsync($"Start_OutEtc:{labelmonth.Text}/");

                        start_MonthOutEtc get_out2 = value_out2.ResultAs <start_MonthOutEtc>();
                        var obj_etc = new Count_etc
                        {
                            etcexpense_All = (Convert.ToInt32(get_out2.Number) + 1).ToString(),
                            Total_etc      = Newexpense_etc
                        };
                        SetResponse resexpense_etc = await client.SetTaskAsync($"Count for etcexpense:{labelmonth.Text}/node", obj_etc);

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

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

                        Oldexpense_etc = 0;                 //เซ็ตค่าให้ Oldexpense_eat ให้เป็น 0 ทุกครั้งที่กดปุ่มบันทึก
                        Oldexpense_etc = get_etc.Total_etc; //รับค่าจาก firebase เก็บไว้ใน Oldexpense_eat
                                                            //นำค่่าจาก Total_old บวกกับ เงินที่เราใส่ไป และนำไปเก็บไว้ใน Newexpense_eat
                        Newexpense_etc = Oldexpense_etc + Convert.ToInt32(expense.Expense);

                        var obj_etc2 = new Count_etc
                        {
                            etcexpense_All = obj_etc.etcexpense_All,
                            Total_etc      = Newexpense_etc
                        };
                        SetResponse resexpense_eat2 = await client.SetTaskAsync($"Count for etcexpense:{labelmonth.Text}/node", obj_etc2);

                        var obj_etc3 = new start_MonthOutEtc
                        {
                            Number = obj_etc2.etcexpense_All
                        };
                        SetResponse node3 = await client.SetTaskAsync($"Start_OutEtc:{labelmonth.Text}/", obj_etc3);
                    }
                    catch { }
                }
                MessageBox.Show("บันทึกเรียบร้อย");
            }
        }
Пример #4
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
            {
                string           Value_type    = null;
                FirebaseResponse check_expense = await client.GetTaskAsync($"Expense:{labelmonth.Text}/order" +
                                                                           Numbertxt.Text);

                ExpenseTotal check = check_expense.ResultAs <ExpenseTotal>();
                //------------------------------------
                if (DelectEat.Checked == true)
                {
                    Value_type = "อุปโภคบริโภค";
                }
                else if (DeleteEdu.Checked == true)
                {
                    Value_type = "การศึกษา";
                }
                else if (DeleteEtc.Checked == true)
                {
                    Value_type = "จิปาถะ";
                }
                if (Value_type != check.Type)
                {
                    MessageBox.Show("คุณกรอกลำดับไม่ถูกต้อง กรุณากรอกใหม่", "เกิดข้อผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }

                else
                {
                    btnDelete.Enabled = false;
                    FirebaseResponse value_out = await client.GetTaskAsync($"Count for Totalexpense:{labelmonth.Text}/node");

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


                    var expense = new ExpenseTotal
                    {
                        //รับค่า income-All มาและเมื่อกดปุ่ม นำไปลบอีก 1 เสมอ จากนั้นก็แปลงให้อยู่ในรูปสตริง
                        Number  = (Convert.ToInt32(get_out.expense_All) - 1).ToString(),
                        Detail  = detailtxt.Text,
                        Expense = expensetxt.Text,  // จำนวนเงินของรายรับ
                    };
                    ////สำหรับเรียกค่ารายจ่ายและลำดับโดยการกำหนด
                    FirebaseResponse resexpense = await client.GetTaskAsync($"Expense:{labelmonth.Text}/order" +
                                                                            Numbertxt.Text);

                    ExpenseTotal result = resexpense.ResultAs <ExpenseTotal>(); //เพิ่มเติม
                    UpdateExpense_delete();

                    Total_old = 0;                     //เซ็ตค่าให้ Total_old ให้เป็น 0 ทุกครั้งที่กดปุ่มบันทึก
                    Total_old = get_out.Total_expense; //รับค่าจาก firebase เก็บไว้ใน Total_old
                                                       //นำค่่าจาก Total_old บวกกับ เงินที่เราใส่ไป และนำไปเก็บไว้ใน Totalexpense
                    Totalexpense = Total_old - Convert.ToInt32(result.Expense);
                    var obj_amount = new Count_Expense
                    {
                        expense_All   = expense.Number,
                        Total_expense = Totalexpense
                    };
                    SetResponse resincome2 = await client.SetTaskAsync($"Count for Totalexpense:{labelmonth.Text}/node", obj_amount);

                    //--------------------สำหรับเรียกรายจ่ายทั้งหมด-----------------------------

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

                    //----------------------------------------------------------
                    if (DelectEat.Checked == true)
                    {
                        //--------------------สำหรับรายจ่ายของกินทั้งหมด-----------------------------
                        ////สำหรับเรียกค่า expense และ  Number เก่าใน firebase
                        FirebaseResponse value2_out = await client.GetTaskAsync($"Count for eatexpense:{labelmonth.Text}/node");

                        Count_eat get2_out = value2_out.ResultAs <Count_eat>();

                        Total_Eatold = 0;                  //เซ็ตค่าให้ Total_old ให้เป็น 0 ทุกครั้งที่กดปุ่มบันทึก
                        Total_Eatold = get2_out.Total_eat; //รับค่าจาก firebase เก็บไว้ใน Total_old
                                                           //นำค่่าจาก Total_old บวกกับ เงินที่เราใส่ไป และนำไปเก็บไว้ใน Totalexpense
                        Totaleat = Total_Eatold - Convert.ToInt32(result.Expense);

                        var obj_eat = new Count_eat
                        {
                            eatexpense_All = (Convert.ToInt32(get2_out.eatexpense_All) - 1).ToString(),
                            Total_eat      = Totaleat
                        };


                        SetResponse res_eat2 = await client.SetTaskAsync($"Count for eatexpense:{labelmonth.Text}/node", obj_eat);

                        //สำหรับลบค่า โดยที่เรากำหนดลำดับว่าจะลบลำดับที่เท่าไหร่

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

                        MessageBox.Show("แก้ไขเรียบร้อย");
                    }
                    else if (DeleteEdu.Checked == true)
                    {
                        //--------------------สำหรับรายจ่ายการศึกษาทั้งหมด-----------------------------
                        ////สำหรับเรียกค่า expense และ  Number เก่าใน firebase
                        FirebaseResponse value3_out = await client.GetTaskAsync($"Count for eduexpense:{labelmonth.Text}/node");

                        Count_edu get3_out = value3_out.ResultAs <Count_edu>();

                        Total_Eduold = 0;                  //เซ็ตค่าให้ Total_old ให้เป็น 0 ทุกครั้งที่กดปุ่มบันทึก
                        Total_Eduold = get3_out.Total_edu; //รับค่าจาก firebase เก็บไว้ใน Total_old
                                                           //นำค่่าจาก Total_old บวกกับ เงินที่เราใส่ไป และนำไปเก็บไว้ใน Totalexpense
                        Totaledu = Total_Eduold - Convert.ToInt32(result.Expense);

                        var obj_edu = new Count_edu
                        {
                            eduexpense_All = (Convert.ToInt32(get3_out.eduexpense_All) - 1).ToString(),
                            Total_edu      = Totaledu
                        };
                        SetResponse res_edu2 = await client.SetTaskAsync($"Count for eduexpense:{labelmonth.Text}/node", obj_edu);

                        //สำหรับลบค่า โดยที่เรากำหนดลำดับว่าจะลบลำดับที่เท่าไหร่
                        MessageBox.Show("แก้ไขเรียบร้อย");
                    }

                    else if (DeleteEtc.Checked == true)
                    {
                        //--------------------สำหรับรายจ่ายจิปาถะทั้งหมด-----------------------------
                        ////สำหรับเรียกค่า expense และ  Number เก่าใน firebase
                        FirebaseResponse value3_out = await client.GetTaskAsync($"Count for etcexpense:{labelmonth.Text}/node");

                        Count_etc get3_out = value3_out.ResultAs <Count_etc>();

                        Total_Etcold = 0;                  //เซ็ตค่าให้ total_old ให้เป็น 0 ทุกครั้งที่กดปุ่มบันทึก
                        Total_Etcold = get3_out.Total_etc; //รับค่าจาก firebase เก็บไว้ใน total_old
                                                           //นำค่่าจาก total_old บวกกับ เงินที่เราใส่ไป และนำไปเก็บไว้ใน totalexpense
                        Totaletc = Total_Etcold - Convert.ToInt32(result.Expense);

                        var obj_etc = new Count_etc
                        {
                            etcexpense_All = (Convert.ToInt32(get3_out.etcexpense_All) - 1).ToString(),
                            Total_etc      = Totaletc
                        };
                        SetResponse res_etc2 = await client.SetTaskAsync($"Count for etcexpense:{labelmonth.Text}/node", obj_etc);

                        //สำหรับลบค่า โดยที่เรากำหนดลำดับว่าจะลบลำดับที่เท่าไหร่
                        MessageBox.Show("แก้ไขเรียบร้อย");
                    }
                }
            }
        }
Пример #5
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}ในฐานระบบ"); }
        }