예제 #1
0
        private bool CheckChiTietBan()
        {
            // số lượng
            try
            {
                int k = Int32.Parse(txtSoLuong.Text);
                if (k == 0)
                {
                    k = 3 / k;
                }
            }
            catch {
                MessageBox.Show("Số lượng phải là số nguyên dương", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }

            // check hàng trong kho
            try
            {
                CHITIETXUAT tg = getChiTietBanByForm();
                int         k  = Int32.Parse(txtSoLuong.Text);
                int         sl = (int)db.KHOes.Where(p => p.SACHID == tg.SACHID).FirstOrDefault().SOLUONG;
                if (k > sl)
                {
                    MessageBox.Show("Không đủ hàng", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return(false);
                }
            }
            catch { }

            return(true);
        }
예제 #2
0
        private void btnThemChiTietBan_Click(object sender, EventArgs e)
        {
            if (btnThemChiTietBan.Text == "Thêm")
            {
                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();
                        db.CHITIETXUATs.Add(tg);
                        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 nhập 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 nhập thất bại\n" + ex.Message, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }


                    LoadDgvCHITIETXUAT();
                    UpdateDetailHOADONBAN();
                }

                return;
            }
        }
예제 #3
0
        private void btnThem_Click(object sender, EventArgs e)
        {
            try
            {
                KHO kho = null;
               
                XUAT xuat = db.XUATs.ToList()[index];
                CHITIETXUAT ctx = new CHITIETXUAT();

                ctx.XUATID = xuat.XUATID;
                ctx.MATHANGID = (int)cbxMatHang.SelectedValue;
                ctx.SOLUONG = (int)txtSoLuong.Value;
                ctx.GIABAN = (int)txtDonGia.Value;

                try
                {
                    kho = db.KHOes.Where(p => p.MATHANGID == ctx.MATHANGID).First();
                }
                catch
                {

                }

                if (kho == null || kho.SOLUONG < ctx.SOLUONG)
                {
                    MessageBox.Show("Số lượng hàng trong kho của mặt hàng " + cbxMatHang.Text + " không đủ", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                kho.SOLUONG -= ctx.SOLUONG;
                List<CHITIETXUAT> ct = db.CHITIETXUATs.Where(p => p.XUATID == xuat.XUATID).ToList();
                int i = 1;
                foreach (var r in ct)
                {
                    if (r.MATHANGID == (int)cbxMatHang.SelectedValue)
                    {
                        r.SOLUONG += (int)txtSoLuong.Value;
                        db.SaveChanges();
                        i = 0;
                        break;
                    }
                }
                if(i==1)
                db.CHITIETXUATs.Add(ctx);
                db.SaveChanges();

                MessageBox.Show("Thêm chi tiết xuất thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                LoadDgvChiTietXuat();
            }
            catch
            {

            }
        }
예제 #4
0
        private void btnXoaChiTietBan_Click(object sender, EventArgs e)
        {
            if (btnXoaChiTietBan.Text == "Xó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;
                }

                DialogResult rs = MessageBox.Show("Bạn có chắc chắn xóa thông tin Chi tiết nhập 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 nhập thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                catch
                {
                    MessageBox.Show("Xóa Chi tiết nhập 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;
            }
        }
예제 #5
0
        private void btnXoa_Click(object sender, EventArgs e)
        {
            try
            {
                int         id  = (int)dgvChiTietXuat.GetFocusedRowCellValue("MaCTX");
                CHITIETXUAT ctx = db.CHITIETXUATs.Where(p => p.CHITIETXUATID == id).First();

                db.CHITIETXUATs.Remove(ctx);
                db.SaveChanges();

                MessageBox.Show("Xóa chi tiết xuất thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                LoadDgvChiTietXuat();
            }
            catch
            {
            }
        }
예제 #6
0
        private CHITIETXUAT getChiTietBanByID()
        {
            CHITIETXUAT ans = new CHITIETXUAT();

            try
            {
                int         id = (int)dgvChiTietBan.SelectedRows[0].Cells["IDChiTietNhap"].Value;
                CHITIETXUAT z  = db.CHITIETXUATs.Where(p => p.ID == id).FirstOrDefault();

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

            return(ans);
        }
예제 #7
0
        private void dgvChiTietXuat_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
        {
            try
            {
                int id = (int)dgvChiTietXuat.GetFocusedRowCellValue("MaCTX");

                CHITIETXUAT ctn = db.CHITIETXUATs.ToList().Where(p => p.CHITIETXUATID == id).First();

                cbxMatHang.SelectedValue = ctn.MATHANGID;
                txtDonViTinh.Text        = db.MATHANGs.Where(p => p.MATHANGID == ctn.MATHANGID).First().DONVITINH;
                txtDonGia.Value          = (int)ctn.GIABAN;
                txtSoLuong.Value         = (int)ctn.SOLUONG;
                txtThanhTien.Text        = (ctn.GIABAN * ctn.SOLUONG).ToString();
            }
            catch
            {
            }
        }
예제 #8
0
        private CHITIETXUAT getChiTietBanByForm()
        {
            CHITIETXUAT ans = new CHITIETXUAT();

            try
            {
                int idHOADONBAN;
                ans.MATHANGID = (int)cbxMatHang.SelectedValue;
                ans.SOLUONG   = Int32.Parse(txtSoLuong.Text);
                ans.GIABAN    = Int32.Parse(txtDonGia.Text);
                ans.THANHTIEN = ans.SOLUONG * ans.GIABAN;

                idHOADONBAN     = (int)dgvHoaDonBan.SelectedRows[0].Cells["IDPhieuNhap"].Value;
                ans.HOADONBANID = idHOADONBAN;
            }
            catch { }

            return(ans);
        }
예제 #9
0
        private CHITIETXUAT getChiTietBanByForm()
        {
            CHITIETXUAT ans = new CHITIETXUAT();

            try
            {
                int idHOADONBAN;
                ans.SACHID    = (int)cbxSACH.SelectedValue;
                ans.SOLUONG   = Int32.Parse(txtSoLuong.Text);
                ans.GIABAN    = db.SACHes.Where(p => p.ID == ans.SACHID).FirstOrDefault().GIABAN;
                ans.THANHTIEN = ans.SOLUONG * ans.GIABAN;

                idHOADONBAN     = (int)dgvHoaDonBan.SelectedRows[0].Cells["IDPhieuNhap"].Value;
                ans.HOADONBANID = idHOADONBAN;
            }
            catch { }

            return(ans);
        }
예제 #10
0
        private void UpdateDetailChiTietBan()
        {
            ClearControlCHITIETBAN();
            CHITIETXUAT tg = getChiTietBanByID();

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

            try
            {
                cbxSACH.SelectedValue = (int)tg.SACHID;
                txtSoLuong.Text       = tg.SOLUONG.ToString();
                txtThanhTien.Text     = tg.THANHTIEN.ToString();

                indexCHITIETXUAT1 = indexCHITIETXUAT;
                indexCHITIETXUAT  = dgvChiTietBan.SelectedRows[0].Index;
            }
            catch { }
        }
예제 #11
0
        private void btnSuaChiTietBan_Click(object sender, EventArgs e)
        {
            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.MATHANGID = tgs.MATHANGID;
                    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 nhập 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 nhập thất bại\n" + ex.Message, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }



                    UpdateDetailHOADONBAN();
                    LoadDgvCHITIETXUAT();
                }

                return;
            }
        }
예제 #12
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();
            }
        }
예제 #13
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;
            }
        }
예제 #14
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;
            }
        }
예제 #15
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;
            }
        }