Пример #1
0
        private void grvDanhSach_DoubleClick(object sender, EventArgs e)
        {
            if (grvDanhSach.FocusedRowHandle < 0)
            {
                return;
            }
            ChungTuNhapDieuChuyenInfor info =
                (ChungTuNhapDieuChuyenInfor)grvDanhSach.GetRow(grvDanhSach.FocusedRowHandle);

            if (info.LoaiChungTu == Convert.ToInt32(TransactionType.DE_NGHI_NHAN_DIEU_CHUYEN) ||
                info.LoaiChungTu == Convert.ToInt32(TransactionType.NHAN_DIEU_CHUYEN))
            {
                ChungTuDeNghiNhanDieuChuyenInfor pt  = NhanDieuChuyenDataProvider.GetChungTuBySoCtg(info.SoChungTuGoc);
                frm_PhieuNhanDieuChuyen          frm = new frm_PhieuNhanDieuChuyen(info);
                foreach (DMKhoCBOLoadInfo nguoiDungInfor in ((NguoiDungInfor)Declare.USER_INFOR).KhoNguoiDung)
                {
                    IdKho += nguoiDungInfor.IdKho + ",";
                }
                if (frm.ShowDialog() == DialogResult.OK)
                {
                    liDM = NhanDieuChuyenDataProvider.GetListNhanDieuChuyen(IdKho);
                    grcDanhSach.DataSource = liDM;
                }
            }
            else
            {
                MessageBox.Show("Số chứng từ yêu cầu chưa được tạo!", "Thông báo");
                return;
            }
        }
Пример #2
0
        public void TestDeNghiNhanDieuChuyen()
        {
            //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
            deNghiNhanDieuChuyenInfor = new ChungTuNhapDieuChuyenInfor()
            {
                SoChungTu   = soPhieu,
                LoaiChungTu = Convert.ToInt32(TransactionType.DE_NGHI_NHAN_DIEU_CHUYEN),
                GhiChu      = "Test Nghiệp Vụ",
                IdKho       = Declare.IdKho
            };
            DeNghiNhanDieuChuyenBussiness deNghiNhanDieuChuyenBussiness = new DeNghiNhanDieuChuyenBussiness(deNghiNhanDieuChuyenInfor);

            deNghiNhanDieuChuyenBussiness.ListChiTietChungTu.Add(new DeNghiNhanDieuChuyenInfor
            {
                IdSanPham = 279,
                SoLuong   = 2
            });
            deNghiNhanDieuChuyenBussiness.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);
        }
