Exemple #1
0
        /// <summary>
        /// 計算明細當前行金額公式
        /// </summary>
        public void Count_Row_Amount_Fare()
        {
            decimal ldc_qty = 0, ldc_price, ldc_fare_sum = 0;

            if (!string.IsNullOrEmpty(qty.Text))
            {
                ldc_qty = decimal.Parse(qty.Text);
            }
            else
            {
                ldc_qty = 0;
            }
            if (!string.IsNullOrEmpty(price.Text))
            {
                ldc_price = decimal.Parse(price.Text);
            }
            else
            {
                ldc_price = 0;
            }
            ldc_fare_sum     = decimal.Parse(Math.Round(ldc_qty * ldc_price, 2).ToString());
            txtfare_sum.Text = ldc_fare_sum.ToString();
            frmPoPurchaseBill.bds_fare.EndEdit(); //更新父表中的明細
            myParentForm.Count_Amount();          //重新計算主檔總金額
        }
Exemple #2
0
        /// <summary>
        /// 計算明細當前行金額公式
        /// </summary>
        public void Count_Row_Amount_Details()
        {
            decimal ldc_order_qty = 0, ldc_sec_qty, ldc_price, ldc_disc_rate, ldc_disc_amt = 0, ldc_total_sum = 0;
            string  ls_unit_code, ls_sec_unit, ls_p_unit;

            ls_unit_code = unit_code.Text; //數量單位
            ls_sec_unit  = sec_unit.Text;  //單價單位
            ls_p_unit    = p_unit.Text;

            if (!string.IsNullOrEmpty(order_qty.Text))
            {
                ldc_order_qty = decimal.Parse(order_qty.Text);
            }
            else
            {
                ldc_order_qty = 0;
            }
            if (!string.IsNullOrEmpty(sec_qty.Text))
            {
                ldc_sec_qty = decimal.Parse(sec_qty.Text);
            }
            else
            {
                ldc_sec_qty = 0;
            }
            if (!string.IsNullOrEmpty(price.Text))
            {
                ldc_price = decimal.Parse(price.Text);
            }
            else
            {
                ldc_price = 0;
            }
            if (!string.IsNullOrEmpty(disc_rate.Text))
            {
                ldc_disc_rate = decimal.Parse(disc_rate.Text);
            }
            else
            {
                ldc_disc_rate = 0;
            }

            //貨品金額是以數量計算或者重量計算是以單價單位為基準,誰的單位與單價單位相等,就用誰乘以單價
            //如果單價單位與訂單數量單位相同,貨品金額=單價x訂單數量
            if (ls_p_unit == ls_unit_code)
            {
                ldc_total_sum = decimal.Parse(Math.Round(ldc_order_qty * ldc_price, 2).ToString());
            }
            else
            {
                ldc_total_sum = 0;
            }
            //如果單價單位與重量單位相同,貨品金額=單價x重量
            if (ls_p_unit == ls_sec_unit)
            {
                ldc_total_sum = ldc_sec_qty * ldc_price;
            }
            if (ls_p_unit != ls_unit_code && ls_p_unit != ls_sec_unit)
            {
                ldc_total_sum = 0;
            }
            ldc_disc_amt      = decimal.Parse(Math.Round(ldc_total_sum * (ldc_disc_rate / 100), 2).ToString());
            ldc_total_sum     = ldc_total_sum - ldc_disc_amt;
            txtdisc_amt.Text  = ldc_disc_amt.ToString();
            txttotal_sum.Text = ldc_total_sum.ToString();
            frmPoPurchaseBill.bds_d.EndEdit(); //更新父表中的明細
            myParentForm.Count_Amount();       //重新計算主檔總金額
        }