Пример #1
0
        public void TestDeNghiXuatDieuChuyen()
        {
            //Lấy số tồn kho của một sản phẩm có mã là xxx (ví dụ ban đầu là 5)
            //Ma san pham: 06000178 - 279
            HangTonKhoInfo hangTonKhoBanDau = HangTonKhoDataProvider.GetHangTonKhoById(Declare.IdKho, 279, 0);

            //tạo một chứng từ đề nghị xuất tiêu hao có số là ABC1, nhập sản phẩm xxx với số lượng nhập là 2
            //số phiếu : PNNB0100070000001
            deNghiXuatDieuChuyenInfor = new ChungTuDieuChuyenInfor()
            {
                SoChungTu   = soPhieu,
                LoaiChungTu = Convert.ToInt32(TransactionType.DE_NGHI_XUAT_DIEU_CHUYEN),
                GhiChu      = "Test Nghiệp Vụ",
                IdKho       = Declare.IdKho
            };
            DeNghiDieuChuyenBussiness deNghiDieuChuyenBussiness = new DeNghiDieuChuyenBussiness(deNghiXuatDieuChuyenInfor);

            deNghiDieuChuyenBussiness.ListChiTietChungTu.Add(new DeNghiDieuChuyenInfor
            {
                IdSanPham = 279,
                SoLuong   = 2
            });
            deNghiDieuChuyenBussiness.SaveChungTu();

            //Lấp số tồn kho của sản phẩm xxx (kết quả hy vọng olà 7)
            HangTonKhoInfo hangTonKhoSauKhiXuat = HangTonKhoDataProvider.GetHangTonKhoById(Declare.IdKho, 279, 0);

            //Kiểm tra có đúng là kết quả mong đợi - ban đầu có bằng 2 không?
            Assert.AreEqual(hangTonKhoBanDau.SoLuong, hangTonKhoSauKhiXuat.SoLuong);
            Assert.AreEqual(hangTonKhoBanDau.TonAo - 2, hangTonKhoSauKhiXuat.TonAo);
        }
 public frm_PhieuDeNghiDieuChuyenCungTT(ChungTuDieuChuyenInfor info)
     : base(info, Declare.Prefix.PhieuXuatDieuChuyen)
 {
     InitializeComponent();
     Common.LoadStyle(this);
     dgvChiTiet.AutoGenerateColumns = false;
     business  = new DeNghiDieuChuyenBussiness(info);
     trangThai = business.ChungTu.TrangThai;
 }
Пример #3
0
 public frm_DieuChuyenBase(ChungTuDieuChuyenInfor info, string soPhieuPrefix) : base(soPhieuPrefix)
 {
     InitializeComponent();
     chungTuInfo = info;
     OID         = chungTuInfo.IdChungTu;
     SoChungTu   = chungTuInfo.SoChungTu;
     SoPO        = String.Empty;
     NgayLap     = chungTuInfo.NgayLap.ToString();
 }
Пример #4
0
 public frm_PhieuDeNghiDieuChuyen(ChungTuDieuChuyenInfor chungTuDeNghiXuatDieuChuyenInfor)
     : base(chungTuDeNghiXuatDieuChuyenInfor.IdChungTu, chungTuDeNghiXuatDieuChuyenInfor.SoChungTu, chungTuDeNghiXuatDieuChuyenInfor.NgayLap.ToString(), string.Empty, Declare.Prefix.PhieuXuatDieuChuyen)
 {
     InitializeComponent();
     LoadKho();
     Common.LoadStyle(this);
     dgvChiTiet.AutoGenerateColumns = false;
     cboKho.Enabled = true;
     business       = new DeNghiDieuChuyenBussiness(chungTuDeNghiXuatDieuChuyenInfor);
 }
Пример #5
0
 public int Insert(ChungTuDieuChuyenInfor chungTuXuatDieuChuyenInfor)
 {
     ExecInsertCommand(Declare.StoreProcedureNamespace.spChungTuXDCInsert, chungTuXuatDieuChuyenInfor.IdChungTu,
                       chungTuXuatDieuChuyenInfor.SoChungTu,
                       chungTuXuatDieuChuyenInfor.IdKho,
                       chungTuXuatDieuChuyenInfor.IdNguoiNhapXuatKho,
                       chungTuXuatDieuChuyenInfor.LoaiChungTu,
                       chungTuXuatDieuChuyenInfor.NgayNhapXuatKho,
                       chungTuXuatDieuChuyenInfor.TrangThai,
                       chungTuXuatDieuChuyenInfor.IdKhoDieuChuyen);
     return(Convert.ToInt32(Parameters["p_IdChungTu"].Value.ToString()));
 }
