예제 #1
0
        private void BtnTaoHoaDon_Click(object sender, EventArgs e)
        {
            txtSoLuong.Enabled = true;
            btnXacNhan.Enabled = true;

            HOADONBAN hdb = new HOADONBAN();

            hdb.MaNV       = int.Parse(cboNV.SelectedValue.ToString());
            hdb.MaKH       = int.Parse(cboKH.SelectedValue.ToString());
            hdb.NgayLapHDB = DateTime.Parse(dateNgayTao.Text);
            //hdb.GhiChu = txtGhiChu.Text();

            if (txtSdt.Text == "" || dateNgayTao.Text == "")
            {
            }
            else
            {
                if (banhangdal.ThemHD(hdb))
                {
                    drvHoaDon.DataSource = hdb;
                    MessageBox.Show("Thanh cong");
                }
                else
                {
                    MessageBox.Show("That bai");
                }
            }
            txtMaHDB.Text        = banhangdal.GetMaHDB();
            drvHoaDon.DataSource = banhangdal.loadHDB();
        }
예제 #2
0
 public FrmThemChiTietHoaDon(HOADONBAN z)
 {
     InitializeComponent();
     Helper.Reload();
     pn = z;
     Helper.IDSanPham = db.MATHANGs.FirstOrDefault().ID;
 }
예제 #3
0
        private void btnLapPhieuNhap_Click(object sender, EventArgs e)
        {
            if (Check())
            {
                HOADONBAN z = getPhieuNhapByForm();
                db.HOADONBANs.Add(z);
                try
                {
                    db.SaveChanges();
                    MessageBox.Show("Lập hóa đơn thành công",
                                    "Thông báo",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Information);

                    Helper.IDHoaDon = z.ID;
                    pn = z;

                    btnLapHoaDon.Enabled = false;
                    LoadOldHoaDon();
                }
                catch
                {
                }
                return;
            }
        }
