예제 #1
0
        private void insertAndUpdate()
        {
            String sql = "";
            List<String> ListSql = new List<String>();
            String rid = txtRec.Text;

            String idHead = HEADID;
            if (idHead == "")
            {
                idHead = getSaleAppHeadId();
            }

            if (SDATEID == "") {
                if (rid != saleId())
                {
                    DialogResult dialogResult = MessageBox.Show("รหัส " + rid + " ถูกใช้แล้ว หากกด YES ระบบจะบันทึกและสร้างรหัสอัตโนมัติ หากกด NO ระบบจะยังไม่บันทึก แต่จะเรียกรหัสใหม่อีกครั้ง", "แจ้งเตือน", MessageBoxButtons.YesNo);
                    if (dialogResult == DialogResult.Yes)
                    {
                            rid = saleId();
                    }
                }
            }

            if (SDATEID != "")
            {
                sql = "select Sdateid,StatusId,TranferReqHeadId from TranferReqHead where Sdateid = '" + rid + "'";
                DataTable dt = Class.DBConnString.clsDB.QueryDataTable(sql);
                if (dt.Rows.Count < 1) {
                    sql = "select TranferReqHeadId,StatusId from TranferReqHead where Sdateid = '" + rid + "'";
                    dt = Class.DBConnString.clsDB.QueryDataTable(sql);
                }
                if (dt.Rows.Count < 1) {
                    MetroFramework.MetroMessageBox.Show(this,"ไม่สามารถแก้ไขใบเบิกต่างสาขา");
                    return;
                }
                if (dt.Rows[0][0].ToString() != "" && dt.Rows[0][1].ToString() == "2")
                {
                    sql = "DELETE FROM TranferReqWeight WHERE TranferReqHeadId = '" + dt.Rows[0][2].ToString() + "' ";
                    ListSql.Add(sql);
                    sql = "DELETE FROM TranferReqDetail WHERE TranferReqHeadId = '" + dt.Rows[0][2].ToString() + "' ";
                    ListSql.Add(sql);
                    sql = "DELETE FROM TranferReqHead WHERE TranferReqHeadId = '" + dt.Rows[0][2].ToString() + "' ";
                    ListSql.Add(sql);
                }
                else {
                    MessageBox.Show("ใบเบิกนี้ ไม่สามรถทำการแก้ไขได้");
                    return;
                }
            }

            String cusid = Class.Function.GetTextId(textBox4.Text);
            String rdate = Class.Function.GetDate(dptRecDate.Value);
            String round = textBox3.Text + textBox2.Text;
            String number = textBox1.Text;
            String UserName = Class.clsCash.sUserIdLogin;
            String Description = TxtDescription.Text;
            Double sum = dgvReceive.Rows.Cast<DataGridViewRow>().Sum(t => Convert.ToDouble(t.Cells[12].Value.ToString()));

            sql = "INSERT INTO TranferReqHead(SdateId,TranferReqHeadId,TranferReqHeadDate,TranferReqHeadDateSave,GrStockDetailId,UserName,AbountId,RequisitionId,statusId,Descript,TotalCost) " +
                  "VALUES('" + rid + "','" + idHead + "','" + rdate + "',GETDATE()," + cusid + ",'" + UserName + "','" + round + "','" + number + "',2,'" + Description + "',"+sum+")";
                ListSql.Add(sql);

            foreach (DataGridViewRow row in dgvReceive.Rows)
            {
                String ProductId = row.Cells[0].Value.ToString();
                String QuantityPack = Convert.ToDouble(row.Cells[2].Value.ToString()).ToString();
                String QuantitySale = Convert.ToDouble(row.Cells[4].Value.ToString()).ToString();
                String QuantityWeight = Convert.ToDouble(row.Cells[6].Value.ToString()).ToString();
                String Note = row.Cells[10].Value.ToString();
                String data = row.Cells[9].Value.ToString();
                String type = row.Cells[8].Value.ToString();
                String typeTemp = row.Cells[8].Value.ToString();
                String cost = Convert.ToDouble(row.Cells[11].Value).ToString();
                String total = Convert.ToDouble(row.Cells[12].Value).ToString();

                sql = "INSERT INTO TranferReqDetail(TranferReqHeadId,ProductId,ProductAppType,QuantityPack,Quantity,Weight,Note,costperunit,total) " +
                      "VALUES ('" + idHead + "','" + ProductId + "'," + type + "," + QuantityPack + "," + QuantitySale + "," + QuantityWeight + ",'" + Note + "',"+cost+","+total+")";
                ListSql.Add(sql);

                if (typeTemp != "3")
                {
                    String[] weight = data.Split('#');
                    for (int i = 0; i < weight.Length - 1; i++)//1 2 3,4 5 6,7 8 9
                    {
                        if (i % ((typeTemp == "1") ? 3 : 2) == 0)
                        {
                            String Pack = weight[i];
                            String Quantity = weight[i + 1];
                            String Weight = "0";
                            if (((typeTemp == "1") ? 3 : 2) == 3)
                            {
                                Weight = weight[i + 2];
                            }
                            sql = "INSERT INTO TranferReqWeight(TranferReqHeadId,ProductId,PackId,Pack,Weight) " +
                              "VALUES ('" + idHead + "','" + ProductId + "'," + Pack + "," + Quantity + "," + Weight + ")";
                            ListSql.Add(sql);
                        }
                    }
                }
            }
            if (MessageBox.Show("คุณต้องการบันทึกข้อมูลใบเบิกขายใหม่เลขที่ " + ((rid==null)?idHead:rid) + "\nใช่หรือไม่ ?", "คำยืนยัน", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                if (Class.DBConnString.clsDB.ExecuteTransaction(ListSql.ToArray()))
                {
                    if (MessageBox.Show("บันทึกสำเร็จ คุณต้องการพิมพ์รายงาน " + ((rid == null) ? idHead : rid) + "\nใช่หรือไม่ ?", "คำยืนยัน", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                            Transf.TranferRpt rpt = new Transf.TranferRpt(1);
                            rpt.StartPosition = FormStartPosition.CenterScreen;
                            rpt.setSaleAppHeadId = Convert.ToInt32(idHead);
                            rpt.setDb = Class.DBConnString.sDb;
                            rpt.ShowDialog();
                    }
                    retuenNulltext();
                }
                this.DialogResult = DialogResult.OK;
            }
        }
예제 #2
0
 /*เรียกใช้หน้ารายงานใบเบิก*/
 private void PrintReport(String _SaleAppHeadId,String db,int i)
 {
     if (MessageBox.Show("คุณต้องการพิมพ์ใบเบิก " + ((dataGridView1.CurrentRow.Cells[1].Value.ToString() != "-") ? dataGridView1.CurrentRow.Cells[1].Value.ToString() : _SaleAppHeadId), "ยืนยันการพิมพ์", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) == System.Windows.Forms.DialogResult.OK)
     {
         Transf.TranferRpt rpt = new Transf.TranferRpt(i);
         rpt.StartPosition = FormStartPosition.CenterScreen;
         rpt.setSaleAppHeadId = Convert.ToInt32(_SaleAppHeadId);
         rpt.setDb = db;
         rpt.ShowDialog();
     }
 }