Пример #6
0
 public void Update(ChungTuDieuChuyenInfor chungTuXuatDieuChuyenInfor)
 {
     ExecUpdateCommand(Declare.StoreProcedureNamespace.spChungTuXDCUpdate, chungTuXuatDieuChuyenInfor.IdChungTu,
                       chungTuXuatDieuChuyenInfor.SoChungTu,
                       chungTuXuatDieuChuyenInfor.IdKho,
                       chungTuXuatDieuChuyenInfor.IdNguoiNhapXuatKho,
                       chungTuXuatDieuChuyenInfor.LoaiChungTu,
                       chungTuXuatDieuChuyenInfor.NgayNhapXuatKho,
                       chungTuXuatDieuChuyenInfor.TrangThai,
                       chungTuXuatDieuChuyenInfor.GhiChu);
     //chungTuXuatDieuChuyenInfor.IdKhoDieuChuyen);
 }
        private void PhieuXuat_Click(object sender, EventArgs e)
        {
            if (grvBCNhanChuyenKho.FocusedRowHandle < 0)
            {
                return;
            }
            ChungTuDieuChuyenInfor info = DeNghiDieuChuyenDataProvider.Instance.GetInforDNDCByIdChungTu(
                ((BCTongHopHangChuyenKhoInfo)grvBCNhanChuyenKho.GetRow(grvBCNhanChuyenKho.FocusedRowHandle)).
                IdPhieuXuat);
            frm_PhieuDieuChuyenCungTT frm = new frm_PhieuDieuChuyenCungTT(info);

            if (frm.ShowDialog() == DialogResult.OK)
            {
                //grcBCNhanChuyenKho.DataSource = XuatDieuChuyenDataProvider.Instance.GetBCTongHopChuyenKho(MaTrungTam, MaKho, Convert.ToDateTime(deFrom.EditValue), Convert.ToDateTime(deTo.EditValue));
            }
        }
Пример #8
0
 public frm_PhieuDieuChuyenCungTT(ChungTuDieuChuyenInfor info)
     : base(info, Declare.Prefix.PhieuXuatDieuChuyen)
 {
     InitializeComponent();
     Common.LoadStyle(this);
     dgvChiTiet.AutoGenerateColumns = false;
     business     = new XuatDieuChuyenBusiness(info);
     idChungTuGoc = info.IdChungTu;
     SoChungTu    = info.SoChungTu;
     NgayLap      = info.NgayLap;
     if (business.ListChiTietHangHoa.Count == 0)
     {
         btnXacNhan.Text    = "Import Mã";
         btnXacNhan.Visible = true;
     }
     isDaXacNhanNhapKho = !String.IsNullOrEmpty(DeNghiNhanDieuChuyenDataProvider.Instance.ChungTuDaXacNhanNhapKho(chungTuInfo.SoChungTu));
 }
Пример #9
0
        public void TestXuatDieuChuyen()
        {
            TestDeNghiXuatDieuChuyen();
            //Lấy số tồn kho của một sản phẩm có mã là xxx (ví dụ ban đầu là 5)
            //Ma san pham: 06000178 - 279
            HangTonKhoInfo hangTonKhoBanDau = HangTonKhoDataProvider.GetHangTonKhoById(Declare.IdKho, 279, 0);

            //tạo một chứng từ xuất tiêu hao có số là ABC1, nhập sản phẩm xxx với số lượng nhập là 2
            //số phiếu : PNNB0100070000001
            xuatDieuChuyenInfor = new ChungTuDieuChuyenInfor()
            {
                IdChungTu   = deNghiXuatDieuChuyenInfor.IdChungTu,
                SoChungTu   = soPhieu,
                LoaiChungTu = Convert.ToInt32(TransactionType.XUAT_DIEU_CHUYEN),
                GhiChu      = "Test Nghiệp Vụ",
                IdKho       = Declare.IdKho
            };
            XuatDieuChuyenBusiness xuatDieuChuyenBusiness = new XuatDieuChuyenBusiness(xuatDieuChuyenInfor);

            xuatDieuChuyenBusiness.ListChiTietChungTu.Add(new ChungTu_ChiTietInfo
            {
                IdSanPham = 279,
                SoLuong   = 2
            });
            xuatDieuChuyenBusiness.ListChiTietHangHoa.Add(new ChungTu_ChiTietHangHoaBaseInfo
            {
                IdSanPham = 279,
                MaVach    = "1234TESTNGHIEPVU",
                SoLuong   = 1
            });
            xuatDieuChuyenBusiness.ListChiTietHangHoa.Add(new ChungTu_ChiTietHangHoaBaseInfo
            {
                IdSanPham = 279,
                MaVach    = "5678TESTNGHIEPVU",
                SoLuong   = 1
            });
            xuatDieuChuyenBusiness.SaveChungTu();

            //Lấp số tồn kho của sản phẩm xxx (kết quả hy vọng olà 7)
            HangTonKhoInfo hangTonKhoSauKhiXuat = HangTonKhoDataProvider.GetHangTonKhoById(Declare.IdKho, 279, 0);

            //Kiểm tra có đúng là kết quả mong đợi - ban đầu có bằng 2 không?
            Assert.AreEqual(hangTonKhoBanDau.SoLuong - 4, hangTonKhoSauKhiXuat.SoLuong);
            Assert.AreEqual(hangTonKhoBanDau.TonAo, hangTonKhoSauKhiXuat.TonAo);
        }