예제 #4
0
        private void btnSuaHOADONBAN_Click(object sender, EventArgs e)
        {
            HOADONBAN tg = getHOADONBANByID();

            if (tg.ID == 0)
            {
                MessageBox.Show("Chưa có phiếu nhập nào được chọn", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (btnSuaHoaDonBan.Text == "Sửa")
            {
                btnSuaHoaDonBan.Text     = "Lưu";
                btnThemHoaDonBan.Enabled = false;
                btnXoaHoaDonBan.Text     = "Hủy";

                groupThongTinHoaDonBan.Enabled = true;
                dgvHoaDonBan.Enabled           = false;

                panelChiTietXuat.Enabled = false;

                return;
            }

            if (btnSuaHoaDonBan.Text == "Lưu")
            {
                if (CheckHOADONBAN())
                {
                    btnSuaHoaDonBan.Text     = "Sửa";
                    btnThemHoaDonBan.Enabled = true;
                    btnXoaHoaDonBan.Text     = "Xóa";

                    groupThongTinHoaDonBan.Enabled = false;
                    dgvHoaDonBan.Enabled           = true;

                    panelChiTietXuat.Enabled = true;

                    HOADONBAN tgs = getHOADONBANByForm();
                    tg.NHANVIENID = tgs.NHANVIENID;
                    tg.NGAY       = tgs.NGAY;
                    tg.TONGTIEN   = tgs.TONGTIEN;

                    try
                    {
                        db.SaveChanges();
                        MessageBox.Show("Sửa thông tin phiếu nhập thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Sửa thông tin phiếu nhập thất bại\n" + ex.Message, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }

                    LoadDgvHOADONBAN();
                }

                return;
            }
        }
예제 #5
0
        private void btnXoaHOADONBAN_Click(object sender, EventArgs e)
        {
            if (btnXoaHoaDonBan.Text == "Xóa")
            {
                HOADONBAN tg = getHOADONBANByID();
                if (tg.ID == 0)
                {
                    MessageBox.Show("Chưa có phiếu nhập nào được chọn", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                DialogResult rs = MessageBox.Show("Bạn có chắc chắn xóa thông tin phiếu nhập này?", "Thông báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                if (rs == DialogResult.Cancel)
                {
                    return;
                }

                try
                {
                    db.CHITIETXUATs.RemoveRange(db.CHITIETXUATs.Where(p => p.HOADONBANID == tg.ID));
                    db.SaveChanges();

                    db.HOADONBANs.Remove(tg);
                    db.SaveChanges();


                    MessageBox.Show("Xóa phiếu nhập thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                catch
                {
                    MessageBox.Show("Xóa phiếu nhập thất bại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

                LoadDgvHOADONBAN();

                return;
            }

            if (btnXoaHoaDonBan.Text == "Hủy")
            {
                btnXoaHoaDonBan.Text  = "Xóa";
                btnThemHoaDonBan.Text = "Thêm";
                btnSuaHoaDonBan.Text  = "Sửa";

                btnThemHoaDonBan.Enabled = true;
                btnSuaHoaDonBan.Enabled  = true;

                groupThongTinHoaDonBan.Enabled = false;
                dgvHoaDonBan.Enabled           = true;

                panelChiTietXuat.Enabled = true;

                UpdateDetailHOADONBAN();

                return;
            }
        }
예제 #6
0
 private void Gan_Obj(HOADONBAN obj)
 {
     obj.Mahoadon    = txtMaHDB.Text.Trim();
     obj.Sohoadonban = int.Parse(txtSohoadon.Text.Trim());
     obj.Tongtien    = float.Parse(txttongtien.Text.Trim());
     obj.Makhachhang = cmbKhachHang.SelectedValue.ToString();
     obj.Manhanvien  = cmbTenNHV.SelectedValue.ToString();
     obj.Ngayban     = DateTime.Parse(dtpngayban.Text.Trim());
 }
예제 #7
0
 public ucLapPhieuXuat()
 {
     InitializeComponent();
     Helper.Reload();
     pn = db.HOADONBANs.Where(p => p.ID == Helper.IDHoaDon).FirstOrDefault();
     if (pn == null)
     {
         pn = new HOADONBAN();
     }
 }
예제 #8
0
        private HOADONBAN getHOADONBANByForm()
        {
            HOADONBAN ans = new HOADONBAN();

            ans.NHANVIENID = (int)cbxNhanVien.SelectedValue;
            ans.NGAY       = dateNgayNhap.Value;
            ans.TONGTIEN   = 0;
            //ans.TONGTIEN = Int32.Parse(txtTongTien.Text);

            return(ans);
        }
예제 #9
0
        private HOADONBAN getPhieuNhapByForm()
        {
            HOADONBAN ans = new HOADONBAN();

            ans.MAHOADON   = txtMaHoaDon.Text;
            ans.NGAY       = dateNgayBan.DateTime;
            ans.NHANVIENID = (int)cbxNhanVien.EditValue;
            ans.TONGTIEN   = Int32.Parse(txtChiPhi.Text);


            return(ans);
        }
예제 #10
0
 public bool them(HOADONBAN pmh)
 {
     try
     {
         da.HOADONBANs.InsertOnSubmit(pmh);
         da.SubmitChanges();
         return(true);
     }
     catch
     {
         return(false);
     }
 }
예제 #11
0
 public Boolean ThemHD(HOADONBAN hdb)
 {
     try
     {
         db.HOADONBANs.InsertOnSubmit(hdb);
         db.SubmitChanges();
         return(true);
     }
     catch
     {
         return(false);
     }
 }
예제 #12
0
        private void btnThemHOADONBAN_Click(object sender, EventArgs e)
        {
            if (btnThemHoaDonBan.Text == "Thêm")
            {
                btnThemHoaDonBan.Text   = "Lưu";
                btnSuaHoaDonBan.Enabled = false;
                btnXoaHoaDonBan.Text    = "Hủy";

                groupThongTinHoaDonBan.Enabled = true;
                dgvHoaDonBan.Enabled           = false;

                panelChiTietXuat.Enabled = false;

                ClearControlHOADONBAN();

                return;
            }

            if (btnThemHoaDonBan.Text == "Lưu")
            {
                if (CheckHOADONBAN())
                {
                    btnThemHoaDonBan.Text   = "Thêm";
                    btnSuaHoaDonBan.Enabled = true;
                    btnXoaHoaDonBan.Text    = "Xóa";

                    groupThongTinHoaDonBan.Enabled = false;
                    dgvHoaDonBan.Enabled           = true;

                    panelChiTietXuat.Enabled = true;


                    try
                    {
                        HOADONBAN tg = getHOADONBANByForm();
                        db.HOADONBANs.Add(tg);
                        db.SaveChanges();
                        MessageBox.Show("Thêm thông tin phiếu nhập thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Thêm thông tin phiếu nhập thất bại\n" + ex.Message, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }


                    LoadDgvHOADONBAN();
                }

                return;
            }
        }
예제 #13
0
 public bool xoa(HOADONBAN pmh)
 {
     try
     {
         HOADONBAN mh = da.HOADONBANs.Where(t => t.MAHD == pmh.MAHD.ToString()).FirstOrDefault();
         da.HOADONBANs.DeleteOnSubmit(mh);
         da.SubmitChanges();
         return(true);
     }
     catch
     {
         return(false);
     }
 }
예제 #14
0
        private void UpdateDetail()
        {
            try
            {
                int       ID = (int)dgvHoaDon.GetFocusedRowCellValue("ID");
                HOADONBAN hd = db.HOADONBANs.Where(p => p.ID == ID).FirstOrDefault();

                txtMaHoaDon.Text   = hd.MAHOADON;
                dateNgayBan.Text   = ((DateTime)hd.NGAY).ToString("dd/MM/yyyy");
                txtNhanVien.Text   = db.NHANVIENs.Where(p => p.ID == hd.NHANVIENID).FirstOrDefault().TEN;
                txtTongChiPhi.Text = ((int)hd.TONGTIEN).ToString("N0");

                LoadChiTietHoaDon();
            }
            catch { }
        }
예제 #15
0
        private void UpdateDetailHOADONBAN()
        {
            ClearControlHOADONBAN();
            HOADONBAN tg = getHOADONBANByID();

            if (tg.ID == 0)
            {
                return;
            }


            int TongTienCu = (int)tg.TONGTIEN;

            try
            {
                try
                {
                    int cnt = 0;
                    cnt = db.CHITIETXUATs.Where(p => p.HOADONBANID == tg.ID).ToList().Count;
                    if (cnt == 0)
                    {
                        tg.TONGTIEN = 0;
                    }


                    tg.TONGTIEN = db.CHITIETXUATs.Where(p => p.HOADONBANID == tg.ID).Sum(p => p.THANHTIEN).Value;
                }
                catch { tg.TONGTIEN = 0; }

                if (TongTienCu != tg.TONGTIEN)
                {
                    LoadDgvHOADONBAN();
                }
                db.SaveChanges();

                cbxNhanVien.SelectedValue = tg.NHANVIENID;
                dateNgayNhap.Value        = (DateTime)tg.NGAY;
                txtTongTien.Text          = tg.TONGTIEN.ToString();

                indexHOADONBAN1 = indexHOADONBAN;
                indexHOADONBAN  = dgvHoaDonBan.SelectedRows[0].Index;


                LoadDgvCHITIETXUAT();
            }
            catch { }
        }
예제 #16
0
        public bool ktkc(HOADONBAN pmh)
        {
            int r = da.HOADONBANs.Count(t => t.MAHD == pmh.MAHD.ToString());

            try
            {
                if (r == 0)
                {
                    return(true);
                }
                return(false);
            }
            catch
            {
                return(false);
            }
        }
예제 #17
0
        private void btnInHoaDon_Click(object sender, EventArgs e)
        {
            HOADONBAN hd = getHOADONBANByID();

            if (hd.ID == 0)
            {
                MessageBox.Show("Chưa có hóa đơn nào được chọn",
                                "Thông báo",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
                return;
            }

            FrmRpInHoaDon form = new FrmRpInHoaDon(hd);

            form.ShowDialog();
        }
예제 #18
0
        private HOADONBAN getHOADONBANByID()
        {
            HOADONBAN ans = new HOADONBAN();

            try
            {
                int       id = (int)dgvHoaDonBan.SelectedRows[0].Cells["IDPhieuNhap"].Value;
                HOADONBAN z  = db.HOADONBANs.Where(p => p.ID == id).FirstOrDefault();

                if (z != null)
                {
                    ans = z;
                }
            }
            catch { }

            return(ans);
        }
예제 #19
0
 private void btnInHoaDon_Click(object sender, EventArgs e)
 {
     try
     {
         int         ID   = (int)dgvHoaDon.GetFocusedRowCellValue("ID");
         HOADONBAN   hd   = db.HOADONBANs.Where(p => p.ID == ID).FirstOrDefault();
         FrmRpHoaDon form = new FrmRpHoaDon(hd);
         form.ShowDialog();
     }
     catch
     {
         MessageBox.Show("Chưa có hóa đơn nào được chọn",
                         "Thông báo",
                         MessageBoxButtons.OK,
                         MessageBoxIcon.Error);
         return;
     }
 }
예제 #20
0
 public bool sua(HOADONBAN pmh)
 {
     try
     {
         HOADONBAN thanhvien = da.HOADONBANs.Where(t => t.MAHD == pmh.MAHD.ToString()).FirstOrDefault();
         thanhvien.MANV      = pmh.MANV;
         thanhvien.NGAYLAP   = pmh.NGAYLAP;
         thanhvien.MAKHTT    = pmh.MAKHTT;
         thanhvien.KHVANGLAI = pmh.KHVANGLAI;
         thanhvien.CHIECKHAU = pmh.CHIECKHAU;
         thanhvien.TONGTIEN  = pmh.TONGTIEN;
         da.SubmitChanges();
         return(true);
     }
     catch
     {
         return(false);
     }
 }
예제 #21
0
        private void btnThem_Click(object sender, EventArgs e)
        {
            Double    t   = 0;
            HOADONBAN hdb = new HOADONBAN();
            int       b   = 0;

            for (int i = 1; i <= dgv_hdb.RowCount; i++)
            {
                b = i;
            }
            hdb.MAHD     = "HDB" + (b + 1).ToString();
            hdb.NGAYLAP  = Convert.ToDateTime(dateEdit_NgayLap.Text.ToString());
            hdb.MANV     = txt_nvlap.Text.ToString();
            hdb.TONGTIEN = 0;
            if (radioButton1.Checked == true)
            {
                hdb.MAKHTT = txt_khtt.Text.ToString();
                t          = Convert.ToDouble(txt_chietkhau.Text.ToString());
            }
            else
            {
                t             = 0;
                hdb.KHVANGLAI = txt_kvl.Text.ToString();
            }
            hdb.CHIECKHAU = t;
            if (bll_hdb.ktkc_hdb(hdb) == true)
            {
                if (bll_hdb.themhdb(hdb) == true)
                {
                    MessageBox.Show("thêm thành công");
                    dgv_hdb.DataSource = bll_hdb.loadbang_hdb();
                }
                else
                {
                    MessageBox.Show("thất bại");
                }
            }
            else
            {
                MessageBox.Show("hóa đơn hảng này đã tồn tại");
            }
        }
예제 #22
0
        private void LoadChiTietHoaDon()
        {
            try
            {
                int       ID = (int)dgvHoaDon.GetFocusedRowCellValue("ID");
                HOADONBAN hd = db.HOADONBANs.Where(p => p.ID == ID).FirstOrDefault();

                int i = 0;
                dgvChiTietHoaDonMain.DataSource = db.CHITIETHOADONs.Where(p => p.HOADONBANID == hd.ID).ToList()
                                                  .Select(p => new
                {
                    ID        = p.ID,
                    STT       = ++i,
                    MatHang   = Helper.TenSanPham(db.MATHANGs.Where(z => z.ID == p.MATHANGID).FirstOrDefault()),
                    DonGia    = ((int)p.DONGIA).ToString("N0"),
                    SoLuong   = p.SOLUONG,
                    ThanhTien = ((int)p.THANHTIEN).ToString("N0")
                })
                                                  .ToList();
            }
            catch { }
        }
예제 #23
0
        private void btnxoa_Click(object sender, EventArgs e)
        {
            HOADONBAN nhomnd = new HOADONBAN();

            nhomnd.MAHD = txt_mahd.Text.ToString();
            if (bll_hdb.ktkc_hdb(nhomnd) == false)
            {
                if (bll_hdb.xoahdb(nhomnd) == true)
                {
                    MessageBox.Show("xóa thành công");
                    dgv_hdb.DataSource = bll_hdb.loadbang_hdb();
                }
                else
                {
                    MessageBox.Show("bạn không có quyền xóa");
                }
            }
            else
            {
                MessageBox.Show("nhóm không tồn tại");
            }
        }
예제 #24
0
        private void buttonX1_Click(object sender, EventArgs e)
        {
            if (txtMahd.Text == "" || txtmanv.Text == "" || txtchietkhau.Text == "")
            {
                MessageBox.Show("Không được để trống");
                return;
            }
            d = 1;
            HOADONBAN hd = new HOADONBAN();
            var       kt = from s in db.HOADONBANs where s.MAHD == txtMahd.Text select s;

            if (kt.Count() > 0)
            {
                MessageBox.Show("Trùng khóa chính");
                return;
            }
            hd.MAHD     = txtMahd.Text;
            hd.NGAYLAP  = Convert.ToDateTime(DateTime.Now.ToShortDateString());
            hd.MANV     = txtmanv.Text;
            hd.TONGTIEN = 0;
            if (rdb_kvl.Checked == true)
            {
                txt_kvl.Visible = true;
                hd.KHVANGLAI    = txt_kvl.Text;
                txt_kvl.Text    = db.SINHMA_KH();
                txtMahd.Text    = db.SINHMA_HDB();
            }
            else
            {
                txtmakh.Visible = true;
                hd.KHVANGLAI    = txtmakh.Text;
            }
            hd.CHIECKHAU = Convert.ToDouble(txtchietkhau.Text.ToString());
            db.HOADONBANs.InsertOnSubmit(hd);
            db.SubmitChanges();
            this.hOADONBANTableAdapter.Fill(this.dataSet_ShopGiay.HOADONBAN);
            //CTHD_Load(sender, e);
            MessageBox.Show("Thành công");
        }
예제 #25
0
        private void btnsua_Click(object sender, EventArgs e)
        {
            Double    t   = 0;
            HOADONBAN hdb = new HOADONBAN();

            hdb.MAHD     = txt_mahd.Text.ToString();
            hdb.NGAYLAP  = Convert.ToDateTime(dateEdit_NgayLap.Text.ToString());
            hdb.MANV     = txt_nvlap.Text.ToString();
            hdb.TONGTIEN = 0;
            if (radioButton1.Checked == true)
            {
                hdb.MAKHTT = txt_khtt.Text.ToString();
                t          = Convert.ToDouble(txt_chietkhau.Text.ToString());
            }
            else
            {
                t             = 0;
                hdb.KHVANGLAI = txt_kvl.Text.ToString();
            }
            hdb.CHIECKHAU = t;
            if (bll_hdb.ktkc_hdb(hdb) == false)
            {
                if (bll_hdb.suahdb(hdb) == true)
                {
                    MessageBox.Show("sửa thành công");
                    dgv_hdb.DataSource = bll_hdb.loadbang_hdb();
                }
                else
                {
                    MessageBox.Show("thất bại");
                }
            }
            else
            {
                MessageBox.Show("hóa đơn hảng này chưa tồn tại");
            }
        }
예제 #26
0
        public bool Up_Obj(HOADONBAN obj)
        {
            try
            {
                conn.OpenConn();
                //    DataTable dt = new DataTable();
                SqlCommand cmd = new SqlCommand("suahoadonban", conn.SQL_CONN);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add(new SqlParameter("@mahoadon", obj.Mahoadon));
                cmd.Parameters.Add(new SqlParameter("@manhanvien", obj.Manhanvien));
                cmd.Parameters.Add(new SqlParameter("@makhachhang", obj.Makhachhang));
                cmd.Parameters.AddWithValue("@sohoadonban", Convert.ToInt32(obj.Sohoadonban));
                cmd.Parameters.AddWithValue("@tongtien", Convert.ToDouble(obj.Tongtien));
                cmd.Parameters.AddWithValue("@ngayban", Convert.ToDateTime(obj.Ngayban));
                cmd.ExecuteNonQuery();
                conn.CloseConn();
                return(true);
            }

            catch (Exception ex1)
            {
                throw;
            }
        }
예제 #27
0
        private void btnThemChiTietBan_Click(object sender, EventArgs e)
        {
            if (btnThemChiTietBan.Text == "Thêm")
            {
                // kiểm tra quyền nhân viên
                HOADONBAN z = getHOADONBANByID();

                if (z.ID == 0)
                {
                    MessageBox.Show("Chưa có hóa đơn bán nào được chọn",
                                    "Thông báo",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);
                    return;
                }

                NHANVIEN nvtg = db.NHANVIENs.Where(p => p.ID == z.NHANVIENID).FirstOrDefault();

                if (nv.QUYEN == 0 && nv.ID != nvtg.ID)
                {
                    // nếu nhân viên không phải là admin và không phải nhân viên nhập phiếu thì thông báo
                    MessageBox.Show("Bạn không có quyền thêm chi tiết bán\nChỉ quản trị và nhân viên nhập phiếu mới có quyền thêm chi tiết nhập",
                                    "Thông báo",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);
                    return;
                }

                btnThemChiTietBan.Text   = "Lưu";
                btnSuaChiTietBan.Enabled = false;
                btnXoaChiTietBan.Text    = "Hủy";

                groupThongTinChiTietBan.Enabled = true;
                dgvChiTietBan.Enabled           = false;

                panelHoaDonBan.Enabled = false;

                ClearControlCHITIETBAN();

                return;
            }

            if (btnThemChiTietBan.Text == "Lưu")
            {
                if (CheckChiTietBan())
                {
                    btnThemChiTietBan.Text   = "Thêm";
                    btnSuaChiTietBan.Enabled = true;
                    btnXoaChiTietBan.Text    = "Xóa";

                    groupThongTinChiTietBan.Enabled = false;
                    dgvChiTietBan.Enabled           = true;

                    panelHoaDonBan.Enabled = true;


                    try
                    {
                        CHITIETXUAT tg = getChiTietBanByForm();

                        int cnt = db.CHITIETXUATs.Where(p => p.HOADONBANID == tg.HOADONBANID && p.SACHID == tg.SACHID).ToList().Count;
                        if (cnt == 0)
                        {
                            db.CHITIETXUATs.Add(tg);
                        }
                        else
                        {
                            CHITIETXUAT z = db.CHITIETXUATs.Where(p => p.HOADONBANID == tg.HOADONBANID && p.SACHID == tg.SACHID).FirstOrDefault();
                            z.SOLUONG  += tg.SOLUONG;
                            z.THANHTIEN = z.SOLUONG * z.GIABAN;
                        }


                        db.SaveChanges();

                        KHO kho = db.KHOes.Where(p => p.SACHID == tg.SACHID).FirstOrDefault();
                        kho.SOLUONG -= tg.SOLUONG;
                        db.SaveChanges();

                        MessageBox.Show("Thêm thông tin Chi tiết bán thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Thêm thông tin Chi tiết bán thất bại\n" + ex.Message, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }


                    LoadDgvCHITIETXUAT();
                    UpdateDetailHOADONBAN();
                }

                return;
            }
        }
예제 #28
0
        private void btnTraSach_Click(object sender, EventArgs e)
        {
            // kiểm tra quyền nhân viên
            HOADONBAN z = getHOADONBANByID();

            if (z.ID == 0)
            {
                MessageBox.Show("Chưa có hóa đơn bán nào được chọn",
                                "Thông báo",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
                return;
            }

            NHANVIEN nvtg = db.NHANVIENs.Where(p => p.ID == z.NHANVIENID).FirstOrDefault();

            if (nv.QUYEN == 0 && nv.ID != nvtg.ID)
            {
                // nếu nhân viên không phải là admin và không phải nhân viên nhập phiếu thì thông báo
                MessageBox.Show("Bạn không có quyền trả sách\nChỉ quản trị và nhân viên nhập phiếu mới có quyền trả sách",
                                "Thông báo",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
                return;
            }

            // kiểm tra xem có chi tiết bán nào được chọn k
            CHITIETXUAT tg = getChiTietBanByID();

            if (tg.ID == 0)
            {
                MessageBox.Show("Chưa có chi tiết bán nào được chọn",
                                "Thông báo",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
                return;
            }

            if (numSoLuong.Value > tg.SOLUONG)
            {
                MessageBox.Show("Số lượng sách trả phải nhỏ hơn hoặc bằng số lượng trong đơn phiếu bán",
                                "Thông báo",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
                return;
            }

            try
            {
                tg.SOLUONG  -= (int)numSoLuong.Value;
                tg.THANHTIEN = tg.SOLUONG * tg.GIABAN;

                KHO zkho = db.KHOes.Where(p => p.SACHID == tg.SACHID).FirstOrDefault();
                zkho.SOLUONG += (int)numSoLuong.Value;

                if (tg.SOLUONG == 0)
                {
                    db.CHITIETXUATs.Remove(tg);
                }
                db.SaveChanges();

                MessageBox.Show("Trả sách thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Trả sách thất bại\n" + ex.Message,
                                "Thông báo",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
            }
            finally
            {
                UpdateDetailHOADONBAN();
                LoadDgvCHITIETXUAT();
            }
        }
예제 #29
0
        private void btnXoaChiTietBan_Click(object sender, EventArgs e)
        {
            if (btnXoaChiTietBan.Text == "Xóa")
            {
                // kiểm tra quyền nhân viên
                HOADONBAN z = getHOADONBANByID();

                if (z.ID == 0)
                {
                    MessageBox.Show("Chưa có hóa đơn bán nào được chọn",
                                    "Thông báo",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);
                    return;
                }

                NHANVIEN nvtg = db.NHANVIENs.Where(p => p.ID == z.NHANVIENID).FirstOrDefault();

                if (nv.QUYEN == 0 && nv.ID != nvtg.ID)
                {
                    // nếu nhân viên không phải là admin và không phải nhân viên nhập phiếu thì thông báo
                    MessageBox.Show("Bạn không có quyền thêm xóa chi tiết bán\nChỉ quản trị và nhân viên nhập phiếu mới có quyền xóa chi tiết nhập",
                                    "Thông báo",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);
                    return;
                }

                // kiểm tra xem co chi tiết bán nào được chọn k
                CHITIETXUAT tg = getChiTietBanByID();
                if (tg.ID == 0)
                {
                    MessageBox.Show("Chưa có Chi tiết bán nào được chọn", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                DialogResult rs = MessageBox.Show("Bạn có chắc chắn xóa thông tin Chi tiết bán này?", "Thông báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                if (rs == DialogResult.Cancel)
                {
                    return;
                }

                try
                {
                    db.CHITIETXUATs.Remove(tg);
                    db.SaveChanges();
                    MessageBox.Show("Xóa Chi tiết bán thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                catch
                {
                    MessageBox.Show("Xóa Chi tiết bán thất bại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

                LoadDgvCHITIETXUAT();
                UpdateDetailHOADONBAN();

                return;
            }

            if (btnXoaChiTietBan.Text == "Hủy")
            {
                btnXoaChiTietBan.Text  = "Xóa";
                btnThemChiTietBan.Text = "Thêm";
                btnSuaChiTietBan.Text  = "Sửa";

                btnThemChiTietBan.Enabled = true;
                btnSuaChiTietBan.Enabled  = true;

                groupThongTinChiTietBan.Enabled = false;
                dgvChiTietBan.Enabled           = true;

                panelHoaDonBan.Enabled = true;

                UpdateDetailChiTietBan();


                return;
            }
        }
예제 #30
0
        private void btnSuaChiTietBan_Click(object sender, EventArgs e)
        {
            // kiểm tra quyền nhân viên
            HOADONBAN z = getHOADONBANByID();

            if (z.ID == 0)
            {
                MessageBox.Show("Chưa có hóa đơn bán nào được chọn",
                                "Thông báo",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
                return;
            }

            NHANVIEN nvtg = db.NHANVIENs.Where(p => p.ID == z.NHANVIENID).FirstOrDefault();

            if (nv.QUYEN == 0 && nv.ID != nvtg.ID)
            {
                // nếu nhân viên không phải là admin và không phải nhân viên nhập phiếu thì thông báo
                MessageBox.Show("Bạn không có quyền sửa chi tiết bán\nChỉ quản trị và nhân viên nhập phiếu mới có quyền sửa chi tiết nhập",
                                "Thông báo",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
                return;
            }

            /// kiểm tra xem trong bảng có chi tiết nhập nào chưa
            CHITIETXUAT tg = getChiTietBanByID();

            if (tg.ID == 0)
            {
                MessageBox.Show("Chưa có Chi tiết nhập nào được chọn", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (btnSuaChiTietBan.Text == "Sửa")
            {
                btnSuaChiTietBan.Text     = "Lưu";
                btnThemChiTietBan.Enabled = false;
                btnXoaChiTietBan.Text     = "Hủy";

                groupThongTinChiTietBan.Enabled = true;
                dgvChiTietBan.Enabled           = false;

                panelHoaDonBan.Enabled = false;

                return;
            }

            if (btnSuaChiTietBan.Text == "Lưu")
            {
                if (CheckChiTietBan())
                {
                    btnSuaChiTietBan.Text     = "Sửa";
                    btnThemChiTietBan.Enabled = true;
                    btnXoaChiTietBan.Text     = "Xóa";

                    groupThongTinChiTietBan.Enabled = false;
                    dgvChiTietBan.Enabled           = true;

                    panelHoaDonBan.Enabled = true;

                    CHITIETXUAT tgs = getChiTietBanByForm();
                    tg.SACHID    = tgs.SACHID;
                    tg.SOLUONG   = tgs.SOLUONG;
                    tg.GIABAN    = tgs.GIABAN;
                    tg.THANHTIEN = tgs.THANHTIEN;

                    try
                    {
                        db.SaveChanges();
                        MessageBox.Show("Sửa thông tin Chi tiết bán thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Sửa thông tin Chi tiết bán thất bại\n" + ex.Message, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }



                    UpdateDetailHOADONBAN();
                    LoadDgvCHITIETXUAT();
                }

                return;
            }
        }