Exemplo n.º 1
0
 public void UpdateChiTietChungTu(ChungTuBanHangChiTietInfor chiTietChungTu)
 {
     ExecuteCommand(Declare.StoreProcedureNamespace.spChungTuBanHangCTietUpdate, chiTietChungTu.IdChungTuChiTiet,
                    chiTietChungTu.IdChungTu, chiTietChungTu.IdSanPham, chiTietChungTu.SoLuong, chiTietChungTu.DonGia,
                    chiTietChungTu.TyleChietKhau, chiTietChungTu.TienChietKhau, chiTietChungTu.ThanhTien,
                    chiTietChungTu.TienSauChietKhau, chiTietChungTu.TyleVAT, chiTietChungTu.TienVAT,
                    chiTietChungTu.TyleThuong, chiTietChungTu.ThuongNong, chiTietChungTu.GiaTheoBangGia,
                    chiTietChungTu.IdSanPhamBan, chiTietChungTu.NoKhuyenMai, chiTietChungTu.GiaNiemYet, chiTietChungTu.GiaWebSite,
                    chiTietChungTu.GhiChu, chiTietChungTu.CungDongDonHangChinh, chiTietChungTu.LoaiHangKem, chiTietChungTu.TyLePhanBo, chiTietChungTu.TyLeThanhToan, chiTietChungTu.ListIdChinhSach);
 }
Exemplo n.º 2
0
 public int InsertChiTietChungTu(ChungTuBanHangChiTietInfor chiTietChungTu)
 {
     ExecuteCommand(Declare.StoreProcedureNamespace.spChungTuBanHangCTietInsert, chiTietChungTu.IdChungTuChiTiet,
                    chiTietChungTu.IdChungTu, chiTietChungTu.IdSanPham, chiTietChungTu.SoLuong, chiTietChungTu.DonGia,
                    chiTietChungTu.TyleChietKhau, chiTietChungTu.TienChietKhau, chiTietChungTu.ThanhTien,
                    chiTietChungTu.TienSauChietKhau, chiTietChungTu.TyleVAT, chiTietChungTu.TienVAT,
                    chiTietChungTu.TyleThuong, chiTietChungTu.ThuongNong, chiTietChungTu.GiaTheoBangGia,
                    chiTietChungTu.IdSanPhamBan, chiTietChungTu.NoKhuyenMai, chiTietChungTu.GiaNiemYet, chiTietChungTu.GiaWebSite,
                    chiTietChungTu.GhiChu, chiTietChungTu.CungDongDonHangChinh, chiTietChungTu.LoaiHangKem, chiTietChungTu.TyLePhanBo, chiTietChungTu.TyLeThanhToan, chiTietChungTu.ListIdChinhSach);
     return(Convert.ToInt32(Parameters["p_IdChiTiet"].Value.ToString()));
 }