Пример #3
0
        private void btnMoPhieu_Click(object sender, EventArgs e)
        {
            if (grvDanhSach.FocusedRowHandle < 0)
            {
                return;
            }
            ChungTuNhapDieuChuyenInfor info =
                (ChungTuNhapDieuChuyenInfor)grvDanhSach.GetRow(grvDanhSach.FocusedRowHandle);

            if (info.LoaiChungTu == 14 || info.LoaiChungTu == 21)
            {
                frm_PhieuNhanDieuChuyen frm = new frm_PhieuNhanDieuChuyen(info);
                foreach (DMKhoCBOLoadInfo nguoiDungInfor in ((NguoiDungInfor)Declare.USER_INFOR).KhoNguoiDung)
                {
                    IdKho += nguoiDungInfor.IdKho + ",";
                }
                if (frm.ShowDialog() == DialogResult.OK)
                {
                    liDM = NhanDieuChuyenDataProvider.GetListNhanDieuChuyen(IdKho);
                    grcDanhSach.DataSource = liDM;
                }
            }
            else
            {
                MessageBox.Show("Số chứng từ yêu cầu chưa được tạo!", "Thông báo");
                return;
            }
        }
 private void PhieuNhan_Click(object sender, EventArgs e)
 {
     try
     {
         if (grvBCNhanChuyenKho.FocusedRowHandle < 0)
         {
             return;
         }
         if (((BCTongHopHangChuyenKhoInfo)grvBCNhanChuyenKho.GetRow(grvBCNhanChuyenKho.FocusedRowHandle)).IdPhieuNhan == 0)
         {
             MessageBox.Show("Chưa có phiếu nhận!");
             return;
         }
         ChungTuNhapDieuChuyenInfor info = DeNghiNhanDieuChuyenDataProvider.Instance.GetInforDNNDCByIdChungTu(
             ((BCTongHopHangChuyenKhoInfo)grvBCNhanChuyenKho.GetRow(grvBCNhanChuyenKho.FocusedRowHandle)).IdPhieuNhan);
         frm_PhieuNhanDieuChuyen frm = new frm_PhieuNhanDieuChuyen(info);
         if (frm.ShowDialog() == DialogResult.OK)
         {
             //grcBCNhanChuyenKho.DataSource = XuatDieuChuyenDataProvider.Instance.GetBCTongHopChuyenKho(MaTrungTam, MaKho, Convert.ToDateTime(deFrom.EditValue), Convert.ToDateTime(deTo.EditValue));
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
 public frm_PhieuDeNghiNhanDieuChuyen(ChungTuNhapDieuChuyenInfor chungTuDeNghiNhanDieuChuyenInfor)
     : base(chungTuDeNghiNhanDieuChuyenInfor.IdChungTu, chungTuDeNghiNhanDieuChuyenInfor.SoChungTu, chungTuDeNghiNhanDieuChuyenInfor.NgayLap.ToString(), string.Empty, Declare.Prefix.PhieuNhanDieuChuyen)
 {
     InitializeComponent();
     Common.LoadStyle(this);
     dgvChiTiet.AutoGenerateColumns = false;
     business = new DeNghiNhanDieuChuyenBussiness(chungTuDeNghiNhanDieuChuyenInfor);
 }
Пример #6
0
 public void Update(ChungTuNhapDieuChuyenInfor chungTuNhanDieuChuyenInfor)
 {
     ExecUpdateCommand(Declare.StoreProcedureNamespace.spChungTuNDCUpdate, chungTuNhanDieuChuyenInfor.IdChungTu,
                       chungTuNhanDieuChuyenInfor.SoChungTu,
                       chungTuNhanDieuChuyenInfor.IdKho,
                       chungTuNhanDieuChuyenInfor.IdNguoiNhapXuatKho,
                       chungTuNhanDieuChuyenInfor.LoaiChungTu,
                       chungTuNhanDieuChuyenInfor.NgayNhapXuatKho,
                       chungTuNhanDieuChuyenInfor.TrangThai);
 }
 public void Update(ChungTuNhapDieuChuyenInfor chungTuDeNghiNhanDieuChuyenInfor)
 {
     ExecUpdateCommand(Declare.StoreProcedureNamespace.spChungTuDNNDCUpdate, chungTuDeNghiNhanDieuChuyenInfor.IdChungTu,
                       chungTuDeNghiNhanDieuChuyenInfor.SoChungTu,
                       chungTuDeNghiNhanDieuChuyenInfor.IdKho,
                       chungTuDeNghiNhanDieuChuyenInfor.IdNhanVien,
                       chungTuDeNghiNhanDieuChuyenInfor.LoaiChungTu,
                       chungTuDeNghiNhanDieuChuyenInfor.NgayLap,
                       chungTuDeNghiNhanDieuChuyenInfor.TrangThai);
 }
Пример #8
0
 public frm_DieuChuyenBase(ChungTuNhapDieuChuyenInfor info, string soPhieuPrefix) : base(soPhieuPrefix)
 {
     InitializeComponent();
     chungTuInfo = info;
     OID         = chungTuInfo.IdChungTu;
     SoChungTu   = chungTuInfo.SoChungTu;
     SoPO        = String.Empty;
     NgayLap     = chungTuInfo.NgayLap.ToString();
     SoCTG       = info.SoChungTuGoc;
 }
Пример #9
0
 public int Insert(ChungTuNhapDieuChuyenInfor chungTuNhanDieuChuyenInfor)
 {
     ExecInsertCommand(Declare.StoreProcedureNamespace.spChungTuNDCInsert, chungTuNhanDieuChuyenInfor.IdChungTu,
                       chungTuNhanDieuChuyenInfor.SoChungTu,
                       chungTuNhanDieuChuyenInfor.IdKho,
                       chungTuNhanDieuChuyenInfor.IdNguoiNhapXuatKho,
                       chungTuNhanDieuChuyenInfor.LoaiChungTu,
                       chungTuNhanDieuChuyenInfor.NgayNhapXuatKho,
                       chungTuNhanDieuChuyenInfor.TrangThai);
     return(Convert.ToInt32(Parameters["p_IdChungTu"].Value.ToString()));
 }
Пример #10
0
 public frm_PhieuDeNghiNhanDieuChuyenNew(ChungTuNhapDieuChuyenInfor info)
     : base(info, Declare.Prefix.PhieuNhanDieuChuyen)
 {
     InitializeComponent();
     Common.LoadStyle(this);
     this.SoCTG                     = info.SoChungTuGoc;
     this.NguoiLap                  = info.NguoiLap;
     this.TenKho                    = info.TenKho;
     this.IdKhoDieuChuyen           = info.IdKhoDieuChuyen;
     this.trangThai                 = info.TrangThai;
     this.SoChungTu                 = info.SoChungTu;
     this.LoaiChungTu               = info.LoaiChungTu;
     dgvChiTiet.AutoGenerateColumns = false;
     business = new DeNghiNhanDieuChuyenBussiness(info);
 }
        private void grvDanhSach_DoubleClick(object sender, EventArgs e)
        {
            if (grvDanhSach.FocusedRowHandle < 0)
            {
                return;
            }
            ChungTuNhapDieuChuyenInfor info = ((ChungTuNhapDieuChuyenInfor)grvDanhSach.GetRow(grvDanhSach.FocusedRowHandle));

            if (info.LoaiChungTu == Convert.ToInt32(TransactionType.DE_NGHI_NHAN_DIEU_CHUYEN) ||
                info.LoaiChungTu == Convert.ToInt32(TransactionType.NHAN_DIEU_CHUYEN))
            {
                PhieuXuat       = info.SoChungTu;
                NgayLap         = info.NgayLap;
                DienGiai        = info.GhiChu;
                idChungTu       = info.IdChungTu;
                SoCTG           = info.SoChungTuGoc;
                TrangThai       = info.TrangThai;
                NguoiLap        = info.NguoiLap;
                TenKho          = info.TenKho;
                IdKhoDieuChuyen = info.IdKhoDieuChuyen;
            }
            else
            {
                idChungTu       = 0;
                NgayLap         = DateTime.Now;
                DienGiai        = info.GhiChu;
                SoCTG           = info.SoChungTuGoc;
                TrangThai       = 0;
                NguoiLap        = Declare.TenNhanVien;
                TenKho          = info.TenKho;
                IdKhoDieuChuyen = info.IdKhoDieuChuyen;
            }

            frm_PhieuDeNghiNhanDieuChuyenNew frm = new frm_PhieuDeNghiNhanDieuChuyenNew(info);

            foreach (DMKhoCBOLoadInfo nguoiDungInfor in ((NguoiDungInfor)Declare.USER_INFOR).KhoNguoiDung)
            {
                IdKho += nguoiDungInfor.IdKho + ",";
            }
            if (frm.ShowDialog() == DialogResult.OK)
            {
                grcDanhSach.DataSource = NhanDieuChuyenDataProvider.GetListNhanDieuChuyen(IdKho);
            }
        }
        private void btnMoPhieu_Click(object sender, EventArgs e)
        {
            if (grvDanhSach.FocusedRowHandle < 0)
            {
                return;
            }
            ChungTuNhapDieuChuyenInfor info = ((ChungTuNhapDieuChuyenInfor)grvDanhSach.GetRow(grvDanhSach.FocusedRowHandle));

            if (info.LoaiChungTu == 14 || info.LoaiChungTu == 21)
            {
                PhieuXuat = info.SoChungTu;
                NgayLap   = info.NgayLap;
                DienGiai  = info.GhiChu;
                idChungTu = info.IdChungTu;
                SoCTG     = info.SoChungTuGoc;
                TrangThai = info.TrangThai;
                NguoiLap  = info.NguoiLap;
                TenKho    = info.TenKho;
                //IdKhoDieuChuyen = info.IdKhoDieuChuyen;
            }
            else
            {
                idChungTu       = 0;
                NgayLap         = CommonProvider.Instance.GetSysDate();
                DienGiai        = info.GhiChu;
                SoCTG           = info.SoChungTu;
                TrangThai       = 0;
                NguoiLap        = Declare.TenNhanVien;
                TenKho          = info.TenKho;
                IdKhoDieuChuyen = info.IdKhoDieuChuyen;
            }

            frm_PhieuDeNghiNhanDieuChuyenNew frm = new frm_PhieuDeNghiNhanDieuChuyenNew(info);

            foreach (DMKhoCBOLoadInfo nguoiDungInfor in ((NguoiDungInfor)Declare.USER_INFOR).KhoNguoiDung)
            {
                IdKho += nguoiDungInfor.IdKho + ",";
            }
            if (frm.ShowDialog() == DialogResult.OK)
            {
                grcDanhSach.DataSource = NhanDieuChuyenDataProvider.GetListNhanDieuChuyen(IdKho);
            }
        }
 public int Insert(ChungTuNhapDieuChuyenInfor chungTuDeNghiNhanDieuChuyenInfor)
 {
     ExecInsertCommand(Declare.StoreProcedureNamespace.spChungTuDNNDCInsert, chungTuDeNghiNhanDieuChuyenInfor.IdChungTu,
                       chungTuDeNghiNhanDieuChuyenInfor.SoChungTu,
                       chungTuDeNghiNhanDieuChuyenInfor.IdKho,
                       chungTuDeNghiNhanDieuChuyenInfor.IdNhanVien,
                       chungTuDeNghiNhanDieuChuyenInfor.LoaiChungTu,
                       chungTuDeNghiNhanDieuChuyenInfor.NgayLap,
                       chungTuDeNghiNhanDieuChuyenInfor.TrangThai,
                       chungTuDeNghiNhanDieuChuyenInfor.SoChungTuGoc,
                       chungTuDeNghiNhanDieuChuyenInfor.GhiChu,
                       chungTuDeNghiNhanDieuChuyenInfor.IdNguoiUyNhiem,
                       chungTuDeNghiNhanDieuChuyenInfor.IdNguoiVC,
                       chungTuDeNghiNhanDieuChuyenInfor.IdNguoiKyDuyet,
                       chungTuDeNghiNhanDieuChuyenInfor.HoaDonDC,
                       chungTuDeNghiNhanDieuChuyenInfor.PhuongTien);
     chungTuDeNghiNhanDieuChuyenInfor.IdChungTu = Convert.ToInt32(Parameters["p_IdChungTu"].Value.ToString());
     //chungTuDeNghiNhanDieuChuyenInfor.SoChungTu = Convert.ToString(Parameters["p_SoChungTu"].Value);
     return(Convert.ToInt32(Parameters["p_IdChungTu"].Value.ToString()));
 }
Пример #14
0
 private void grvDanhSach_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
 {
     if (e.Column.Name == "colTrangThai")
     {
         ChungTuNhapDieuChuyenInfor info = ((ChungTuNhapDieuChuyenInfor)grvDanhSach.GetRow(e.RowHandle));
         if (info == null)
         {
             return;
         }
         if (info.LoaiChungTu == Convert.ToInt32(TransactionType.DE_NGHI_NHAN_DIEU_CHUYEN) ||
             info.LoaiChungTu == Convert.ToInt32(TransactionType.NHAN_DIEU_CHUYEN))
         {
             e.DisplayText = Convert.ToInt32(e.Value) == 2 ? "Chờ nhận hàng (chờ thủ kho nhận nhập hàng vào kho)" : Convert.ToInt32(e.Value) == 4 ? "Chờ xuất serial (chờ thủ kho xuất bắn serial xuất)" : "Đã nhận (kết thúc.)";
         }
         else
         {
             e.DisplayText = Convert.ToInt32(e.Value) == 0 ? "Chờ xác nhận(chờ kế toán kho nhận xác nhận)" : "Đã xuất (thủ kho đã xuất kho, chờ kho nhận làm thủ tục nhận.";
         }
     }
 }
Пример #15
0
        private void SaveBusinessNhanDieuChuyen()
        {
            ChungTu_ChiTietInfo obj = tbl_ChungTuDAO.Instance.GetIdChungTuBySoPhieu(txtSoPhieu.Text.Trim(), Convert.ToInt32(TransactionType.DE_NGHI_NHAN_DIEU_CHUYEN));
            int idChungTu           = 0;

            if (obj != null)
            {
                idChungTu = obj.IdChungTu;
            }

            ChungTuNhapDieuChuyenInfor chungTuNhapDieuChuyenInfor =
                NhanDieuChuyenCungTTDataProvider.Instance.GetChungTuNhanDCBySoCTGoc(chungTuInfo.SoChungTu);

            NhanDieuChuyenCungTTBussiness NhanDieuChuyenBussiness = null;

            if (chungTuNhapDieuChuyenInfor != null)
            {
                if (chungTuNhapDieuChuyenInfor.IdNguoiNhapXuatKho == 0)
                {
                    chungTuNhapDieuChuyenInfor.IdNguoiNhapXuatKho = Declare.IdNhanVien;
                }
                chungTuNhapDieuChuyenInfor.LoaiChungTu     = Convert.ToInt32(TransactionType.NHAN_DIEU_CHUYEN);
                chungTuNhapDieuChuyenInfor.NgayNhapXuatKho = Convert.ToDateTime(dtNgayLap.Text);

                NhanDieuChuyenBussiness = new NhanDieuChuyenCungTTBussiness(chungTuNhapDieuChuyenInfor);
            }
            else
            {
                NhanDieuChuyenBussiness = new NhanDieuChuyenCungTTBussiness(new ChungTuNhapDieuChuyenInfor
                {
                    //detail của phiếu nhận điều chuyển
                    LoaiChungTu        = Convert.ToInt32(TransactionType.NHAN_DIEU_CHUYEN),
                    IdChungTu          = idChungTu,
                    SoChungTu          = CommonProvider.Instance.GetSoPhieu(Declare.Prefix.PhieuNhanDieuChuyen),
                    SoChungTuGoc       = txtSoPhieu.Text.Trim(),
                    NgayNhapXuatKho    = CommonProvider.Instance.GetSysDate(),      //Convert.ToDateTime(dtNgayLap.Text),
                    IdKho              = chungTuInfo.IdKhoDieuChuyen,
                    IdNguoiNhapXuatKho = Declare.IdNhanVien,
                });
            }

            //chi tiết phiếu nhận điều chuyển
            NhanDieuChuyenBussiness.ListChiTietChungTu.RemoveAll(
                delegate(ChungTu_ChiTietInfo matchRemove)
            {
                return(!business.ListChiTietChungTu.Exists(
                           delegate(ChungTu_ChiTietInfo matchExists)
                {
                    return matchExists.IdSanPham == matchRemove.IdSanPham;
                }));
            });

            foreach (ChungTu_ChiTietInfo chungTuChiTietInfo in business.ListChiTietChungTu)
            {
                ChungTu_ChiTietInfo chiTietHangHoaNhanDieuChuyen =
                    NhanDieuChuyenBussiness.ListChiTietChungTu.Find(
                        delegate(ChungTu_ChiTietInfo match)
                {
                    return(match.IdSanPham == chungTuChiTietInfo.IdSanPham);
                });
                if (chiTietHangHoaNhanDieuChuyen == null)
                {
                    NhanDieuChuyenBussiness.ListChiTietChungTu.Add(
                        new ChungTu_ChiTietInfo
                    {
                        IdChungTu = idChungTu,
                        IdSanPham = chungTuChiTietInfo.IdSanPham,
                        SoLuong   = chungTuChiTietInfo.SoLuong
                    });
                }
                else
                {
                    chiTietHangHoaNhanDieuChuyen.SoLuong = chungTuChiTietInfo.SoLuong;
                }
            }

            NhanDieuChuyenBussiness.ListChiTietHangHoa.RemoveAll(
                delegate(ChungTu_ChiTietHangHoaBaseInfo matchRemove)
            {
                return(!business.ListChiTietHangHoa.Exists(
                           delegate(ChungTu_ChiTietHangHoaBaseInfo matchExists)
                {
                    return matchExists.IdSanPham == matchRemove.IdSanPham &&
                    matchExists.MaVach == matchRemove.MaVach;
                }));
            });

            foreach (ChungTu_ChiTietHangHoaBaseInfo chungTuChiTietInfo in business.ListChiTietHangHoa)
            {
                ChungTu_ChiTietHangHoaBaseInfo chiTietHangHoaNhanDieuChuyen =
                    NhanDieuChuyenBussiness.ListChiTietHangHoa.Find(
                        delegate(ChungTu_ChiTietHangHoaBaseInfo match)
                {
                    return(match.MaVach == chungTuChiTietInfo.MaVach &&
                           match.IdSanPham == chungTuChiTietInfo.IdSanPham);
                });
                if (chiTietHangHoaNhanDieuChuyen == null)
                {
                    NhanDieuChuyenBussiness.ListChiTietHangHoa.Add(
                        new ChungTu_ChiTietHangHoaBaseInfo
                    {
                        MaVach    = chungTuChiTietInfo.MaVach,
                        IdSanPham = chungTuChiTietInfo.IdSanPham,
                        SoLuong   = chungTuChiTietInfo.SoLuong,
                        //IdChungTuChiTiet = chungTuChiTietInfo.IdChungTuChiTiet
                    });
                }
                else
                {
                    chiTietHangHoaNhanDieuChuyen.SoLuong = chungTuChiTietInfo.SoLuong;
                }
            }
            //xét trạng thái cho phiếu nhận điều chuyển
            int SumChiTietMaVach  = 0;
            int SumChiTietChungTu = 0;

            foreach (ChungTu_ChiTietHangHoaBaseInfo chungTuChiTietHangHoaBaseInfo in NhanDieuChuyenBussiness.ListChiTietHangHoa)
            {
                SumChiTietMaVach += chungTuChiTietHangHoaBaseInfo.SoLuong;
            }
            foreach (ChungTu_ChiTietInfo chungTuChiTietInfo in NhanDieuChuyenBussiness.ListChiTietChungTu)
            {
                SumChiTietChungTu += chungTuChiTietInfo.SoLuong;
            }

            if (SumChiTietChungTu == SumChiTietMaVach)
            {
                NhanDieuChuyenBussiness.ChungTu.TrangThai = Convert.ToInt32(TrangThaiDieuChuyen.DA_NHAN);
            }
            NhanDieuChuyenBussiness.SaveChungTu();
        }
        protected override void SaveChungTuInstance()
        {
            if (Check())
            {
                base.SaveChungTuInstance();
                chungTuInfo.NgayLap = Convert.ToDateTime(dtNgayLap.Text);

                business.ChungTu = chungTuInfo;

                //nếu thêm mới
                if (chungTuInfo.IdChungTu == 0)
                {
                    business.ChungTu.LoaiChungTu = Convert.ToInt32(TransactionType.DE_NGHI_XUAT_DIEU_CHUYEN);
                }

                if (CheckCungTrungTam())
                {
                    ChungTuNhapDieuChuyenInfor chungTuNhapDieuChuyenInfor = DeNghiNhanDieuChuyenDataProvider.Instance.GetChungTuNhanDCBySoCTGoc(chungTuInfo.SoChungTu);

                    if (chungTuNhapDieuChuyenInfor == null)
                    {
                        deNghiNhanDieuChuyenBussiness = new DeNghiNhanDieuChuyenBussiness(new ChungTuNhapDieuChuyenInfor
                        {
                            //detail của phiếu đề nghị nhận điều chuyển
                            LoaiChungTu    = Convert.ToInt32(TransactionType.DE_NGHI_NHAN_DIEU_CHUYEN),
                            IdChungTu      = OID,
                            IdNhanVien     = Declare.IdNhanVien,
                            SoChungTu      = SoPhieuNhanDC,
                            SoChungTuGoc   = txtSoPhieu.Text.Trim(),
                            GhiChu         = txtGhiChu.Text.Trim(),
                            NgayLap        = Convert.ToDateTime(dtNgayLap.EditValue, new CultureInfo("vi-VN")),
                            IdKho          = chungTuInfo.IdKhoDieuChuyen,
                            HoaDonDC       = chungTuInfo.HoaDonDC,
                            PhuongTien     = chungTuInfo.PhuongTien,
                            IdNguoiUyNhiem = chungTuInfo.IdNguoiUyNhiem,
                            IdNguoiVC      = chungTuInfo.IdNguoiVC,
                            IdNguoiKyDuyet = chungTuInfo.IdNguoiKyDuyet
                        });
                    }
                    else
                    {
                        deNghiNhanDieuChuyenBussiness = new DeNghiNhanDieuChuyenBussiness(chungTuNhapDieuChuyenInfor);
                    }

                    deNghiNhanDieuChuyenBussiness.ChungTu.NgayLap = Convert.ToDateTime(dtNgayLap.Text);

                    foreach (DeNghiDieuChuyenInfor deNghiDieuChuyenInfor in business.ListChiTietChungTu)
                    {
                        DeNghiNhanDieuChuyenInfor deNghiNhanDieuChuyenInfor =
                            deNghiNhanDieuChuyenBussiness.ListChiTietChungTu.Find(
                                delegate(DeNghiNhanDieuChuyenInfor match)
                        {
                            return(match.IdSanPham == deNghiDieuChuyenInfor.IdSanPham);
                        });

                        if (deNghiNhanDieuChuyenInfor != null)
                        {
                            deNghiNhanDieuChuyenInfor.SoLuong   = deNghiDieuChuyenInfor.SoLuong;
                            deNghiNhanDieuChuyenInfor.DonGia    = deNghiDieuChuyenInfor.DonGia;
                            deNghiNhanDieuChuyenInfor.Thanhtien = deNghiDieuChuyenInfor.Thanhtien;
                        }
                        else
                        {
                            deNghiNhanDieuChuyenBussiness.ListChiTietChungTu.Add(
                                new DeNghiNhanDieuChuyenInfor
                            {
                                IdSanPham  = deNghiDieuChuyenInfor.IdSanPham,
                                SoLuong    = deNghiDieuChuyenInfor.SoLuong,
                                MaSanPham  = deNghiDieuChuyenInfor.MaSanPham,
                                TenSanPham = deNghiDieuChuyenInfor.TenSanPham,
                                DonGia     = deNghiDieuChuyenInfor.DonGia,
                                Thanhtien  = deNghiDieuChuyenInfor.Thanhtien,
                            });
                        }
                    }

                    if (deNghiNhanDieuChuyenBussiness.ChungTu.IdChungTu == 0)
                    {
                        deNghiNhanDieuChuyenBussiness.ChungTu.TrangThai = Convert.ToInt32(TrangThaiDieuChuyen.CHO_THUKHO_XUAT);
                    }

                    deNghiNhanDieuChuyenBussiness.SaveChungTu();

                    business.ChungTu.TrangThai = Convert.ToInt32(TrangThaiDieuChuyen.CHO_THUKHO_XUAT);
                }
            }
        }
        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
            }
        }