Example #1
0
        private void btnPay_Click(object sender, EventArgs e)
        {
            //결제끝
            Sell       s  = Sell.Load();
            frmPayment fm = (frmPayment)Owner;

            if (tboxBit.Text == "")
            {
                tboxReceive.Text = tboxTotal.Text;
                tboxBit.Text     = "0";
                tboxChange.Text  = "0";
            }
            if (decimal.Parse(tboxBit.Text) == 0)
            {
                con         = DBcontroller.Instance();
                s.Cashmoney = s.Cashmoney + int.Parse(tboxReceive.Text);
                fm.T1.Text  = "0";
                fm.T2.Text  = "0"; //payList
                fm.T3.Text  = "0";
                fm.T4.Text  = "0";
                fm.T5.Text  = "0";


                int type = 1;
                if (s.Pointmoney != 0)
                {
                    type = 3;
                }
                try
                {
                    con.Open();
                    using (var cmd = new SqlCommand("InsertSell", con))
                    {
                        cmd.CommandType = CommandType.StoredProcedure;
                        if (s.ClientID == null)
                        {
                            cmd.Parameters.AddWithValue("@memberNum", DBNull.Value);
                        }
                        else
                        {
                            cmd.Parameters.AddWithValue("@memberNum", int.Parse(s.ClientID));
                        }

                        cmd.Parameters.AddWithValue("@sellDate", DateTime.Now);
                        cmd.Parameters.AddWithValue("@clientNum", s.Ages);
                        cmd.Parameters.AddWithValue("@methodNum", type);
                        cmd.Parameters.AddWithValue("@totalMoney", s.Tot);
                        cmd.Parameters.AddWithValue("@receiveCash", s.Cashmoney);
                        cmd.Parameters.AddWithValue("@receiveCard", s.Cardmoeny);
                        cmd.Parameters.AddWithValue("@receivePoint", s.Pointmoney);
                        cmd.Parameters.AddWithValue("@note", s.Sale.ToString());
                        cmd.Parameters.AddWithValue("@savePoint", s.SavePoint);
                        cmd.Parameters.AddWithValue("@empNum", s.EmpId);
                        cmd.Parameters.AddWithValue("@card", DBNull.Value);
                        cmd.Parameters.AddWithValue("@preturn", DBNull.Value);
                        cmd.Parameters.AddWithValue("@returnReason", DBNull.Value);
                        cmd.ExecuteNonQuery();
                    }
                    fm.T2.Text  = "************이전 정보 \r\n";
                    fm.T2.Text += "현금 결제 : " + tboxTotal.Text + "원\r\n";
                    fm.T2.Text += "카드 결제 : " + s.Cardmoeny + "원\r\n";
                    fm.T2.Text += "포인트 결제 : " + s.Pointmoney + "원\r\n";
                    con.Close();
                    con.Open();
                    foreach (DataRow row in fm.Ss.Rows)
                    {
                        using (var ccmd = new SqlCommand("InsertSellInfo", con))
                        {
                            ccmd.CommandType = CommandType.StoredProcedure;


                            decimal salesquantity = 0;
                            decimal tot           = -1 * int.Parse(row["할인"].ToString());
                            salesquantity = tot / decimal.Parse(row["단가"].ToString());
                            ccmd.Parameters.AddWithValue("@barcode", row["바코드"].ToString());
                            ccmd.Parameters.AddWithValue("@quantity", row["수량"].ToString());
                            ccmd.Parameters.AddWithValue("@salesquantity", tot);
                            ccmd.ExecuteNonQuery();
                        }
                    }
                    if (s.ClientID != null)
                    {
                        using (var ccmd = new SqlCommand("UpdatePoint", con))
                        {
                            MessageBox.Show(s.ClientID.ToString());
                            ccmd.CommandType = CommandType.StoredProcedure;
                            ccmd.Parameters.AddWithValue("@phone", s.Phone);
                            ccmd.Parameters.AddWithValue("@point", s.SavePoint);
                            ccmd.ExecuteNonQuery();
                        }

                        using (var ccmd = new SqlCommand("SelectMemberGrade", con))
                        {
                            MessageBox.Show("Test");
                            ccmd.CommandType = CommandType.StoredProcedure;
                            ccmd.Parameters.AddWithValue("@phone", s.Phone);
                            ccmd.ExecuteNonQuery();
                        }
                    }

                    foreach (DataRow row in fm.Ss.Rows)
                    {
                        using (var ccmd = new SqlCommand("UpdateProducts", con))
                        {
                            ccmd.CommandType = CommandType.StoredProcedure;
                            ccmd.Parameters.AddWithValue("@barcode", row["바코드"].ToString());
                            ccmd.Parameters.AddWithValue("@quantity", row["수량"].ToString());
                            if (ccmd.ExecuteNonQuery() != 1)
                            {
                                MessageBox.Show("상품 재고 업데이트 에러");
                            }
                        }
                    }


                    Sell.Clear();
                    fm.Ss.Clear();
                    con.Close();
                    this.Dispose();
                }
                catch (Exception msg)
                {
                    con.Close();
                    MessageBox.Show(msg.Message);
                }
            }
            //복합결제
            else
            {
                s.Cashmoney = int.Parse(tboxReceive.Text);

                fm.T5.Text  = (int.Parse(fm.T5.Text) - int.Parse(tboxReceive.Text)).ToString();
                fm.T2.Text  = "************이전 정보 \r\n";
                fm.T2.Text += "현금 결제 : " + s.Cashmoney + "원\r\n";
                fm.T2.Text += "카드 결제 : " + s.Cardmoeny + "원\r\n";
                fm.T2.Text += "포인트 결제 : " + s.Pointmoney + "원\r\n";
                this.Dispose();
            }
        }