Exemplo n.º 3
0
        public BanHangBusiness(ChungTuBanHangInfor ctu, double tienTraLaiThe, int soDiemAm, int idThe)
        {
            int Vat = 10 / 100;

            //chungtu
            ChungTu                      = new ChungTuBanHangInfor(ctu);
            ChungTu.IdChungTu            = 0;
            ChungTu.LoaiChungTu          = (int)TransactionType.DON_HANG_DAT_TRUOC;
            ChungTu.TrangThai            = (int)OrderStatus.TAO_DON_HANG_DAT_TRUOC;
            ChungTu.SoChungTu            = "DT-" + ChungTu.SoChungTu;
            ChungTu.OrderType            = Declare.OrderTypeBan;
            ChungTu.GhiChu               = "Đơn hàng DT hoàn tiền điểm thưởng";
            ChungTu.TongTienHang         = tienTraLaiThe / (1 + Vat);
            ChungTu.TongTienChietKhau    = 0;
            ChungTu.TongTienSauChietKhau = tienTraLaiThe / (1 + Vat);
            ChungTu.TongTienVAT          = tienTraLaiThe / (1 + Vat) * Vat;
            ChungTu.TongTienThanhToan    = tienTraLaiThe;
            ChungTu.TienThanhToanThuc    = 0;
            ChungTu.TienConNo            = tienTraLaiThe;
            ChungTu.IdLyDoGiaoDich       = -1;       //danh dau don hang thu tien diem thuong am
            ChungTu.SoTienTichLuy        = soDiemAm; //so diem truoc khi bu tien
            ChungTu.SoDiemBiTru          = 0;
            ChungTu.SoTienQuyDoi         = 0;
            ChungTu.IdTheThanhVien       = idThe;
            ChungTu.SoDiemTichLuy        = -soDiemAm;
            ChungTu.DaTichDiem           = 1;
            ChungTu.IdTrungTamHachToan   = ChungTu.IdTrungTam;

            //chungtu chitiet
            HeSoDoiDiemInfo            heso = HeSoDoiDiemDataProvider.Instance.LoadHeSoDoiDiem();
            ChungTuBanHangChiTietInfor ct   = new ChungTuBanHangChiTietInfor()
            {
                IdSanPham        = heso.IdSanPham,
                MaSanPham        = heso.MaHoanTien,
                TenSanPham       = heso.TenSanPham,
                SoLuong          = 1,
                DonGiaCoVat      = tienTraLaiThe,
                DonGia           = tienTraLaiThe / (1 + Vat),
                TyleChietKhau    = 0,
                TienChietKhau    = 0,
                TienSauChietKhau = tienTraLaiThe / (1 + Vat),
                TyleVAT          = 10,
                TienVAT          = tienTraLaiThe / (1 + Vat) * Vat,
                ThanhTien        = tienTraLaiThe
            };

            ListChiTietChungTu = new List <ChungTuBanHangChiTietInfor>();
            ListChiTietChungTu.Add(ct);
            ListChungTuThanhToan = new List <ChungTuThanhToanInfor>();
        }
 private void EditOrder(int rowHandle)
 {
     if (rowHandle < 0)
     {
         return;
     }
     ChungTuChiTiet = (ChungTuBanHangChiTietInfor)gvSanPhamBan.GetRow(rowHandle);
     if (ChungTuChiTiet == null)
     {
         MessageBox.Show("Phải chọn một sản phẩm chính!");
         return;
     }
     this.DialogResult = DialogResult.OK;
 }
Exemplo n.º 5
0
        //public frmBH_ChonChinhSach_BanHang(List<BangGiaChinhSachInfor> lics, ChungTuBanHangChiTietInfor ctu, int idKho, int idTrungTam)
        //{
        //    InitializeComponent();
        //    Common.LoadStyle(this);
        //    this.CTu = ctu;
        //    this.IdKhoSelected = idKho;
        //    this.IdTTamSelected = idTrungTam;

        //    this.liChinhSach = lics;
        //}

        public frmBH_ChonChinhSach_BanHang(List <BangGiaChinhSachInfor> lics, ChungTuBanHangChiTietInfor ctu, int idKho, int idTrungTam, bool datTruoc)
        {
            InitializeComponent();
            Common.LoadStyle(this);
            this.CTu                = ctu;
            this.IdKhoSelected      = idKho;
            this.IdTTamSelected     = idTrungTam;
            this.liChinhSach        = new List <BangGiaChinhSachInfor>();
            this.liChinhSachDefault = new List <BangGiaChinhSachInfor>();
            foreach (BangGiaChinhSachInfor cs in lics)
            {
                if (cs.MacDinh == 1)
                {
                    this.liChinhSachDefault.Add(cs);
                    string ghichu = String.Format("{0} (mặc định)", cs.SoChinhSach);

                    //load thanh toan
                    foreach (BangGiaADBankInfor tt in cs.ListBangGiaADThanhToan)
                    {
                        tt.GhiChu = ghichu;
                        liThanhToan.Add(tt);
                    }

                    //load san pham kem default
                    List <BangGiaADSPKemInfor> lstSPK = KhuyenMaiDataProvider.Instance.GetAllSanPhamKemADInfors(cs.IdDKMua, IdKhoSelected);
                    foreach (BangGiaADSPKemInfor spk in lstSPK)
                    {
                        spk.GhiChu = ghichu;
                        liSPKemDefault.Add(spk);
                    }

                    //load khuyen mai default => load KM dau tien
                    List <BangGiaADKhuyenMaiInfor> lstKM = KhuyenMaiDataProvider.Instance.GetAllBangGiaKhuyenMaiADInfors(cs.IdDKMua);
                    if (lstKM.Count > 0)
                    {
                        List <BangGiaADKhuyenMaiChiTietInfor> lstKMCTiet = KhuyenMaiDataProvider.Instance.GetAllKhuyenMaiChiTietADInfors(lstKM[0].IdKhuyenMai, IdKhoSelected, CTu.DonGiaCoVat);
                        foreach (BangGiaADKhuyenMaiChiTietInfor kmct in lstKMCTiet)
                        {
                            kmct.ChinhSachKhuyenMai = ghichu;
                            liKMCTietDefault.Add(kmct);
                        }
                    }
                }
                else
                {
                    this.liChinhSach.Add(cs);
                }
            }
            this.DatTruoc = datTruoc;
        }