Пример #10
0
 public void Update(ChungTuDieuChuyenInfor chungTuDeNghiXuatDieuChuyenInfor)
 {
     ExecUpdateCommand(Declare.StoreProcedureNamespace.spChungTuDNDCUpdate,
                       chungTuDeNghiXuatDieuChuyenInfor.IdChungTu,
                       chungTuDeNghiXuatDieuChuyenInfor.SoChungTu,
                       chungTuDeNghiXuatDieuChuyenInfor.IdKho,
                       chungTuDeNghiXuatDieuChuyenInfor.IdNhanVien,
                       chungTuDeNghiXuatDieuChuyenInfor.LoaiChungTu,
                       chungTuDeNghiXuatDieuChuyenInfor.NgayLap,
                       chungTuDeNghiXuatDieuChuyenInfor.TrangThai,
                       chungTuDeNghiXuatDieuChuyenInfor.IdKhoDieuChuyen,
                       chungTuDeNghiXuatDieuChuyenInfor.GhiChu,
                       chungTuDeNghiXuatDieuChuyenInfor.HoaDonDC,
                       chungTuDeNghiXuatDieuChuyenInfor.PhuongTien,
                       chungTuDeNghiXuatDieuChuyenInfor.IdNguoiUyNhiem,
                       chungTuDeNghiXuatDieuChuyenInfor.IdNguoiVC,
                       chungTuDeNghiXuatDieuChuyenInfor.IdNguoiUyNhiem);
 }
Пример #11
0
        private void grvDanhSach_DoubleClick(object sender, EventArgs e)
        {
            if (grvDanhSach.FocusedRowHandle < 0)
            {
                return;
            }
            ChungTuDieuChuyenInfor          info = ((ChungTuDieuChuyenInfor)grvDanhSach.GetRow(grvDanhSach.FocusedRowHandle));
            frm_PhieuDeNghiDieuChuyenCungTT frm  = new frm_PhieuDeNghiDieuChuyenCungTT(info);

            foreach (DMKhoCBOLoadInfo nguoiDungInfor in ((NguoiDungInfor)Declare.USER_INFOR).KhoNguoiDung)
            {
                IdKho += nguoiDungInfor.IdKho + ",";
            }
            if (frm.ShowDialog() == DialogResult.OK)
            {
                grcDanhSach.DataSource = XuatDieuChuyenDataProvider.GetListDeNghiXuatDieuChuyen(IdKho);
            }
        }
