Ejemplo n.º 1
0
    protected void ButtonAddNew_Click(object sender, EventArgs e)
    {
        logger.Info(HttpContext.Current.Request.Cookies["User_ID"].Value + " " + System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString() + " " + System.Reflection.MethodBase.GetCurrentMethod().Name);


        try
        {
            string        User_ID    = HttpContext.Current.Request.Cookies["User_ID"].Value;
            dbo_UserClass user_class = dbo_UserDataClass.Select_Record(User_ID);

            string Post_No = GenerateID.Post_No(user_class.CV_CODE);

            List <dbo_RevenueExpenseClass> item_rev = dbo_RevenueExpenseDataClass.Search(Post_No, null, null, user_class.CV_CODE);

            if (item_rev.Count == 0)
            {
                pnlForm.Visible = true;
                pnlGrid.Visible = false;

                Textbox1.Text     = "0";
                Textbox2.Text     = "0";
                txtPost_Date.Text = DateTime.Now.ToShortDateString();
                txtPost_No.Text   = GenerateID.Post_No(user_class.CV_CODE);

                List <dbo_RevenueExpenseClass> item = dbo_RevenueExpenseDataClass.Search(txtPost_No.Text, null, null, user_class.CV_CODE);

                List <dbo_RevenueExpenseClass> item_rv = item.Where(f => f.Account_No.Substring(6, 2) == "RV").ToList(); //รายรับ
                List <dbo_RevenueExpenseClass> item_ep = item.Where(f => f.Account_No.Substring(6, 2) == "EP").ToList(); //รายจ่าย

                GridViewRevenue.DataSource = item_rv;
                GridViewRevenue.DataBind();

                GridViewExpense.DataSource = item_ep;
                GridViewExpense.DataBind();

                System.Threading.Thread.Sleep(500);
                ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "SAMWAIT", "myApp.hidePleaseWait();", true);
            }
            else
            {
                System.Threading.Thread.Sleep(500);
                ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "SAMWAIT", "myApp.hidePleaseWait();", true);
                Show("คุณได้ทำการบันทึกรายรับรายจ่ายของวันนี้แล้ว กรุณากลับไปแก้ไขรายการเดิม");
            }
        }
        catch (Exception ex)
        {
            logger.Error(ex.Message);
        }
    }