Exemplo n.º 6
0
 private void gvSanPham_ShowingEditor(object sender, CancelEventArgs e)
 {
     try
     {
         if (gvSanPham.FocusedColumn.FieldName == "GhiChu")// && IsChietKhau(gvSanPham.FocusedRowHandle))
         {
             ChungTuBanHangChiTietInfor ct = (ChungTuBanHangChiTietInfor)gvSanPham.GetRow(gvSanPham.FocusedRowHandle);
             if (ct != null && ct.NoKhuyenMai > 0)
             {
                 e.Cancel = true;
             }
         }
     }
     catch
     {
     }
 }
Exemplo n.º 7
0
        private void gvSanPham_RowCellStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e)
        {
            if (e.RowHandle < 0)
            {
                return;
            }
            ChungTuBanHangChiTietInfor ct = (ChungTuBanHangChiTietInfor)gvSanPham.GetRow(e.RowHandle);

            if (ct != null && ct.NoKhuyenMai > 0)
            {
                if (e.Column.FieldName.Equals("TenLoaiHangKem"))
                {
                    e.Appearance.BackColor = tsslNoKhuyenMai.BackColor;
                    e.Appearance.ForeColor = Color.Red;
                    e.Appearance.Font      = new Font("Tahoma", 9, FontStyle.Bold);
                }
            }
        }
Exemplo n.º 8
0
        private void SaveChungTuDetails()
        {
            List <ChungTuBanHangChiTietInfor> listOrigin =
                BanHangDataProvider.Instance.GetListChiTietChungTuByIdChungTu(ChungTu.IdChungTu);

            //xoa nhung cai cu
            foreach (ChungTuBanHangChiTietInfor originInfo in listOrigin)
            {
                if (!ListChiTietChungTu.Exists(delegate(ChungTuBanHangChiTietInfor match)
                {
                    return(match.IdChungTuChiTiet == originInfo.IdChungTuChiTiet);
                }))
                {
                    BanHangDataProvider.Instance.DeleteChiTietChungTu(originInfo);
                }
            }

            //them hoac cap nhat cai moi
            foreach (ChungTuBanHangChiTietInfor newInfo in ListChiTietChungTu)
            {
                ChungTuBanHangChiTietInfor originInfo = listOrigin.Find(
                    delegate(ChungTuBanHangChiTietInfor match)
                {
                    return(match.IdChungTuChiTiet == newInfo.IdChungTuChiTiet);
                });

                if (originInfo != null)
                {
                    if (!newInfo.IsOrigin)
                    {
                        BanHangDataProvider.Instance.UpdateChiTietChungTu(newInfo);
                    }
                }
                else
                {
                    newInfo.IdChungTu        = ChungTu.IdChungTu;
                    newInfo.IdChungTuChiTiet = BanHangDataProvider.Instance.InsertChiTietChungTu(newInfo);
                }
            }
        }
Exemplo n.º 9
0
 public void DeleteChiTietChungTu(ChungTuBanHangChiTietInfor chiTietChungTu)
 {
     ExecuteCommand(Declare.StoreProcedureNamespace.spChungTuBanHangCTietDelete, chiTietChungTu.IdChungTuChiTiet);
 }
