private void tenSanPhamTextEdit_EditValueChanged(object sender, EventArgs e)
        {
            // Tạo mã SCD tự động
            sCDTextEdit.Text = sscd.TaoSCD();
            //sCDTextEdit.Text = "SCD" + DateTime.Now.ToString("yyMMddHHmmss");

            // Tạo mã đơn hàng tự động
            maDonHangTextEdit.Text = mdh.TaoMaDonHang();

            if (IsNullOrEmpty(txtGiaTienUSD.Text) || txtGiaTienUSD.Value == 0)
            {
                txtGiaTienUSD.Text = "22757";
            }

            var vatlieu_count = 0;

            //var lstVatLieu2_count = 0;
            try
            {
                kichThuocTextEdit.BackColor  = Color.LightSalmon;
                mauMatPhaiTextEdit.BackColor = Color.LightSalmon;
                //txtPhuongPhapIn.BackColor = Color.LightSalmon;
                giaCongSauTextEdit.BackColor    = Color.LightSalmon;
                vatLieuComboBox.BackColor       = Color.LightSeaGreen;
                ngayXuongDonDateEdit.BackColor  = Color.LightGreen;
                ngayGiaoHangDateEdit.BackColor  = Color.LightGreen;
                soLuongSpinEdit.BackColor       = Color.LightGreen;
                tongTienSpinEdit.BackColor      = Color.Aqua;
                donGiaSanPhamSpinEdit.BackColor = Color.Aqua;
                ngoaiTeComboBox.BackColor       = Color.Aqua;

                var db  = new MyDBContextDataContext();
                var dsx = (from a in db.tbDonSanXuat_Averies where a.SO == tenSanPhamTextEdit.Text select a).Single();
                if (dsx.OrderDate != null)
                {
                    ngayXuongDonDateEdit.DateTime = (DateTime)dsx.OrderDate;
                }
                if (dsx.RequestDate != null)
                {
                    ngayGiaoHangDateEdit.DateTime = (DateTime)dsx.RequestDate;
                }
                //loaiChiTextEdit.Text = dsx.No.ToString();
                var gopdon = (from s in db.GopDon_Avery(nvObj.Tennhanvien) where s.gopdon == dsx.No select s).Single();
                soLuongSpinEdit.Text = gopdon.tong.ToString();
                //khacTextEdit.Text = "SKU " + gopdon.SkuMax;
                if (gopdon.SkuMax != null)
                {
                    txtSKU.Value = (int)gopdon.SkuMax;
                }

                // Dò trong tbVatlieu tìm tên hàng hóa cho vật liệu in
                //var lstVatLieus = (from s in db.tbVatLieus where s.MaAvery != null || s.MaAvery != "" select s).ToList();
                //foreach (var vatLieu in lstVatLieus)
                //{
                //    if (vatLieu.MaAvery.Trim() == dsx.Material.Trim())
                //    {
                //        vatLieuComboBox.Text = vatLieu.TenHangHoa;
                //        vatlieu_count = 1;
                //        break;
                //    }
                //}
                //if (vatlieu_count == 0)
                //{
                //    vatLieuComboBox.Text = Empty;
                //    MessageBox.Show("Mã " + dsx.Material + " này không tồn tại trong Kho Nguyên Vật Liệu, Vui lòng liên hệ Kho Nguyên Vật Liệu");
                //}

                // Dò tbStandard tìm CB có giống nhau không.
                var standard_count = 0;
                foreach (var itemsStandard in db.tbStandards.ToList())
                {
                    //CB408942 == CB408942
                    if (itemsStandard.ItemCode != dsx.Item.Trim())
                    {
                        continue;
                    }

                    var tong = 0;
                    kichThuocTextEdit.Text     = itemsStandard.PrintSize;
                    giaCongSauTextEdit.Text    = itemsStandard.Note;
                    donGiaSanPhamSpinEdit.Text = itemsStandard.Price.ToString();
                    mauMatPhaiTextEdit.Text    = itemsStandard.InkCode;

                    var lstVatLieus = (from s in db.tbVatLieus where s.MaAvery != null || s.MaAvery != "" select s).ToList();
                    foreach (var vatLieu in lstVatLieus)
                    {
                        if (vatLieu.MaAvery.Trim() != itemsStandard.MaterialCode.Trim())
                        {
                            continue;
                        }
                        vatLieuComboBox.Text = vatLieu.TenHangHoa;
                        vatlieu_count        = 1;
                        break;
                    }
                    if (dsx.Material != itemsStandard.MaterialCode)
                    {
                        overlay.EndLoading();
                        MessageBox.Show("Mã Đơn Hàng: " + maDonHangTextEdit.Text + Environment.NewLine + " Vật liệu OutSourceList = " + dsx.Material + " không giống vật liệu Standard = " + itemsStandard.MaterialCode);
                    }

                    if (vatlieu_count == 0)
                    {
                        overlay.EndLoading();
                        vatLieuComboBox.Text = Empty;
                        MessageBox.Show("Mã " + dsx.Material +
                                        " này không tồn tại trong Kho Nguyên Vật Liệu, Vui lòng liên hệ Kho Nguyên Vật Liệu");
                    }

                    ngoaiTeComboBox.Text = "VND";
                    var dsx2 = (from s in db.tbDonSanXuat_Averies where s.XacNhan == null select s).ToList();
                    foreach (var dogopdon in dsx2)
                    {
                        if (dsx.No != dogopdon.GopDon)
                        {
                            continue;
                        }
                        var kq = 0;
                        if (dogopdon.Qty * donGiaSanPhamSpinEdit.Value / dogopdon.SKU <=
                            txtGiaTienUSD.Value * 5)
                        {
                            if (dogopdon.SKU != null)
                            {
                                kq = (int)txtGiaTienUSD.Value * 5 * (int)dogopdon.SKU;
                            }
                        }
                        else
                        {
                            kq = Convert.ToInt32(dogopdon.Qty) * (int)donGiaSanPhamSpinEdit.Value;
                        }

                        tong = tong + kq;
                    }

                    tongTienSpinEdit.Text = tong.ToString();
                    standard_count        = 1;
                    //var muc = itemsStandard.InkCode.Trim().Substring(0, 15);
                    break;
                }

                if (standard_count != 0)
                {
                    return;
                }
                kichThuocTextEdit.Text     = Empty;
                txtPhuongPhapIn.Text       = Empty;
                giaCongSauTextEdit.Text    = Empty;
                tongTienSpinEdit.Text      = Empty;
                donGiaKhuonSpinEdit.Text   = Empty;
                mauMatPhaiTextEdit.Text    = Empty;
                ngoaiTeComboBox.Text       = Empty;
                tongTienSpinEdit.Text      = Empty;
                donGiaSanPhamSpinEdit.Text = Empty;
                MessageBox.Show("Mã " + dsx.Item + " này không tồn tại trong danh mục Standard, Vui lòng hãy thêm vào");

                //if (vatlieu_count == 0)
                //{
                //    vatLieuComboBox.Text = Empty;
                //}
            }
            catch
            {
                // ignored
            }
        }
        private void btnDanhSachDonHang_Click(object sender, EventArgs e)
        {
            try
            {
                overlay.StartLoading(groupControl2);
                var db        = new MyDBContextDataContext();
                var dsdonhang = (from s in db.tbDonSanXuat_Averies where s.XacNhan == null && s.NhanVien == nvObj.Tennhanvien && s.No == s.GopDon
                                 orderby s.GopDon, s.No ascending
                                 select s).ToList();

                var tongsl = 0;
                var tongdh = 0;
                foreach (var ds in dsdonhang)
                {
                    tenSanPhamTextEdit.Text = ds.SO;
Taoscd:
                    sCDTextEdit.Text = sscd.TaoSCD();
                    var tong = (from s in db.tbDonSanXuats where s.SCD == sCDTextEdit.Text select s).ToList();
                    if (tong.Count > 0)
                    {
                        goto Taoscd;
                    }
                    //var donSanXuats = (from s in db.tbDonSanXuats select s).ToList();
                    //foreach (var itemDonSanXuat in donSanXuats)
                    //{
                    //    if (sCDTextEdit.Text == itemDonSanXuat.SCD)
                    //        goto scd;
                    //}
                    if (sCDTextEdit.Text.Length > 14 && !string.IsNullOrEmpty(sCDTextEdit.Text))
                    {
                        if (maDonHangTextEdit.Text.Length > 8)
                        {
                            var dsx     = (from a in db.tbDonSanXuat_Averies where a.SO == tenSanPhamTextEdit.Text select a).Single();
                            var soluong = Convert.ToInt32(soLuongSpinEdit.Value);
                            var tb      = new tbDonSanXuat();
                            tb.SCD          = sCDTextEdit.Text;
                            tb.MaDonHang    = maDonHangTextEdit.Text;
                            tb.PhienBan     = txtPhienBan.Text;
                            tb.TenKhachHang = txtKhachHang.Text;
                            tb.NgayXuongDon = ngayXuongDonDateEdit.DateTime;
                            tb.NgayGiaoHang = ngayGiaoHangDateEdit.DateTime;
                            var gopdon = (from s in db.GopDon_Avery(nvObj.Tennhanvien)
                                          where s.gopdon == dsx.GopDon
                                          select s).Single();
                            if (gopdon.CountNo == 1)
                            {
                                tb.TenSanPham = dsx.SO + " - " + dsx.Item; //
                            }
                            else
                            {
                                tb.TenSanPham = dsx.Item; //dsx.SO + " - " +
                            }

                            tb.LoaiSanPham    = txtLoaiSanPham.Text;
                            tb.PhuongPhapIn   = txtPhuongPhapIn.Text;
                            tb.KichThuoc      = kichThuocTextEdit.Text;
                            tb.SoLuong        = soluong;
                            tb.VatLieu        = vatLieuComboBox.Text;
                            tb.GiaCongMatPhai = giaCongMatPhaiTextEdit.Text;
                            tb.GiaCongMatTrai = giaCongMatTraiTextEdit.Text;
                            //var lst = (from s in db.tbDanhSachSanPhams select s).ToList();
                            //foreach (var dssPham in lst)
                            //{
                            //    if (dssPham.TenSanPham != tenSanPhamTextEdit.Text) continue;
                            //    tb.HinhMatPhai = dssPham.HinhMatPhai;
                            //    tb.HinhMatTrai = dssPham.HinhMatTrai;
                            //    tb.HinhKhuon = dssPham.HinhKhuon;
                            //}

                            tb.MauMatPhai       = mauMatPhaiTextEdit.Text;
                            tb.MauMatTrai       = mauMatTraiTextEdit.Text;
                            tb.PhuongPhapCat    = phuongPhapCatTextEdit.Text;
                            tb.BoGoc            = boGocTextEdit.Text;
                            tb.DucLo            = ducLoTextEdit.Text;
                            tb.LoaiChi          = loaiChiTextEdit.Text;
                            tb.BTPSoLuongTonKho = Convert.ToInt32(bTPSoLuongTonKhoSpinEdit.Value);
                            tb.TPSoLuongTonKho  = Convert.ToInt32(tPSoLuongTonKhoSpinEdit.Value);
                            tb.BTPTonKhoCongTy  = Convert.ToInt32(bTPTonKhoCongtySpinEdit.Value);
                            tb.TPTonKhoCongTy   = Convert.ToInt32(TPTonKhoCongtySpinEdit.Value);
                            tb.BoPhan           = txtBoPhan.Text;
                            tb.ChamCatDapHop    = chamCatDapHopTextEdit.Text;
                            tb.Khac             = khacTextEdit.Text;
                            tb.DoDai            = doDaiTextEdit.Text;
                            tb.InChu_MaVach     = inChu_MaVachTextEdit.Text;
                            tb.GiaCongSau       = giaCongSauTextEdit.Text;
                            tb.Kho = txtKho.Text;
                            tb.SKU = (int)txtSKU.Value;
                            tb.STT = dsx.No;



                            var so = Empty;
                            var tbDonSanXuatAveries =
                                (from s in db.tbDonSanXuat_Averies where s.XacNhan == null select s).ToList();
                            foreach (var item in tbDonSanXuatAveries)
                            {
                                if (item.GopDon != dsx.GopDon)
                                {
                                    continue;
                                }
                                item.scd     = sCDTextEdit.Text;
                                item.XacNhan = 1;
                                //db.SubmitChanges();
                                if (gopdon.CountNo > 1)
                                {
                                    so = so + item.SO + " , ";
                                }
                            }

                            if (gopdon.CountNo > 1)
                            {
                                tb.ChuY = chuYTextEdit.Text + Environment.NewLine + so + " dùng chung layout";
                            }
                            else
                            {
                                tb.ChuY = chuYTextEdit.Text;
                            }

                            tb.NhanVienNghiepVu = nvObj.Tennhanvien;
                            tb.ThoiGianXuongDon = DateTime.Now;
                            db.tbDonSanXuats.InsertOnSubmit(tb);
                            db.SubmitChanges();


                            var qldh = new tbQuanLyDonHang {
                                IDQuanLyDonHang = sCDTextEdit.Text
                            };
                            db.tbQuanLyDonHangs.InsertOnSubmit(qldh);

                            var ll = new tbLanhLieu {
                                IDLanhLieu = sCDTextEdit.Text
                            };
                            db.tbLanhLieus.InsertOnSubmit(ll);
                            db.SubmitChanges();

                            var thietke = new tbBaoCaoThietKe
                            {
                                IDBaoCaoThietKe = sCDTextEdit.Text,
                                Size            = khacTextEdit.Text,
                                SpSize          = soLuongSpinEdit.Text
                            };
                            db.tbBaoCaoThietKes.InsertOnSubmit(thietke);
                            db.SubmitChanges();

                            var nghiepvu = new tbBaoCaoNghiepVu()
                            {
                                IDBaoCaoNghiepVu = sCDTextEdit.Text,
                                Size             = khacTextEdit.Text
                            };
                            db.tbBaoCaoNghiepVus.InsertOnSubmit(nghiepvu);
                            db.SubmitChanges();

                            var tb4 = new tbQuanLyTienTe
                            {
                                IDTienTe        = sCDTextEdit.Text,
                                DonGiaSanPham   = Convert.ToDouble(donGiaSanPhamSpinEdit.Value),
                                DonGiaKhuon     = Convert.ToDouble(donGiaKhuonSpinEdit.Value),
                                DonGiaMau       = Convert.ToDouble(donGiaMauSpinEdit.Value),
                                DonGiaVanChuyen = Convert.ToDouble(donGiaVanChuyenSpinEdit.Value),
                                TongTien        = Convert.ToDouble(tongTienSpinEdit.Value),
                                NgoaiTe         = ngoaiTeComboBox.Text,
                                GiaTienUSD      = (int)txtGiaTienUSD.Value,
                                VAT             = vat
                            };
                            db.tbQuanLyTienTes.InsertOnSubmit(tb4);
                            db.SubmitChanges();

                            var tb6 = new tbSanXuat {
                                IDSanXuat = sCDTextEdit.Text
                            };
                            db.tbSanXuats.InsertOnSubmit(tb6);
                            db.SubmitChanges();


                            var donhang = new tbDonHangTemVaiAvery();
                            donhang.IDDonHangTemVaiAvery = sCDTextEdit.Text;
                            donhang.Item     = dsx.Item;
                            donhang.SO       = gopdon.CountNo != 1 ? so : dsx.SO;
                            donhang.DanhSach = dsx.DanhSach;
                            db.tbDonHangTemVaiAveries.InsertOnSubmit(donhang);
                            db.SubmitChanges();

                            //frmDonSanXuat_Avery_Them_Load(sender,e);
                            tongsl = tongsl + soluong;
                            tongdh = tongdh + 1;
                        }
                        else
                        {
                            MessageBox.Show("Bạn chưa nhập mã đơn hàng");
                        }
                    }
                    else
                    {
                        MessageBox.Show("Bạn chưa nhập mã SCD, hoặc mã SCD bị trùng");
                    }
                }
                overlay.EndLoading();
                MessageBox.Show("Tổng số đơn hàng thêm vào: " + tongdh + Environment.NewLine + "Tổng số lượng là : " + tongsl);
            }
            catch (Exception exception)
            {
                overlay.EndLoading();
                MessageBox.Show(exception.ToString());
                // ignored
            }
        }
        private void txtTenSanPham_EditValueChanged(object sender, EventArgs e)
        {
            if (IsNullOrEmpty(txtGiaTienUSD.Text) || txtGiaTienUSD.Value == 0)
            {
                txtGiaTienUSD.Text = "22757";
            }

            var vatlieu_count     = 0;
            var lstVatLieu2_count = 0;

            try
            {
                kichThuocTextEdit.BackColor     = Color.LightSalmon;
                mauMatPhaiTextEdit.BackColor    = Color.LightSalmon;
                giaCongSauTextEdit.BackColor    = Color.LightSalmon;
                vatLieuComboBox.BackColor       = Color.LightSeaGreen;
                ngayXuongDonDateEdit.BackColor  = Color.LightGreen;
                ngayGiaoHangDateEdit.BackColor  = Color.LightGreen;
                soLuongSpinEdit.BackColor       = Color.LightGreen;
                tongTienSpinEdit.BackColor      = Color.Aqua;
                donGiaSanPhamSpinEdit.BackColor = Color.Aqua;
                ngoaiTeComboBox.BackColor       = Color.Aqua;

                var db  = new MyDBContextDataContext();
                var dsx = (from a in db.tbDonSanXuat_Averies where a.SO == txtTenSanPham.Text select a).Single();
                if (dsx.OrderDate != null)
                {
                    ngayXuongDonDateEdit.DateTime = (DateTime)dsx.OrderDate;
                }
                if (dsx.RequestDate != null)
                {
                    ngayGiaoHangDateEdit.DateTime = (DateTime)dsx.RequestDate;
                }
                loaiChiTextEdit.Text = dsx.No.ToString();
                var gopdon = (from s in db.GopDon_Avery(nvObj.Tennhanvien) where s.gopdon == dsx.No select s).Single();
                soLuongSpinEdit.Text = gopdon.tong.ToString();
                khacTextEdit.Text    = "SKU " + gopdon.SkuMax;

                // Dò trong tbVatlieu tìm tên hàng hóa cho vật liệu in
                var lstVatLieus = (from s in db.tbVatLieus where s.MaAvery != null | s.MaAvery != "" select s).ToList();
                foreach (var vatLieu in lstVatLieus)
                {
                    if (vatLieu.MaAvery.Trim() == dsx.Material.Trim())
                    {
                        vatLieuComboBox.Text = vatLieu.TenHangHoa;
                        vatlieu_count        = 1;
                        break;
                    }
                }
                if (vatlieu_count == 0)
                {
                    vatLieuComboBox.Text = Empty;
                    MessageBox.Show("Mã" + dsx.Material + "này không tồn tại trong Kho Nguyên Vật Liệu, Vui lòng liên hệ Kho Nguyên Vật Liệu");
                }

                // Dò tbStandard tìm CB có giống nhau không.
                var standard_count = 0;
                var standard       = (from s in db.tbStandards select s).ToList();
                foreach (var itemsStandard in standard)
                {
                    // CB408942 == CB408942
                    if (itemsStandard.ItemCode == dsx.Item.Trim())
                    {
                        var tong = 0;
                        kichThuocTextEdit.Text = itemsStandard.PrintSize;
                        //txtPhuongPhapIn.Text = itemsStandard.LoaiMayIn;
                        giaCongSauTextEdit.Text    = itemsStandard.Note;
                        donGiaSanPhamSpinEdit.Text = itemsStandard.Price.ToString();
                        ngoaiTeComboBox.Text       = "VND";
                        var dsx2 = (from s in db.tbDonSanXuat_Averies where s.XacNhan == null select s).ToList();
                        foreach (var dogopdon in dsx2)
                        {
                            if (dsx.No != dogopdon.GopDon)
                            {
                                continue;
                            }
                            var kq = 0;
                            if (dogopdon.Qty * donGiaSanPhamSpinEdit.Value / dogopdon.SKU <=
                                txtGiaTienUSD.Value * 5)
                            {
                                kq = (int)txtGiaTienUSD.Value * 5 * (int)dogopdon.SKU;
                            }
                            else
                            {
                                kq = Convert.ToInt32(dogopdon.Qty) * (int)donGiaSanPhamSpinEdit.Value;
                            }

                            tong = tong + kq;
                        }

                        tongTienSpinEdit.Text = tong.ToString();

                        standard_count = 1;

                        // Trích chuỗi từ AD cung cấp lấy mã mực = 9V000198-000-00
                        // if (itemsStandard.InkCode != null)
                        var muc = itemsStandard.InkCode.Trim().Substring(0, 15);
                        //Dò tìm mã mực


                        var lstVatLieu2 = (from c in db.tbVatLieus select c).ToList();
                        foreach (var lieu in lstVatLieu2)
                        {
                            if (lieu.MaAvery == muc)
                            {
                                mauMatPhaiTextEdit.Text = lieu.MaAvery;
                                lstVatLieu2_count       = 1;
                                break;
                            }
                        }

                        break;
                    }
                }

                if (standard_count == 0)
                {
                    kichThuocTextEdit.Text   = Empty;
                    txtPhuongPhapIn.Text     = Empty;
                    giaCongSauTextEdit.Text  = Empty;
                    tongTienSpinEdit.Text    = Empty;
                    donGiaKhuonSpinEdit.Text = Empty;
                    ngoaiTeComboBox.Text     = Empty;
                    MessageBox.Show(
                        "Mã" + dsx.Item + "này không tồn tại trong danh mục Standard, Vui lòng hãy thêm vào");
                }

                if (lstVatLieu2_count == 0)
                {
                    mauMatPhaiTextEdit.Text = Empty;
                }
            }
            catch
            {
                // ignored
            }
        }