Пример #12
0
 public int Insert(ChungTuDieuChuyenInfor chungTuDeNghiXuatDieuChuyenInfor)
 {
     ExecInsertCommand(Declare.StoreProcedureNamespace.spChungTuDNDCInsert,
                       chungTuDeNghiXuatDieuChuyenInfor.SoChungTu,
                       chungTuDeNghiXuatDieuChuyenInfor.IdKho,
                       chungTuDeNghiXuatDieuChuyenInfor.IdNhanVien,
                       chungTuDeNghiXuatDieuChuyenInfor.LoaiChungTu,
                       chungTuDeNghiXuatDieuChuyenInfor.NgayLap,
                       chungTuDeNghiXuatDieuChuyenInfor.TrangThai,
                       chungTuDeNghiXuatDieuChuyenInfor.IdKhoDieuChuyen,
                       chungTuDeNghiXuatDieuChuyenInfor.GhiChu,
                       chungTuDeNghiXuatDieuChuyenInfor.IdNguoiUyNhiem,
                       chungTuDeNghiXuatDieuChuyenInfor.IdNguoiVC,
                       chungTuDeNghiXuatDieuChuyenInfor.IdNguoiKyDuyet,
                       chungTuDeNghiXuatDieuChuyenInfor.HoaDonDC,
                       chungTuDeNghiXuatDieuChuyenInfor.PhuongTien,
                       chungTuDeNghiXuatDieuChuyenInfor.TongTienHang);
     chungTuDeNghiXuatDieuChuyenInfor.IdChungTu = Convert.ToInt32(Parameters["p_IdChungTu"].Value.ToString());
     //chungTuDeNghiXuatDieuChuyenInfor.SoChungTu = Convert.ToString(Parameters["p_SoChungTu"].Value);
     return(Convert.ToInt32(Parameters["p_IdChungTu"].Value.ToString()));
 }
        private void XoaLine_Click(object sender, EventArgs e)
        {
            try
            {
                string soChungTuXuat =
                    ((BCChiTietHangChuyenKhoInfo)grvBCNhanChuyenKho.GetRow(grvBCNhanChuyenKho.FocusedRowHandle)).
                    SoPhieuXuat;

                string soChungTuNhan =
                    ((BCChiTietHangChuyenKhoInfo)grvBCNhanChuyenKho.GetRow(grvBCNhanChuyenKho.FocusedRowHandle)).
                    SoPhieuNhan;

                string maVach =
                    ((BCChiTietHangChuyenKhoInfo)grvBCNhanChuyenKho.GetRow(grvBCNhanChuyenKho.FocusedRowHandle)).
                    MaVach;

                string maSanPham =
                    ((BCChiTietHangChuyenKhoInfo)grvBCNhanChuyenKho.GetRow(grvBCNhanChuyenKho.FocusedRowHandle)).
                    MaSanPham;

                int idSanPham =
                    QLBanHang.Modules.DanhMuc.Providers.DmSanPhamProvider.Instance.GetSanPhamByMa(maSanPham).IdSanPham;

                if (MessageBox.Show("Bạn có chắc chắn xóa không?", "Xác nhận xóa mã vạch", MessageBoxButtons.YesNo) == DialogResult.No)
                {
                    return;
                }

                ConnectionUtil.Instance.BeginTransaction();

                ChungTuDieuChuyenInfor infoXuat =
                    tblChungTuDataProvider.GetChungTuBySoChungTu <ChungTuDieuChuyenInfor>(soChungTuXuat);

                if (!String.IsNullOrEmpty(soChungTuNhan))
                {
                    ChungTuNhapDieuChuyenInfor infoNhap =
                        tblChungTuDataProvider.GetChungTuBySoChungTu <ChungTuNhapDieuChuyenInfor>(soChungTuNhan);

                    NhanDieuChuyenBussiness       nhanDieuChuyenBussiness = new NhanDieuChuyenBussiness(infoNhap);
                    DeNghiNhanDieuChuyenBussiness deNghiNhanDieuChuyenBussiness;
                    if (nhanDieuChuyenBussiness.ListChiTietHangHoa.Count > 0)
                    {
                        ChungTu_ChiTietHangHoaBaseInfo chiTietHangHoaBaseInfo =
                            nhanDieuChuyenBussiness.ListChiTietHangHoa.Find(delegate(ChungTu_ChiTietHangHoaBaseInfo match)
                        {
                            return(match.MaVach == maVach &&
                                   match.IdSanPham == idSanPham);
                        });

                        ChungTu_ChiTietInfo chungTuChiTietInfo =
                            nhanDieuChuyenBussiness.ListChiTietChungTu.Find(delegate(ChungTu_ChiTietInfo match)
                        {
                            return(match.IdSanPham == idSanPham);
                        });

                        nhanDieuChuyenBussiness.ListChiTietHangHoa.Remove(chiTietHangHoaBaseInfo);

                        if (chiTietHangHoaBaseInfo.SoLuong == chungTuChiTietInfo.SoLuong)
                        {
                            nhanDieuChuyenBussiness.ListChiTietChungTu.Remove(chungTuChiTietInfo);
                        }
                        else
                        {
                            chungTuChiTietInfo.SoLuong -= chiTietHangHoaBaseInfo.SoLuong;
                        }

                        nhanDieuChuyenBussiness.SaveChungTu();

                        deNghiNhanDieuChuyenBussiness = new DeNghiNhanDieuChuyenBussiness(infoNhap);

                        DeNghiNhanDieuChuyenInfor deNghiNhanDieuChuyenInfor = deNghiNhanDieuChuyenBussiness.ListChiTietChungTu.Find(
                            delegate(DeNghiNhanDieuChuyenInfor match)
                        {
                            return(match.IdSanPham == idSanPham);
                        });

                        if (chiTietHangHoaBaseInfo.SoLuong == deNghiNhanDieuChuyenInfor.SoLuong)
                        {
                            deNghiNhanDieuChuyenBussiness.ListChiTietChungTu.Remove(deNghiNhanDieuChuyenInfor);
                        }
                        else
                        {
                            deNghiNhanDieuChuyenInfor.SoLuong -= chiTietHangHoaBaseInfo.SoLuong;
                        }

                        deNghiNhanDieuChuyenBussiness.SaveChungTu();
                    }
                    else
                    {
                        deNghiNhanDieuChuyenBussiness = new DeNghiNhanDieuChuyenBussiness(infoNhap);

                        DeNghiNhanDieuChuyenInfor deNghiNhanDieuChuyenInfor = deNghiNhanDieuChuyenBussiness.ListChiTietChungTu.Find(
                            delegate(DeNghiNhanDieuChuyenInfor match)
                        {
                            return(match.IdSanPham == idSanPham);
                        });

                        deNghiNhanDieuChuyenBussiness.ListChiTietChungTu.Remove(deNghiNhanDieuChuyenInfor);

                        deNghiNhanDieuChuyenBussiness.SaveChungTu();
                    }
                }

                XuatDieuChuyenBusiness    xuatDieuChuyenBusiness = new XuatDieuChuyenBusiness(infoXuat);
                DeNghiDieuChuyenBussiness deNghiDieuChuyenBussiness;

                if (xuatDieuChuyenBusiness.ListChiTietHangHoa.Count > 0)
                {
                    ChungTu_ChiTietInfo chungTuChiTietInfo =
                        xuatDieuChuyenBusiness.ListChiTietChungTu.Find(delegate(ChungTu_ChiTietInfo match)
                    {
                        return(match.IdSanPham == idSanPham);
                    });

                    ChungTu_ChiTietHangHoaBaseInfo chiTietHangHoaBaseInfo =
                        xuatDieuChuyenBusiness.ListChiTietHangHoa.Find(delegate(ChungTu_ChiTietHangHoaBaseInfo match)
                    {
                        return(match.MaVach == maVach &&
                               match.IdSanPham == idSanPham);
                    });

                    xuatDieuChuyenBusiness.ListChiTietHangHoa.Remove(chiTietHangHoaBaseInfo);

                    if (chiTietHangHoaBaseInfo.SoLuong == chungTuChiTietInfo.SoLuong)
                    {
                        xuatDieuChuyenBusiness.ListChiTietChungTu.Remove(chungTuChiTietInfo);
                    }
                    else
                    {
                        chungTuChiTietInfo.SoLuong -= chiTietHangHoaBaseInfo.SoLuong;
                    }

                    xuatDieuChuyenBusiness.SaveChungTu();

                    deNghiDieuChuyenBussiness = new DeNghiDieuChuyenBussiness(infoXuat);

                    DeNghiDieuChuyenInfor deNghiDieuChuyenInfor = deNghiDieuChuyenBussiness.ListChiTietChungTu.Find(
                        delegate(DeNghiDieuChuyenInfor match)
                    {
                        return(match.IdSanPham == idSanPham);
                    });

                    if (chiTietHangHoaBaseInfo.SoLuong == deNghiDieuChuyenInfor.SoLuong)
                    {
                        deNghiDieuChuyenBussiness.ListChiTietChungTu.Remove(deNghiDieuChuyenInfor);
                    }
                    else
                    {
                        deNghiDieuChuyenInfor.SoLuong -= chiTietHangHoaBaseInfo.SoLuong;
                    }

                    deNghiDieuChuyenBussiness.SaveChungTu();
                }

                ConnectionUtil.Instance.CommitTransaction();

                //grcBCNhanChuyenKho.DataSource = XuatDieuChuyenDataProvider.Instance.GetBCChiTietChuyenKho(MaTrungTam, MaKho, Convert.ToDateTime(deFrom.EditValue), Convert.ToDateTime(deTo.EditValue));
            }
            catch (Exception ex)
            {
                ConnectionUtil.Instance.RollbackTransaction();
#if DEBUG
                MessageBox.Show(ex.ToString());
#else
                MessageBox.Show(ex.Message);
#endif
            }
        }