Exemplo n.º 10
0
        private void InputDataFromCode(string code)
        {
            try
            {
                DMSanPhamBriefInfo sp = DmSanPhamProvider.GetSanPhamBriefByNSDMa(code, nguoiDung.IdNhomNguoiDung);
                if (sp == null)
                {
                    frmLookUp_HangHoa frm = new frmLookUp_HangHoa(false,
                                                                  (Common.Int2Bool(nguoiDung.SupperUser)
                                                                       ? -1
                                                                       : nguoiDung.IdNhomNguoiDung), 1, -1);
                    if (frm.ShowDialog() == DialogResult.OK)
                    {
                        sp = frm.SelectedItem;
                    }
                }

                if (sp != null)
                {
                    BangGiaBanChiTietInfor spb;
                    spb = liBangGiaBan.Find(delegate(BangGiaBanChiTietInfor match)
                    {
                        return(match.MaSanPham.Equals(code));
                    });
                    if (spb == null)
                    {
                        spb = BangGiaDataProvider.Instance.GetGiaBan(IdTTamSelected, IdKhoSelected, sp.MaSanPham);
                    }

                    if (spb == null)
                    {
                        MessageBox.Show("Giá chưa thiết lập!");
                        return;
                    }
                    else if (!DatTruoc && spb.ChietKhau != 1 && GetTonConLai(spb) <= 0)
                    {
                        MessageBox.Show("Hàng đã hết tồn kho!");
                        return;
                    }

                    liBangGiaBan.Add(spb);
                    int    isHangKem  = (rdHangBanKem.Checked ? 1 : 0);
                    string tenHangKem = (rdHangBanKem.Checked ? strMuaKem : strKhuyenMai);
                    ChungTuBanHangChiTietInfor ctu = liSanPhamSelected.Find(delegate(ChungTuBanHangChiTietInfor match)
                    {
                        return(match.MaSanPham.Equals(spb.MaSanPham) && match.LoaiHangKem == isHangKem);
                    });
                    if (ctu != null)
                    {
                        ctu.SoLuong          += 1;
                        ctu.TienSauChietKhau += spb.DonGiaChuaVAT;
                        ctu.TienVAT          += spb.TienVAT;
                        ctu.ThanhTien        += spb.DonGiaCoVAT;
                        ctu.ThuongNong       += spb.ThuongNong;
                        ctu.NoKhuyenMai       = (spb.TonKho >= ctu.SoLuong || DatTruoc || rdHangBanKem.Checked) ? 0 : ctu.SoLuong - spb.TonKho;
                        ctu.GhiChu            = Common.Int2Bool(spb.ChietKhau) ? "CK" : (ctu.NoKhuyenMai > 0 ? "Nợ khuyến mại" : "");
                        ctu.SoLuongOld        = ctu.SoLuong;

                        ((BindingList <ChungTuBanHangChiTietInfor>)gSanPham.DataSource).ResetBindings();
                    }
                    else
                    {
                        //add san pham ban
                        ChungTuBanHangChiTietInfor ct = null;
                        if (rdHangBanKem.Checked)
                        {
                            ct = BanHangDataProvider.Instance.ConvertBG2SanPhamBan(spb);
                        }
                        else
                        {
                            ct         = BanHangDataProvider.Instance.ConvertBG2SanPhamKM(spb);
                            ct.TyleVAT = Common.Int2Bool(spb.ChietKhau) ? spb.TyLeVAT : 0;
                            //if (liSanPhamSelected.Exists(delegate (ChungTuBanHangChiTietInfor match)
                            //                                 {
                            //                                     return
                            //                                         match.MaSanPham.Equals(ct.MaSanPham) && match.LoaiHangKem == 0;
                            //                                 }))
                            //{
                            //    ct.TyleChietKhau = 0;
                            //}
                        }
                        ct.NoKhuyenMai    = (spb.TonKho >= ct.SoLuong || DatTruoc || rdHangBanKem.Checked) ? 0 : ct.SoLuong - spb.TonKho;
                        ct.LoaiHangKem    = isHangKem;
                        ct.TenLoaiHangKem = tenHangKem;
                        ct.IdSanPhamBan   = CTu.IdSanPham;
                        ct.TenSanPhamBan  = CTu.TenSanPham;
                        ct.GhiChu         = Common.Int2Bool(spb.ChietKhau) ? "CK" : (ct.NoKhuyenMai > 0 ? "Nợ khuyến mại" : "");
                        ct.SoLuongOld     = ct.SoLuong;
                        ((BindingList <ChungTuBanHangChiTietInfor>)gSanPham.DataSource).Add(ct);
                    }
                    //spb.TonKho = spb.TonKho - 1;
                }
            }
            catch (System.Exception ex)
            {
#if DEBUG
                //MessageBox.Show("Lỗi ngoại lệ: " + ex.ToString(), Declare.titleError, MessageBoxButtons.OK, MessageBoxIcon.Error);
#else
                //MessageBox.Show("Lỗi ngoại lệ: " + ex.Message, Declare.titleError, MessageBoxButtons.OK, MessageBoxIcon.Error);
#endif
            }
        }