Ejemplo n.º 2
0
    protected void btnSaveSubmit_Click(object sender, EventArgs e)
    {
        logger.Info(HttpContext.Current.Request.Cookies["User_ID"].Value + " " + System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString() + " " + System.Reflection.MethodBase.GetCurrentMethod().Name);

        try
        {
            if (txtRequisition_Amount.Text == string.Empty)
            {
                System.Threading.Thread.Sleep(500);
                ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "SAMWAIT", "myApp.hidePleaseWait();", true);
                Show("กรุณาระบุจำนวนเงิน");
            }
            //else if (Convert.ToDecimal(txtRequisition_Amount.Text) > Convert.ToDecimal(txtTotalBalanceOutstanding.Text))
            //{
            //    System.Threading.Thread.Sleep(500);
            //    ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "SAMWAIT", "myApp.hidePleaseWait();", true);
            //    Show("ไม่สามารถเบิกค่าคอมมิชชั่นเกินยอดหนี้คงค้างได้");
            //}
            else

            {
                dbo_UserClass user_class = dbo_UserDataClass.Select_Record(HttpContext.Current.Request.Cookies["User_ID"].Value);

                dbo_CommissionRequisitionClass com_req = new dbo_CommissionRequisitionClass();
                com_req.Commission_requisition_no   = GenerateID.Commission_requisition_no(user_class.CV_CODE);
                com_req.Commission_Requisition_Date = DateTime.Now;

                com_req.Requisition_Amount = decimal.Parse(string.IsNullOrEmpty(txtRequisition_Amount.Text) ? "0" : txtRequisition_Amount.Text);

                // string user_id = ddl_SPName.SelectedIndex == 0 ? string.Empty : ddl_SPName.SelectedValue;
                //List<dbo_DebtClass> listofdebt = dbo_DebtDataClass.Search(user_id, string.Empty);


                int index = 1;

                // decimal init_debt = decimal.Parse(txtTotalBalanceOutstanding.Text);

                // decimal? check_init = 0;


                decimal?    cal_com = decimal.Parse(txtRequisition_Amount.Text);
                HiddenField hdf     = new HiddenField();
                hdf.Value = string.Empty;
                string user_id = string.Empty;
                foreach (GridViewRow currentRow in grdCommissionRequisition.Rows)
                {
                    if (cal_com > 0)
                    {
                        CheckBox chk = (CheckBox)currentRow.FindControl("chkAll");
                        if (chk.Checked)
                        {
                            Label lblClearing_No = (Label)currentRow.FindControl("lblClearing_No");
                            logger.Debug("lblClearing_No.Text " + lblClearing_No.Text);
                            Label lblCommissionAmount = (Label)currentRow.FindControl("lblCommissionAmount");
                            logger.Debug("lblCommissionAmount.Text " + lblCommissionAmount.Text);
                            logger.Debug("cal_com " + cal_com);


                            hdf = (HiddenField)currentRow.FindControl("hdfUser_ID");

                            if (!string.IsNullOrEmpty(lblClearing_No.Text))
                            {
                                List <dbo_RequisitionClearingClass> rc = dbo_RequisitionClearingDataClass.Search(lblClearing_No.Text, string.Empty,
                                                                                                                 string.Empty, null, null, null, null, user_class.CV_CODE);


                                //decimal? to_req = decimal.Parse(lblCommissionAmount.Text);

                                decimal?to_req = cal_com;

                                foreach (dbo_RequisitionClearingClass rc_ in rc)
                                {
                                    logger.Debug(rc_.Requisition_No);

                                    List <dbo_CommissionClass> com = dbo_CommissionDataClass.Select_Record(rc_.Requisition_No);

                                    logger.Debug("** " + com[0].Commission_Balance_Outstanding + " , " + to_req + " **");
                                    logger.Debug("com[0].Commission_Balance_Outstanding <= to_req");

                                    if (com[0].Commission_Balance_Outstanding <= to_req)
                                    {
                                        dbo_CommissionRequisitionDtlClass detail = new dbo_CommissionRequisitionDtlClass();

                                        detail.Clearing_No               = lblClearing_No.Text;
                                        detail.Commission                = decimal.Parse(lblCommissionAmount.Text);
                                        detail.Requisition_Amount        = com[0].Commission_Balance_Outstanding;
                                        detail.Commission_requisition_no = com_req.Commission_requisition_no + index.ToString("00");
                                        index++;

                                        dbo_CommissionRequisitionDtlDataClass.Add(detail, HttpContext.Current.Request.Cookies["User_ID"].Value);



                                        if (com.Count > 0)
                                        {
                                            com[0].Commission_Requisition_Status = 3;
                                            logger.Debug("com[0].Commission_Requisition_Status " + com[0].Commission_Requisition_Status);
                                            to_req = to_req - com[0].Commission_Balance_Outstanding;
                                            logger.Debug("to_req update " + to_req);
                                            com[0].Commission_Balance_Outstanding = 0;
                                            logger.Debug("com[0].Commission_Balance_Outstanding " + com[0].Commission_Balance_Outstanding);
                                            dbo_CommissionDataClass.Update(com[0], HttpContext.Current.Request.Cookies["User_ID"].Value);
                                            //  break;
                                        }
                                    }
                                    else
                                    {
                                        dbo_CommissionRequisitionDtlClass detail = new dbo_CommissionRequisitionDtlClass();
                                        detail.Clearing_No               = lblClearing_No.Text;
                                        detail.Commission                = decimal.Parse(lblCommissionAmount.Text);
                                        detail.Requisition_Amount        = to_req;
                                        detail.Commission_requisition_no = com_req.Commission_requisition_no + index.ToString("00");
                                        index++;
                                        dbo_CommissionRequisitionDtlDataClass.Add(detail, HttpContext.Current.Request.Cookies["User_ID"].Value);

                                        if (com.Count > 0)
                                        {
                                            com[0].Commission_Requisition_Status = 2;
                                            logger.Debug("com[0].Commission_Requisition_Status " + com[0].Commission_Requisition_Status);
                                            to_req = com[0].Commission_Balance_Outstanding - to_req;
                                            logger.Debug("to_req update " + to_req);

                                            // com[0].Commission_Balance_Outstanding = detail.Commission - detail.Requisition_Amount;
                                            com[0].Commission_Balance_Outstanding = com[0].Commission_Balance_Outstanding - detail.Requisition_Amount;
                                            logger.Debug("com[0].Commission_Balance_Outstanding " + com[0].Commission_Balance_Outstanding);
                                            dbo_CommissionDataClass.Update(com[0], HttpContext.Current.Request.Cookies["User_ID"].Value);
                                            break;
                                        }
                                    }
                                }
                            }


                            cal_com = cal_com - decimal.Parse(lblCommissionAmount.Text);
                        }
                    }
                }

                dbo_CommissionRequisitionClass total = dbo_ClearingDataClass.Get_Commission_Balance_Outstanding(hdf.Value);

                com_req.Total_Balance_Outstanding = total.Total_Balance_Outstanding;
                logger.Debug("com_req.Total_Balance_Outstanding " + com_req.Total_Balance_Outstanding);
                com_req.Commission_Balance_Outstanding = total.Commission_Balance_Outstanding;
                logger.Debug("com_req.Commission_Balance_Outstanding " + com_req.Commission_Balance_Outstanding);
                com_req.Total_Credit_Amount = total.Total_Credit_Amount;
                logger.Debug("com_req.Total_Credit_Amount " + com_req.Total_Credit_Amount);
                dbo_CommissionRequisitionDataClass.Add(com_req, HttpContext.Current.Request.Cookies["User_ID"].Value);

                //   Show("บันทึกสำเร็จ");

                string Post_No = GenerateID.Post_No(user_class.CV_CODE);
                dbo_RevenueExpenseClass rev = new dbo_RevenueExpenseClass();
                rev.Post_No      = Post_No;
                rev.CV_Code      = user_class.CV_CODE;
                rev.Amount       = decimal.Parse(txtRequisition_Amount.Text);
                rev.Account_Code = "5071";
                rev.Account_No   = GenerateID.EP(user_class.CV_CODE);
                rev.Remark       = "";
                rev.Post_Date    = DateTime.Now;
                rev.User_ID      = user_id;
                dbo_RevenueExpenseDataClass.AddSP(rev);

                System.Threading.Thread.Sleep(500);
                ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "SAMWAIT", "myApp.hidePleaseWait();", true);

                string url = "../Report_From/ViewsReport.aspx?RPT=CommissionReqList&PRM=" + com_req.Commission_requisition_no;
                string s   = "window.open('" + url + "', 'popup_window', 'width=1024,height=768,left=100,top=100,resizable=yes');";
                ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "SAM", s, true);


                btnSearch_2_Submit_Click(null, null);
            }
        }
        catch (Exception ex)
        {
            logger.Error(ex.Message);
        }
    }