コード例 #1
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                if (_chkAdd)
                {
                    if (txtKey.Text.Trim() == string.Empty)
                    {
                        MessageBox.Show("Bạn hãy nhập mã khách hàng muốn thêm!", "Thông báo");
                    }
                    else
                    {
                        if (CTHDBUL.checkMaCTHDBUL(txtKey.Text.Trim()))
                        {
                            CTHD item = new CTHD();
                            item.MACTHD = txtKey.Text;
                            item.MaSach = cmbSach.SelectedValue.ToString();
                            item.MaHD = cmbHD.SelectedValue.ToString();
                            item.SL_BAN = Convert.ToInt16(txtSL_Ban.Text);

                            //insert into database
                            //Chỉ bán cho khách có số nợ dưới 20000
                            //SL_Ton sau >= 20
                            if (ThamSoBUL.SelectThamSoBUL() != null && ThamSoBUL.SelectThamSoBUL().SuDungQuyDinh == true)
                            {

                                if (!CTHDBUL.checkKH_CTHDBUL(item.MaHD))
                                {
                                    MessageBox.Show("Do khách hàng có số nợ lớn hơn 20000\nNên không thể thực hiện giao dịch này", "Thông Báo");
                                }
                                else if ((CTHDBUL.TakeSach_SL_TonBUL(item.MaSach) - item.SL_BAN) < ThamSoBUL.SelectThamSoBUL().SL_TonSauToiThieu)
                                {
                                    MessageBox.Show("Số lượng tồn sau khi bán nhỏ hơn 20\n Nên không thể thực hiện giao dịch này ", "Thông Báo");
                                }
                                else
                                {
                                    CTHDBUL.InsertCTHDBUL(item);
                                    MessageBox.Show("Bạn đã thêm chi tiết hóa đơn [" + txtKey.Text + "] thành công", "Thông báo");

                                    txtKey.Text = String.Empty;
                                    cmbHD.SelectedIndex = -1;
                                    cmbSach.SelectedIndex = -1;
                                    txtSL_Ban.Text = String.Empty;
                                }
                            }
                            else
                            {
                                CTHDBUL.InsertCTHDBUL(item);
                                MessageBox.Show("Bạn đã thêm chi tiết hóa đơn [" + txtKey.Text + "] thành công", "Thông báo");

                                txtKey.Text = String.Empty;
                                cmbHD.SelectedIndex = -1;
                                cmbSach.SelectedIndex = -1;
                                txtSL_Ban.Text = String.Empty;
                            }
                        }
                        else
                        {
                            MessageBox.Show("Mã CTHD đã tồn tại, bạn hãy nhâp một mã CTHD khác!", "Cảnh báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                    }
                }
                else
                {
                    if (txtKey.Text.Trim() != string.Empty)
                    {
                        DialogResult dialog = MessageBox.Show("Bạn có muốn sửa chi tiết hóa đơn?", "Thông báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
                        if (dialog == DialogResult.OK)
                        {
                            CTHD item = new CTHD();
                            item.MACTHD = txtKey.Text;
                            item.MaSach = cmbSach.ValueMember;
                            item.MaHD = cmbHD.ValueMember;
                            item.SL_BAN = Convert.ToInt16(txtSL_Ban.Text);

                            //insert into database
                            //Chỉ bán cho khách có số nợ dưới 20000
                            //SL_Ton sau >= 20
                            if (ThamSoBUL.SelectThamSoBUL() != null && ThamSoBUL.SelectThamSoBUL().SuDungQuyDinh == true)
                            {
                                if (!CTHDBUL.checkKH_CTHDBUL(item.MaHD))
                                {
                                    MessageBox.Show("Do khách hàng có số nợ lớn hơn 20000\nNên không thể thực hiện giao dịch này", "Thông Báo");
                                }
                                else if ((CTHDBUL.TakeSach_SL_TonBUL(item.MaSach) - item.SL_BAN) < ThamSoBUL.SelectThamSoBUL().SL_TonSauToiThieu)
                                {
                                    MessageBox.Show("Số lượng tồn sau khi bán nhỏ hơn 20\n Nên không thể thực hiện giao dịch này ", "Thông Báo");
                                }
                                else
                                {
                                    CTHDBUL.UpdateCTHDBUL(item);
                                    MessageBox.Show("Bạn đã sửa chi tiết hóa đơn [" + txtKey.Text + "] thành công", "Thông báo");
                                }
                            }
                            else
                            {
                                CTHDBUL.UpdateCTHDBUL(item);
                                MessageBox.Show("Bạn đã sửa chi tiết hóa đơn [" + txtKey.Text + "] thành công", "Thông báo");
                            }
                        }

                    }
                    else
                    {
                        MessageBox.Show("Không tìm được mã CTHD để cập nhật!", "Thông báo");
                    }

                }

                Reload();

                _chkAdd = false;

                btnAdd.Text = "Thêm";
                btnUpdate.Text = "Sửa";
                btnSave.Enabled = false;
                btnDelete.Enabled = true;
                btnAdd.Enabled = true;

                txtKey.Enabled = false;
                cmbHD.Enabled = false;
                cmbSach.Enabled = false;
                txtSL_Ban.Enabled = false;

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #2
0
        public static void UpdateCTHDDAL(CTHD item)
        {
            var queryCTHD_Cu = db.CTHDs.Single(i => i.MACTHD == item.MACTHD);
            var queryS = db.SACHes.Single(i=>i.MaSach == item.MaSach);
            var queryHD = db.HOADONs.Single(i=>i.MaHD == item.MaHD);

            var queryKH = db.KHACHHANGs.Single(i => i.MaKH == queryHD.MaKH);

            //Thay đổi tồn sách
            queryS.SL_Ton = queryS.SL_Ton - queryCTHD_Cu.SL_BAN + item.SL_BAN;

            //thay đổi số tiền nợ khách hàng
            queryKH.SoTienNo = queryKH.SoTienNo - queryCTHD_Cu.SL_BAN * queryS.DonGia * Convert.ToDecimal(1.05) + item.SL_BAN * queryS.DonGia * Convert.ToDecimal(1.05);

            //Thay đổi CTHD
            var query = db.CTHDs.Single(i => i.MACTHD == item.MACTHD);
            query.MaSach = item.MaSach;
            query.MaHD = item.MaHD;
            query.SL_BAN = item.SL_BAN;

            db.SubmitChanges();
        }
コード例 #3
0
        public static void InsertCTHDDAL(CTHD item)
        {
            var queryHD = db.HOADONs.Single(i => i.MaHD == item.MaHD);
            var queryS = db.SACHes.Single(i => i.MaSach == item.MaSach);
            var query = db.KHACHHANGs.Single(i => i.MaKH == queryHD.MaKH);
            query.SoTienNo = query.SoTienNo + item.SL_BAN * queryS.DonGia * Convert.ToDecimal(1.05);

            queryS.SL_Ton = queryS.SL_Ton - item.SL_BAN;

            item.XoaDuLieu = false;
            db.CTHDs.InsertOnSubmit(item);

            db.SubmitChanges();
        }
コード例 #4
0
 public static void InsertCTHDBUL(CTHD item)
 {
     CTHDController.InsertCTHDDAL(item);
 }
コード例 #5
0
 public static void UpdateCTHDBUL(CTHD item)
 {
     CTHDController.UpdateCTHDDAL(item);
 }
コード例 #6
0
 partial void DeleteCTHD(CTHD instance);
コード例 #7
0
 partial void UpdateCTHD(CTHD instance);
コード例 #8
0
 partial void InsertCTHD(CTHD instance);
コード例 #9
0
		private void detach_CTHDs(CTHD entity)
		{
			this.SendPropertyChanging();
			entity.SACH = null;
		}
コード例 #10
0
		private void attach_CTHDs(CTHD entity)
		{
			this.SendPropertyChanging();
			entity.SACH = this;
		}