Exemplo n.º 11
0
        private void LoadSanPhamBanKem()
        {
            liSanPhamSelected   = new List <ChungTuBanHangChiTietInfor>();
            gSanPham.DataSource = new BindingList <ChungTuBanHangChiTietInfor>(liSanPhamSelected);
            //foreach (ChungTuBanHangChiTietInfor ct in (BindingList<ChungTuBanHangChiTietInfor>)gSanPham.DataSource)
            //{
            //    if (ct.LoaiHangKem==1)
            //    {
            //        ((BindingList<ChungTuBanHangChiTietInfor>) gSanPham.DataSource).Remove(ct);
            //    }
            //}

            foreach (BangGiaADSPKemInfor spk in (BindingList <BangGiaADSPKemInfor>)gSanPhamKem.DataSource)
            {
                if (spk.LoaiHangKem == 6)//neu la san pham va co du ton
                {
                    if (spk.TrangThaiTon == 1)
                    {
                        BangGiaBanChiTietInfor spb;
                        spb = liBangGiaBan.Find(delegate(BangGiaBanChiTietInfor match)
                        {
                            return(match.MaSanPham.Equals(spk.MaHangKem));
                        });
                        if (spb == null)
                        {
                            spb = BangGiaDataProvider.Instance.GetGiaBan(IdTTamSelected, IdKhoSelected, spk.MaHangKem);
                        }

                        if (spb != null)
                        {
                            liBangGiaBan.Add(spb);
                            //add san pham ban
                            ChungTuBanHangChiTietInfor ct = BanHangDataProvider.Instance.ConvertBG2SanPhamBan(spb);
                            ct.Hang           = spk.MaHangSX;
                            ct.LoaiHangKem    = 1;
                            ct.TenLoaiHangKem = Declare.DescHangKem;
                            ct.SoLuong        = spk.SoLuong;
                            ct.IdSanPhamBan   = CTu.IdSanPham;
                            ct.TenSanPhamBan  = CTu.TenSanPham;
                            ct.TyleChietKhau  = spk.TyLeChietKhau;
                            double tienKM = spk.TyLeChietKhau == 0
                                                ? spk.TienChietKhau
                                                : spk.TyLeChietKhau * ct.DonGiaCoVat * ct.SoLuong / 100;
                            double tienCK = spk.TienChietKhau == 0
                                                   ? tienKM
                                                   : Common.MinValues(spk.TienChietKhau, tienKM);
                            ct.TienChietKhau    = tienCK /**ct.SoLuong*/ / (1 + ct.TyleVAT / 100);
                            ct.TienSauChietKhau = ct.DonGia * ct.SoLuong - ct.TienChietKhau;
                            ct.TienVAT          = ct.TienSauChietKhau * ct.TyleVAT / 100;
                            ct.ThanhTien        = ct.DonGiaCoVat * ct.SoLuong - tienCK;
                            ct.TyLePhanBo       = spk.TyLePhanBo / 100;
                            ct.SoLuongOld       = ct.SoLuong;

                            ((BindingList <ChungTuBanHangChiTietInfor>)gSanPham.DataSource).Add(ct);
                        }
                        else
                        {
                            spk.GhiChu = "Chưa có giá";
                        }
                    }
                }
            }

            if (gKMChiTiet.DataSource == null)
            {
                return;
            }

            foreach (BangGiaADKhuyenMaiChiTietInfor kmct in (BindingList <BangGiaADKhuyenMaiChiTietInfor>)gKMChiTiet.DataSource)
            {
                //con ton hoac het ton nhung no khuyen mai
                if (kmct.LoaiHangKM == 6)
                {
                    //if (kmct.NoKhuyenMai == 0 || kmct.NoKhuyenMai > 0 && kmct.HetTonDungKM == 0 || DatTruoc) //neu la san pham
                    //{
                    BangGiaBanChiTietInfor spb;
                    spb = liBangGiaBan.Find(delegate(BangGiaBanChiTietInfor match)
                    {
                        return(match.MaSanPham.Equals(kmct.MaHangKM));
                    });
                    if (spb == null)
                    {
                        spb = BangGiaDataProvider.Instance.GetGiaBan(IdTTamSelected, IdKhoSelected, kmct.MaHangKM);
                    }

                    if (spb != null)
                    {
                        liBangGiaBan.Add(spb);
                        //add san pham ban
                        ChungTuBanHangChiTietInfor ct = BanHangDataProvider.Instance.ConvertBG2SanPhamKM(spb);
                        ct.CungDongDonHangChinh = kmct.InKemHD;
                        ct.Hang           = kmct.MaHangSX;
                        ct.LoaiHangKem    = 0;
                        ct.TenLoaiHangKem = Declare.DescKhuyenMai;
                        ct.SoLuong        = DatTruoc ? kmct.SoLuong : kmct.SoLuong - kmct.NoKhuyenMai;
                        ct.NoKhuyenMai    = DatTruoc ? 0 : kmct.NoKhuyenMai;
                        ct.IdSanPhamBan   = CTu.IdSanPham;
                        ct.TenSanPhamBan  = CTu.TenSanPham;
                        ct.TyleChietKhau  = kmct.TyLeKM;
                        ct.TyleVAT        = Common.Int2Bool(kmct.ChietKhau) ? CTu.TyleVAT /*spb.TyLeVAT*/ : 0;
                        double tienKM = kmct.TyLeKM == 0 ? kmct.SoTienKM : kmct.TyLeKM * CTu.DonGiaCoVat / 100;
                        double tienCK = kmct.SoTienKM == 0 ? tienKM : Common.MinValues(kmct.SoTienKM, tienKM);
                        ct.TienChietKhau    = Common.Int2Bool(kmct.ChietKhau) ? -tienCK / (1 + ct.TyleVAT / 100) : 0;
                        ct.TienSauChietKhau = ct.TienChietKhau;
                        ct.ThanhTien        = Common.Int2Bool(kmct.ChietKhau) ? -tienCK : tienCK;
                        ct.TienVAT          = ct.TyleVAT * ct.ThanhTien / (100 + ct.TyleVAT);
                        ct.TyLeThanhToan    = kmct.TyLeThanhToan;
                        ct.ThanhTien        = ct.ThanhTien * kmct.TyLeThanhToan / 100;
                        ct.GhiChu           = Common.Int2Bool(kmct.ChietKhau)
                                            ? "CK"
                                            : (DatTruoc ? "Đặt trước" : (ct.NoKhuyenMai > 0 ? "Nợ khuyến mại" : ""));

                        ct.SoLuongOld       = ct.SoLuong;
                        ct.SoLuongKhuyenMai = kmct.SoLuongOld;
                        ((BindingList <ChungTuBanHangChiTietInfor>)gSanPham.DataSource).Add(ct);
                    }
                    else
                    {
                        kmct.GhiChu = "Chưa có giá";
                    }
                    //}
                }
            }
        }
 public void UpdateChiTietChungTu(ChungTuBanHangChiTietInfor chiTietChungTu)
 {
     BanHangDAO.Instance.UpdateChiTietChungTu(chiTietChungTu);
 }
 public void DeleteChiTietChungTu(ChungTuBanHangChiTietInfor chiTietChungTu)
 {
     BanHangDAO.Instance.DeleteChiTietChungTu(chiTietChungTu);
 }
 public int InsertChiTietChungTu(ChungTuBanHangChiTietInfor chiTietChungTu)
 {
     return(BanHangDAO.Instance.InsertChiTietChungTu(chiTietChungTu));
 }