Пример #1
0
 public void Update(DonHangDTO dhDto)
 {
     DonHangDAO.Update(dhDto);
 }
    private void LayThongTinDonHang()
    {
        DonHangBUS bus = new DonHangBUS();

        int maDonHang = int.Parse(Request["MaDonHang"]);

        DonHangDTO dhDTO = bus.LayThongTinDonHang(maDonHang);

        XL_THE kq = new XL_THE("DonHang");

        NguoiDungBUS ndBUS = new NguoiDungBUS();
        NguoiDungDTO ndDTO = ndBUS.ThongTinNguoiDung(dhDTO.Ma_khach_hang);

        XL_THUOC_TINH Thuoc_tinh = new XL_THUOC_TINH("TenKhachHang", ndDTO.Ho_ten);

        kq.Danh_sach_thuoc_tinh.Add(Thuoc_tinh);

        Thuoc_tinh = new XL_THUOC_TINH("NgayGioLap", dhDTO.Ngay_gio_lap.ToString());
        kq.Danh_sach_thuoc_tinh.Add(Thuoc_tinh);

        Thuoc_tinh = new XL_THUOC_TINH("DiaChiNhan", dhDTO.Dia_chi_nhan.ToString());
        kq.Danh_sach_thuoc_tinh.Add(Thuoc_tinh);

        Thuoc_tinh = new XL_THUOC_TINH("NguoiNhan", dhDTO.Nguoi_nhan);
        kq.Danh_sach_thuoc_tinh.Add(Thuoc_tinh);

        HinhThucKhuyenMaiBUS htkmBus = new HinhThucKhuyenMaiBUS();
        HinhThucKhuyenMaiDTO htkmDto = htkmBus.ThongTinHTKM(dhDTO.Hinh_thuc_khuyen_mai);
        string tenHinhThucKhuyenMai  = "Không có";

        if (htkmDto != null)
        {
            tenHinhThucKhuyenMai = htkmDto.Ten_hinh_thuc_khuyen_mai;
        }
        Thuoc_tinh = new XL_THUOC_TINH("HinhThucKhuyenMai", tenHinhThucKhuyenMai);
        kq.Danh_sach_thuoc_tinh.Add(Thuoc_tinh);

        Thuoc_tinh = new XL_THUOC_TINH("TienKhuyenMai", dhDTO.Tien_khuyen_mai.ToString());
        kq.Danh_sach_thuoc_tinh.Add(Thuoc_tinh);

        Thuoc_tinh = new XL_THUOC_TINH("GiaTri", dhDTO.Gia_tri.ToString());
        kq.Danh_sach_thuoc_tinh.Add(Thuoc_tinh);

        Thuoc_tinh = new XL_THUOC_TINH("TienThue", dhDTO.Tien_thue.ToString());
        kq.Danh_sach_thuoc_tinh.Add(Thuoc_tinh);

        string loai            = dhDTO.Ngay_gio_giao_hang.ToString();
        string ngayGioGiaoHang = "chưa có";

        if (dhDTO.Loai_don_dat_hang == 1)
        {
            loai = "5"; // " (Đơn hàng định kỳ)";
        }
        else if (dhDTO.Da_dat_hang == false && dhDTO.Da_thanh_toan == false && dhDTO.Da_giao_hang == false)
        {
            loai = "0"; //"Đã lưu";
        }
        else if (dhDTO.Da_dat_hang == true && dhDTO.Da_thanh_toan == false && dhDTO.Da_giao_hang == false)
        {
            loai = "1"; //"Đã đặt hàng nhưng chưa thanh toán";
        }
        else if (dhDTO.Da_dat_hang == true && dhDTO.Da_thanh_toan == true && dhDTO.Da_giao_hang == false)
        {
            loai = "2"; //"Đã thanh toán nhưng chưa giao hàng";
        }
        else if (dhDTO.Da_dat_hang == true && dhDTO.Da_thanh_toan == true && dhDTO.Da_giao_hang == true)
        {
            loai            = "3"; //Đã hoàn tất";
            ngayGioGiaoHang = dhDTO.Ngay_gio_giao_hang.ToString();
        }
        else
        {
            loai = "4"; //Trong ngày (đã đặt hàng)";
        }
        if (loai == "5")
        {
            DonHangDinhKyBUS dhdkBus = new DonHangDinhKyBUS();
            DonHangDinhKyDTO dhdk    = dhdkBus.LayThongTinDonHangDinhKy(dhDTO.Ma_don_hang);

            Thuoc_tinh = new XL_THUOC_TINH("LoaiDinhKy", dhdk.Loai_dinh_ky);
            kq.Danh_sach_thuoc_tinh.Add(Thuoc_tinh);

            Thuoc_tinh = new XL_THUOC_TINH("NgayBatDau", dhdk.Ngay_bat_dau.ToString());
            kq.Danh_sach_thuoc_tinh.Add(Thuoc_tinh);

            Thuoc_tinh = new XL_THUOC_TINH("NgayKetThuc", dhdk.Ngay_ket_thuc.ToString());
            kq.Danh_sach_thuoc_tinh.Add(Thuoc_tinh);

            string thoiDiem = "";
            if (dhdk.Loai_dinh_ky.ToUpper().Trim() == "Tuần")
            {
                thoiDiem = dhdk.Thu_giao;
            }
            else
            {
                thoiDiem = dhdk.Ngay_giao;
            }

            Thuoc_tinh = new XL_THUOC_TINH("ThoiDiemGiao", thoiDiem);
            kq.Danh_sach_thuoc_tinh.Add(Thuoc_tinh);

            Thuoc_tinh = new XL_THUOC_TINH("GioGiao", dhdk.Gio_giao.ToString());
            kq.Danh_sach_thuoc_tinh.Add(Thuoc_tinh);

            Thuoc_tinh = new XL_THUOC_TINH("TinhTrang", dhdk.Tinh_trang ? "1" : "0");
            kq.Danh_sach_thuoc_tinh.Add(Thuoc_tinh);
        }

        Thuoc_tinh = new XL_THUOC_TINH("loai", loai);
        kq.Danh_sach_thuoc_tinh.Add(Thuoc_tinh);

        Thuoc_tinh = new XL_THUOC_TINH("NgayGioGiaoHang", ngayGioGiaoHang);
        kq.Danh_sach_thuoc_tinh.Add(Thuoc_tinh);

        XL_CHUOI.XuatXML(Response, kq.Chuoi());
    }
Пример #3
0
 public void Insert(DonHangDTO dh)
 {
     DonHangDAO.Insert(dh);
 }
    protected void Dat_hang_customer()
    {
        DonHangDTO       donhang   = new DonHangDTO();
        DonHangDinhKyDTO donhangdk = new DonHangDinhKyDTO();

        //Xac dinh tham so
        viewKhachHangDTO vkhDto = (viewKhachHangDTO)Session["khachhang"];

        donhang.Ma_khach_hang        = vkhDto.Ma_nguoi_dung;
        donhang.Ngay_gio_lap         = DateTime.Parse(Request["Ngay_lap"].ToString());
        donhang.Dia_chi_nhan         = Request["Dia_chi_nhan"];
        donhang.Nguoi_nhan           = Request["Nguoi_nhan"];
        donhang.Hinh_thuc_khuyen_mai = int.Parse(Request["HTKM"].ToString());
        donhang.Tien_khuyen_mai      = decimal.Parse(Request["Tien_khuyen_mai"].ToString());
        donhang.Gia_tri = decimal.Parse(Request["Gia_tri"].ToString());
        donhang.Ma_hinh_thuc_thanh_toan = int.Parse(Request["HTTT"].ToString());

        int loaiyeucau = int.Parse(Request["Loai_yeu_cau"].ToString());

        if (loaiyeucau == 0 || loaiyeucau == 1) //lưu or đặt hàng bình thường
        {
            donhang.Loai_don_dat_hang  = 0;     //don hang binh thuong
            donhang.Ngay_gio_giao_hang = DateTime.Parse(Request["Ngay_giao"].ToString());
            if (loaiyeucau == 0)
            {
                donhang.Da_dat_hang = false;
            }
            else
            {
                donhang.Da_dat_hang = true;
            }
        }
        else if (loaiyeucau == 2 || loaiyeucau == 3) //lưu or đặt hàng định kỳ
        {
            donhang.Loai_don_dat_hang = 1;           //đơn hàng định kỳ
            if (loaiyeucau == 2)
            {
                donhang.Da_dat_hang = false;
            }
            else
            {
                donhang.Da_dat_hang = true;
            }

            donhangdk.Loai_dinh_ky  = Request["Loai_dk"].ToString();
            donhangdk.Ngay_bat_dau  = DateTime.Parse(Request["Ngay_bd"].ToString());
            donhangdk.Ngay_ket_thuc = DateTime.Parse(Request["Ngay_kt"].ToString());
            if (donhangdk.Loai_dinh_ky == "Hang Tuan")
            {
                donhangdk.Thu_giao = Request["Thoi_gian_giao"].ToString();
            }
            else if (donhangdk.Loai_dinh_ky == "Hang Thang")
            {
                donhangdk.Ngay_giao = Request["Thoi_gian_giao"].ToString();
            }

            donhangdk.Gio_giao   = DateTime.Parse(Request["Gio_giao"].ToString());
            donhangdk.Tinh_trang = true;
        }

        donhang.Da_thanh_toan = false;
        donhang.Da_giao_hang  = false;
        donhang.Tien_thue     = decimal.Parse(Request["Tien_thue"].ToString());


        int             madonhang;
        Gio_hang_online gio_hang     = (Gio_hang_online)Session["Gio_hang"];
        Gio_hang_online gio_qua_tang = new Gio_hang_online();

        if (Session["Gio_qua_tang"] != null)
        {
            gio_qua_tang = (Gio_hang_online)Session["Gio_qua_tang"];
        }

        XL_THE        the = new XL_THE("goc");
        XL_THUOC_TINH thuoc_tinh;

        try
        {
            madonhang = (new DonHangBUS()).ThemDonHang(donhang);
        }
        catch (Exception ex)
        {
            the.Danh_sach_thuoc_tinh.Add(new XL_THUOC_TINH("kq", "Dat hang loi"));
            the.Danh_sach_thuoc_tinh.Add(new XL_THUOC_TINH("flag", "false"));
            string chuoi = the.Chuoi();
            XL_CHUOI.XuatChuoi(Response, chuoi);
            return;
        }
        //lưu or đặt hàng định kỳ
        if (donhang.Loai_don_dat_hang == 1)
        {
            donhangdk.Ma_don_hang = madonhang;
            try
            {
                (new DonHangDinhKyBUS()).ThemDonHangDinhKy(donhangdk);
            }
            catch (Exception ex)
            {
                (new DonHangDinhKyBUS()).XoaDonHang(madonhang);  //rollback
                the.Danh_sach_thuoc_tinh.Add(new XL_THUOC_TINH("kq", "Dat hang dinh ky loi"));
                the.Danh_sach_thuoc_tinh.Add(new XL_THUOC_TINH("flag", "false"));
                string chuoi = the.Chuoi();
                XL_CHUOI.XuatChuoi(Response, chuoi);
                return;
            }
        }

        try
        {
            CTDonHangDTO ctdonhang = new CTDonHangDTO();
            CTDonHangBUS ctdhBUS   = new CTDonHangBUS();
            TagBUS       tagbus    = new TagBUS();

            for (int i = 0; i < gio_hang.DsMonAn.Count; i++)
            {
                Item_online item = (Item_online)gio_hang.DsMonAn[i];

                ctdonhang.Ma_don_hang = madonhang;
                ctdonhang.Ma_item     = item.Ma_item;
                ctdonhang.So_luong    = item.So_luong;
                ctdonhang.Thanh_tien  = item.So_luong * item.Gia;
                ctdonhang.Loai_item   = item.Loai_item;
                ctdonhang.La_qua_tang = false;

                ctdhBUS.ThemChiTietDonHang(ctdonhang);
                tagbus.CapNhatDoUuTien(ctdonhang.Ma_item, ctdonhang.Loai_item);
            }
            if (gio_qua_tang.DsMonAn != null)
            {
                for (int i = 0; i < gio_qua_tang.DsMonAn.Count; i++)
                {
                    Item_online item = (Item_online)gio_qua_tang.DsMonAn[i];
                    ctdonhang.Ma_don_hang = madonhang;
                    ctdonhang.Ma_item     = item.Ma_item;
                    ctdonhang.So_luong    = item.So_luong;
                    ctdonhang.Thanh_tien  = item.So_luong * item.Gia;
                    ctdonhang.Loai_item   = item.Loai_item;
                    ctdonhang.La_qua_tang = true;

                    ctdhBUS.ThemChiTietDonHang(ctdonhang);
                }
            }

            int diemmoi = (new DonHangBUS()).CapNhatDiemKMTheoQuiDinh(donhang.Ma_khach_hang, vkhDto.Diem_khuyen_mai, donhang.Gia_tri, donhang.Tien_khuyen_mai);
            vkhDto.Diem_khuyen_mai = diemmoi;
        }
        catch (Exception ex)
        {
            if (donhang.Loai_don_dat_hang == 1)
            {
                (new DonHangDinhKyBUS()).XoaDonHangDinhKy(madonhang);   //rollback
            }
            else
            {
                (new DonHangBUS()).XoaDonHang(madonhang);                                             //rollback
            }
            (new KhachHangBUS()).CapNhatDiemKhuyenMai(donhang.Ma_khach_hang, vkhDto.Diem_khuyen_mai); //rollback

            the.Danh_sach_thuoc_tinh.Add(new XL_THUOC_TINH("kq", "Dat hang loi"));
            the.Danh_sach_thuoc_tinh.Add(new XL_THUOC_TINH("flag", "false"));
            string chuoi = the.Chuoi();
            XL_CHUOI.XuatChuoi(Response, chuoi);
            return;
        }
        //neu ko fai chon luu dh
        if (donhang.Da_dat_hang == true)
        {
            // Dat hang thanh cong + chon thanh toan = the tin dung -> tien hanh thanh toan
            int Thanh_toan = int.Parse(Request["Thanh_toan"].ToString());
            if (Thanh_toan == 1)
            {
                WS_CardSystem.CardDTO cardDto1 = new WS_CardSystem.CardDTO();

                //Neu su dung the khac
                int The_khac = int.Parse(Request["The_khac"].ToString());
                ThanhToanTheTinDungDTO thett = new ThanhToanTheTinDungDTO();
                if (The_khac == 1)
                {
                    thett.Ma_don_hang  = madonhang; //don hang vua them
                    thett.Ma_loai_the  = int.Parse(Request["Ma_loai_the"].ToString());
                    thett.So_the       = Request["So_the"].ToString();
                    thett.Ngay_het_han = DateTime.Parse(Request["Ngay_hh"].ToString());

                    //them vao csdl the su dung
                    try
                    {
                        (new ThanhToanTheTinDungBUS()).ThemThanhToanTheTinDung(thett);
                    }
                    catch (Exception ex)
                    {
                        if (donhang.Loai_don_dat_hang == 1)
                        {
                            (new DonHangDinhKyBUS()).XoaDonHangDinhKy(madonhang);   //rollback
                        }
                        else
                        {
                            (new DonHangBUS()).XoaDonHang(madonhang);                                             //rollback
                        }
                        (new KhachHangBUS()).CapNhatDiemKhuyenMai(donhang.Ma_khach_hang, vkhDto.Diem_khuyen_mai); //rollback

                        the.Danh_sach_thuoc_tinh.Add(new XL_THUOC_TINH("kq", "Dat hang loi"));
                        the.Danh_sach_thuoc_tinh.Add(new XL_THUOC_TINH("flag", "false"));
                        string chuoi = the.Chuoi();
                        XL_CHUOI.XuatChuoi(Response, chuoi);
                        return;
                    }

                    //The khac
                    cardDto1.Code = thett.So_the;
                    string tenloaithe = Request["Ten_loai_the"].ToString();
                    cardDto1.Type = tenloaithe;
                }
                else
                {
                    //the mac dinh
                    cardDto1.Code = vkhDto.So_the;
                    cardDto1.Type = vkhDto.Ten_loai_the;
                }

                //thanh toan
                bool kq = ThanhToan(donhang.Gia_tri, the, cardDto1);
                if (kq == true)
                {
                    (new DonHangBUS()).CapNhatTrangThaiDaThanhToan(madonhang, true);
                }
                else
                {
                    (new ThanhToanTheTinDungBUS()).XoaThanhToanTheTinDung(thett.Ma_don_hang);
                    if (donhang.Loai_don_dat_hang == 1)
                    {
                        (new DonHangDinhKyBUS()).XoaDonHangDinhKy(madonhang);   //rollback
                    }
                    else
                    {
                        (new DonHangBUS()).XoaDonHang(madonhang);                                             //rollback
                    }
                    (new KhachHangBUS()).CapNhatDiemKhuyenMai(donhang.Ma_khach_hang, vkhDto.Diem_khuyen_mai); //rollback

                    the.Danh_sach_thuoc_tinh.Add(new XL_THUOC_TINH("kq", "Thanh toan loi, dat hang khong thanh cong \n Vui long kiem tra lai the su dung"));
                    the.Danh_sach_thuoc_tinh.Add(new XL_THUOC_TINH("flag", "false"));
                    string chuoi = the.Chuoi();
                    XL_CHUOI.XuatChuoi(Response, chuoi);
                    return;
                }
            }
            thuoc_tinh = new XL_THUOC_TINH("kq", "Dat hang thanh cong");
        }
        else
        {
            Session["madonhangluu"] = madonhang;    //luu lại mã đh để trh khách hàng chọn đặt mua sau đó
            thuoc_tinh = new XL_THUOC_TINH("kq", "Luu don hang thanh cong");
        }
        the.Danh_sach_thuoc_tinh.Add(thuoc_tinh);
        the.Danh_sach_thuoc_tinh.Add(new XL_THUOC_TINH("flag", "true"));
        XL_CHUOI.XuatChuoi(Response, the.Chuoi());

        Session["Gio_qua_tang"]      = null;
        Session["Gio_hang"]          = null;
        Session["FormDatHangDinhKy"] = null;
        Session["FormDatHang"]       = null;

        return;
    }
Пример #5
0
 public static bool UpdateDonHangById(DonHangDTO donHangDTO)
 {
     return(DonHangDAO.UpdateDonHangById(donHangDTO));
 }
Пример #6
0
        // Cập nhật đơn hàng
        private void btnCapNhat_Click(object sender, EventArgs e)
        {
            try
            {
                if (txtPhiVanChuyen_Them.Text == "")
                {
                    MessageBox.Show("Phải nhập phí vận chuyển");
                    return;
                }
                if (cbmTrangThai_Them.Text == "")
                {
                    MessageBox.Show("Phải chọn trạng thái đơn hàng");
                    return;
                }

                int newTrangThai          = Int32.Parse(cbmTrangThai_Them.SelectedValue.ToString());
                ChiTietDonHangBUS ctdhBus = new ChiTietDonHangBUS();

                if ((_curTrangThai == 2 || _curTrangThai == 5) && (newTrangThai == 2 || newTrangThai == 5))
                {
                    foreach (DataGridViewRow row in this.dtgvDanhSachSanPham_ChiTiet.Rows)
                    {
                        ChiTietDonHangDTO ctdhDto = ctdhBus.KiemTraTonTai(_maDH, row.Cells["MaSanPham"].Value.ToString());
                        if (ctdhDto.MaChiTietDonHang != 0) // Sản phẩm đã có trong đơn hàng
                        {
                            if (Int32.Parse(row.Cells["CmbSoLuong"].Value.ToString()) > ctdhDto.SoLuong)
                            {
                                int soLgDatThem = Int32.Parse(row.Cells["CmbSoLuong"].Value.ToString()) - ctdhDto.SoLuong;
                                int kq          = KiemTraConHang(row.Cells["MaSanPham"].Value.ToString(), soLgDatThem);
                                if (kq > -1)
                                {
                                    MessageBox.Show("Số lượng sản phẩm  '" + row.Cells["MaSanPham"].Value.ToString() + "'  đặt thêm lớn hơn số lượng hàng còn trong kho." + "\n\nSố lượng đặt thêm là: " + soLgDatThem.ToString() + "\n\nSố lượng hàng còn trong kho là: " + kq.ToString());
                                    dtgvDanhSachSanPham_ChiTiet.FirstDisplayedScrollingRowIndex = row.Index;
                                    return;
                                }
                            }
                        }
                        else // Sản phẩm chưa có trong đơn hàng
                        {
                            int kq = KiemTraConHang(row.Cells["MaSanPham"].Value.ToString(), Int32.Parse(row.Cells["CmbSoLuong"].Value.ToString()));
                            if (kq > -1)
                            {
                                MessageBox.Show("Số lượng sản phẩm  '" + row.Cells["MaSanPham"].Value.ToString() + "'  đặt mua lớn hơn số lượng hàng còn trong kho." + "\n\nSố lượng hàng còn trong kho là: " + kq.ToString());
                                dtgvDanhSachSanPham_ChiTiet.FirstDisplayedScrollingRowIndex = row.Index;
                                return;
                            }
                        }
                    }
                }

                if ((_curTrangThai == 1 || _curTrangThai == 3 || _curTrangThai == 4) && (newTrangThai == 2 || newTrangThai == 5))
                {
                    foreach (DataGridViewRow row in this.dtgvDanhSachSanPham_ChiTiet.Rows)
                    {
                        int kq = KiemTraConHang(row.Cells["MaSanPham"].Value.ToString(), Int32.Parse(row.Cells["CmbSoLuong"].Value.ToString()));
                        if (kq > -1)
                        {
                            MessageBox.Show("Số lượng sản phẩm  '" + row.Cells["MaSanPham"].Value.ToString() + "'  đặt mua lớn hơn số lượng hàng còn trong kho." + "\n\nSố lượng hàng còn trong kho là: " + kq.ToString());
                            dtgvDanhSachSanPham_ChiTiet.FirstDisplayedScrollingRowIndex = row.Index;
                            return;
                        }
                    }
                }

                DialogResult result = MessageBox.Show("Bạn có chắc là muốn cập nhật đơn hàng này không",
                                                      "Question",
                                                      MessageBoxButtons.YesNo,
                                                      MessageBoxIcon.Question,
                                                      MessageBoxDefaultButton.Button1);
                if (result == DialogResult.Yes)
                {
                    DonHangBUS dhBus = new DonHangBUS();
                    DonHangDTO dhDto = new DonHangDTO();

                    dhDto.MaDonHang      = _maDH;
                    dhDto.MaKhachHang    = Int32.Parse(txtMaKH_Them.Text);
                    dhDto.TrangThai      = Int32.Parse(cbmTrangThai_Them.SelectedValue.ToString());
                    dhDto.NguoiCapNhat   = frmDangNhap.gUserName;
                    dhDto.PhiVanChuyen   = Int32.Parse(txtPhiVanChuyen_Them.Text);
                    dhDto.TongTien       = Int32.Parse(lbTongTien.Text.Replace(@",", ""));
                    dhDto.SoLuongSanPham = Int32.Parse(lbSoLuong.Text);
                    if (rdGiaSi.Checked == true)
                    {
                        dhDto.HinhThucMua = 0; //Gia Si
                    }
                    else
                    {
                        dhDto.HinhThucMua = 1; //Gia Le
                    }
                    dhBus.Update(dhDto);

                    if ((_curTrangThai == 1 || _curTrangThai == 3 || _curTrangThai == 4) && (newTrangThai == 1 || newTrangThai == 3 || newTrangThai == 4))
                    {
                        foreach (DataGridViewRow row in this.dtgvDanhSachSanPham_ChiTiet.Rows)
                        {
                            ChiTietDonHangDTO ctdhDto = new ChiTietDonHangDTO();
                            ctdhDto.MaDonHang = dhDto.MaDonHang;
                            ctdhDto.MaSanPham = row.Cells["MaSanPham"].Value.ToString();
                            ctdhDto.MauSac    = row.Cells["MauSac"].Value.ToString();
                            ctdhDto.SoLuong   = Int32.Parse(row.Cells["CmbSoLuong"].Value.ToString());
                            ctdhDto.GiaBan    = Int32.Parse(row.Cells["GiaBan"].Value.ToString().Replace(@",", ""));
                            if (ctdhBus.KiemTraTonTai(_maDH, ctdhDto.MaSanPham).MaChiTietDonHang != 0)
                            {
                                ctdhDto.MaChiTietDonHang = ctdhBus.KiemTraTonTai(_maDH, ctdhDto.MaSanPham).MaChiTietDonHang;
                                ctdhBus.Update(ctdhDto);
                            }
                            else
                            {
                                ctdhBus.Insert(ctdhDto);
                            }
                        }
                    }

                    if ((_curTrangThai == 1 || _curTrangThai == 3 || _curTrangThai == 4) && (newTrangThai == 2 || newTrangThai == 5))
                    {
                        foreach (DataGridViewRow row in this.dtgvDanhSachSanPham_ChiTiet.Rows)
                        {
                            ChiTietDonHangDTO ctdhDto = new ChiTietDonHangDTO();
                            ctdhDto.MaDonHang = dhDto.MaDonHang;
                            ctdhDto.MaSanPham = row.Cells["MaSanPham"].Value.ToString();
                            ctdhDto.MauSac    = row.Cells["MauSac"].Value.ToString();
                            ctdhDto.SoLuong   = Int32.Parse(row.Cells["CmbSoLuong"].Value.ToString());
                            ctdhDto.GiaBan    = Int32.Parse(row.Cells["GiaBan"].Value.ToString().Replace(@",", ""));
                            if (ctdhBus.KiemTraTonTai(_maDH, ctdhDto.MaSanPham).MaChiTietDonHang != 0)
                            {
                                ctdhDto.MaChiTietDonHang = ctdhBus.KiemTraTonTai(_maDH, ctdhDto.MaSanPham).MaChiTietDonHang;
                                ctdhBus.Update(ctdhDto);
                            }
                            else
                            {
                                ctdhBus.Insert(ctdhDto);
                            }

                            int newSl = ctdhDto.SoLuong;
                            int oldSl = Int32.Parse(row.Cells["SoLuong"].Value.ToString());
                            int trangthai;
                            if (newSl == oldSl)
                            {
                                trangthai = 0;
                            }
                            else
                            {
                                trangthai = 1;
                            }
                            SanPhamBUS spBus = new SanPhamBUS();
                            //spBus.CapNhatKhoHang(ctdhDto.MaSanPham, oldSl - newSl, trangthai);
                        }
                    }

                    if ((_curTrangThai == 2 || _curTrangThai == 5) && (newTrangThai == 1 || newTrangThai == 3 || newTrangThai == 4))
                    {
                        foreach (DataGridViewRow row in this.dtgvDanhSachSanPham_ChiTiet.Rows)
                        {
                            ChiTietDonHangDTO ctdhDto    = new ChiTietDonHangDTO();
                            ChiTietDonHangDTO ctdhDtoOld = ctdhBus.KiemTraTonTai(_maDH, row.Cells["MaSanPham"].Value.ToString());
                            ctdhDto.MaDonHang        = dhDto.MaDonHang;
                            ctdhDto.MaSanPham        = row.Cells["MaSanPham"].Value.ToString();
                            ctdhDto.MauSac           = row.Cells["MauSac"].Value.ToString();
                            ctdhDto.SoLuong          = Int32.Parse(row.Cells["CmbSoLuong"].Value.ToString());
                            ctdhDto.GiaBan           = Int32.Parse(row.Cells["GiaBan"].Value.ToString().Replace(@",", ""));
                            ctdhDto.MaChiTietDonHang = ctdhDtoOld.MaChiTietDonHang;
                            if (ctdhDtoOld.MaChiTietDonHang != 0)
                            {
                                ctdhBus.Update(ctdhDto);
                                string     maSp      = ctdhDto.MaSanPham;
                                int        sl        = ctdhDto.SoLuong;
                                SanPhamDTO spDtoOld  = SanPhamBUS.LaySanPham(maSp);
                                int        trangThai = 0;
                                if ((sl + spDtoOld.SoLuong) > 0)
                                {
                                    trangThai = 1;
                                }
                                SanPhamBUS spBus = new SanPhamBUS();
                                //spBus.CapNhatKhoHang(maSp, sl + spDtoOld.SoLuong, trangThai);
                            }
                            else
                            {
                                ctdhBus.Insert(ctdhDto);
                            }
                        }
                    }

                    if ((_curTrangThai == 2 || _curTrangThai == 5) && (newTrangThai == 2 || newTrangThai == 5))
                    {
                        foreach (DataGridViewRow row in this.dtgvDanhSachSanPham_ChiTiet.Rows)
                        {
                            ChiTietDonHangDTO ctdhDto    = new ChiTietDonHangDTO();
                            ChiTietDonHangDTO ctdhDtoOld = ctdhBus.KiemTraTonTai(_maDH, row.Cells["MaSanPham"].Value.ToString());
                            ctdhDto.MaDonHang        = dhDto.MaDonHang;
                            ctdhDto.MaSanPham        = row.Cells["MaSanPham"].Value.ToString();
                            ctdhDto.MauSac           = row.Cells["MauSac"].Value.ToString();
                            ctdhDto.SoLuong          = Int32.Parse(row.Cells["CmbSoLuong"].Value.ToString());
                            ctdhDto.GiaBan           = Int32.Parse(row.Cells["GiaBan"].Value.ToString().Replace(@",", ""));
                            ctdhDto.MaChiTietDonHang = ctdhDtoOld.MaChiTietDonHang;
                            if (ctdhDtoOld.MaChiTietDonHang != 0)
                            {
                                ctdhBus.Update(ctdhDto);
                                string     maSp        = ctdhDto.MaSanPham;
                                SanPhamDTO spDtoOld    = SanPhamBUS.LaySanPham(maSp);
                                int        diffSoLuong = ctdhDto.SoLuong - ctdhDtoOld.SoLuong;
                                int        trangThai   = 0;
                                SanPhamBUS spBus       = new SanPhamBUS();
                                if (diffSoLuong > 0)
                                {
                                    if (spDtoOld.SoLuong - diffSoLuong > 0)
                                    {
                                        trangThai = 1;
                                    }
                                }
                                else
                                {
                                    trangThai = 1;
                                }

                                //spBus.CapNhatKhoHang(maSp, spDtoOld.SoLuong - diffSoLuong, trangThai);
                            }
                            else
                            {
                                ctdhBus.Insert(ctdhDto);
                                string     maSp      = ctdhDto.MaSanPham;
                                SanPhamDTO spDtoOld  = SanPhamBUS.LaySanPham(maSp);
                                int        trangThai = 0;
                                SanPhamBUS spBus     = new SanPhamBUS();

                                if (spDtoOld.SoLuong - ctdhDto.SoLuong > 0)
                                {
                                    trangThai = 1;
                                }

                                //spBus.CapNhatKhoHang(maSp, spDtoOld.SoLuong - ctdhDto.SoLuong, trangThai);
                            }
                        }
                    }

                    MessageBox.Show("Đơn hàng đã được cập nhật thành công");
                    btnCapNhat.Visible = true;
                    _curTrangThai      = dhDto.TrangThai;
                }
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Пример #7
0
        // Thực thi khi button Tạo có status = 0
        private bool Process_Button()
        {
            // Lấy các trường để insert vào bảng DonHang
            DonHangDTO donHangDTO = new DonHangDTO();

            donHangDTO.MaDonHang  = txtMaDonHang.Text;
            donHangDTO.NgayLap    = DateTimeSystem;
            donHangDTO.MaNhanVien = ThongTin.NhanVienDTO.MaNhanVien;
            donHangDTO.ThanhTien  = MoneySum;
            donHangDTO.TrangThai  = "Chưa nhận";

            // Lấy các trường để insert vào bảng ChiTietDonHang
            List <ChiTietDonHangDTO> listctdonHangDTO = new List <ChiTietDonHangDTO>();

            for (int i = 0; i < dataGridView_TaoDonHang.Rows.Count; i++)
            {
                ChiTietDonHangDTO ctdonHangDTO = new ChiTietDonHangDTO();
                DataGridViewRow   Row          = dataGridView_TaoDonHang.Rows[i];
                int check;
                int.TryParse(Row.Cells["clSoLuong"].Value.ToString(), out check);
                if (check > 0)
                {
                    ctdonHangDTO.MaChiTietDonHang = txtMaDonHang.Text;
                    if (i > 100)
                    {
                        ctdonHangDTO.MaChiTietDonHang += (i + 1).ToString();
                    }
                    else if (i > 10)
                    {
                        ctdonHangDTO.MaChiTietDonHang += "0" + (i + 1).ToString();
                    }
                    else
                    {
                        ctdonHangDTO.MaChiTietDonHang += "00" + (i + 1).ToString();
                    }
                    ctdonHangDTO.MaDonHang = txtMaDonHang.Text;
                    ctdonHangDTO.MaSanPham = Row.Cells["clMaSanPham"].Value.ToString();
                    ctdonHangDTO.CV        = int.Parse(Row.Cells["clCV"].Value.ToString());
                    ctdonHangDTO.SoLuong   = int.Parse(Row.Cells["clSoLuong"].Value.ToString());
                    ctdonHangDTO.DonGia    = float.Parse(Row.Cells["clDonGia"].Value.ToString());
                    ctdonHangDTO.ThanhTien = float.Parse(Row.Cells["clThanhTien"].Value.ToString());
                    listctdonHangDTO.Add(ctdonHangDTO);
                }
            }

            //insert dữ liệu

            if (DonHangBUS.InsertDonHang(donHangDTO))
            {
                foreach (ChiTietDonHangDTO ctdonHangDTO in listctdonHangDTO)
                {
                    ChiTietDonHangBUS.InsertChiTietDonHang(ctdonHangDTO);
                }
                MessageBox.Show("Nhập dữ liệu thành công");
                return(true);
                //btnTao.Text = "Cập nhật";
            }
            else
            {
                MessageBox.Show("Nhập dữ liệu thất bại");
            }
            return(false);
        }
Пример #8
0
        private void btnXoa_Click(object sender, EventArgs e)
        {
            DialogResult res = MessageBox.Show("Xóa đơn Nhập Hàng", "Nhập Hàng", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);

            //Lấy vị trí cần xóa
            if (res == DialogResult.Yes)
            {
                string id = dataGridView_TraCuuNhapHang.CurrentRow.Cells["clMaPhieuNhap"].Value.ToString();
                List <ChiTietPhieuNhapDTO> listChiTietPhieuNhapDTO = ChiTietPhieuNhapBUS.SelectChiTietPhieuNhapByMaPhieuNhap(id);
                bool xoa = true;
                for (int i = 0; i < listChiTietPhieuNhapDTO.Count; i++)
                {
                    if (SanPhamBUS.SelectSanPhamById(listChiTietPhieuNhapDTO[i].MaSanPham).SoLuongTon < listChiTietPhieuNhapDTO[i].SLNhan)
                    {
                        xoa = false;
                    }
                }
                if (xoa)
                {
                    int    Index     = dataGridView_TraCuuNhapHang.CurrentRow.Index;
                    int    stt       = int.Parse(dataGridView_TraCuuNhapHang.CurrentRow.Cells[clSTT.Index].Value.ToString());
                    string maDonHang = PhieuNhapBUS.SelectPhieuNhapById(id).MaDonHang;
                    if (PhieuNhapBUS.DeletePhieuNhapByID(id))
                    {
                        dataGridView_TraCuuNhapHang.Rows.RemoveAt(Index);
                        if (dataGridView_TraCuuNhapHang.RowCount > 0)
                        {
                            bool f = false;
                            for (int i = 0; i < Index; i++)
                            {
                                if (dataGridView_TraCuuNhapHang.Rows[i].Visible == true)
                                {
                                    f = true;
                                    break;
                                }
                            }


                            for (int i = Index; i < dataGridView_TraCuuNhapHang.RowCount; i++)
                            {
                                if (dataGridView_TraCuuNhapHang.Rows[i].Visible == true)
                                {
                                    dataGridView_TraCuuNhapHang.Rows[i].Cells["clSTT"].Value = stt.ToString();
                                    stt++;
                                    f = true;
                                }
                            }

                            if (f == false)
                            {
                                disableButton();
                            }
                            else
                            {
                                enableButton();
                            }
                        }
                        else
                        {
                            disableButton();
                        }

                        //Update

                        //Up date  so luong da nhan trong bang chi tiet don hang va so luong ton
                        List <ChiTietDonHangDTO> listchiTietDonHangDTO = ChiTietDonHangBUS.SelectChiTietDonHangByMaDonHang(maDonHang);
                        SanPhamDTO sanPhamDTO = new SanPhamDTO();
                        bool       falg       = true;
                        int        tongCV     = 0;
                        for (int i = 0; i < listchiTietDonHangDTO.Count; i++)
                        {
                            //chi tiet don hang
                            listchiTietDonHangDTO[i].SLDaNhan = listchiTietDonHangDTO[i].SLDaNhan - listChiTietPhieuNhapDTO[i].SLNhan;
                            tongCV += listChiTietPhieuNhapDTO[i].SLNhan * SanPhamBUS.SelectSanPhamById(listChiTietPhieuNhapDTO[i].MaSanPham).CV;
                            ChiTietDonHangBUS.UpdateChiTietDonHangById(listchiTietDonHangDTO[i]);
                            if (listchiTietDonHangDTO[i].SLDaNhan != listchiTietDonHangDTO[i].SoLuong)
                            {
                                falg = false;
                            }

                            //so luong ton
                            sanPhamDTO            = SanPhamBUS.SelectSanPhamById(listChiTietPhieuNhapDTO[i].MaSanPham);
                            sanPhamDTO.SoLuongTon = sanPhamDTO.SoLuongTon - listChiTietPhieuNhapDTO[i].SLNhan;
                            SanPhamBUS.UpdateSanPhamById(sanPhamDTO);
                        }

                        //update trang thai don hang
                        DonHangDTO donHangDTO = DonHangBUS.SelectDonHangById(maDonHang);
                        if (falg)//Da nhan (tat ca SlDaNhan == SoLuong)
                        {
                            donHangDTO.TrangThai = "Đã nhận";
                        }
                        else//Nhan mot phan (con it nhat mot san pham chua nhan het)
                        {
                            donHangDTO.TrangThai = "Nhận một phần";
                        }
                        DonHangBUS.UpdateDonHangById(donHangDTO);

                        //update tong cv
                        ThamSoDTO thamSoDTO = ThamSoBUS.SelectThamSoById("TS004");
                        thamSoDTO.GiaTri = (int.Parse(thamSoDTO.GiaTri) - tongCV).ToString();
                        ThamSoBUS.UpdateThamSoById(thamSoDTO);

                        MessageBox.Show("Xóa thành công");
                    }
                }
                else
                {
                    MessageBox.Show("Sản phẩm đã bán, không cho phép xóa phiếu nhập " + id);
                }
            }
        }
Пример #9
0
 public void Add(DonHangDTO x)
 {
     list.Add(x);
 }
Пример #10
0
        public bool themdonhang_hopdong(DonHangDTO hang)
        {
            bool kq = dalHangHoa.themdonhang_hopdong(hang);

            return(kq);
        }
Пример #11
0
        public bool themdonhang_canhan(DonHangDTO hang)
        {
            bool kq = dalHangHoa.themdonhang_canhan(hang);

            return(kq);
        }
Пример #12
0
 public CaNhanDTO selectCaNhan(DonHangDTO hang)
 {
     return(hhdal.selectCaNhan(hang));
 }
Пример #13
0
 public HopDongDTO selectHopDong(DonHangDTO hang)
 {
     return(hhdal.selectHopDong(hang));
 }
Пример #14
0
 public string selectMaHangHoaDat(DonHangDTO hang)
 {
     return(hhdal.selectMaHangHoaDat(hang));
 }
Пример #15
0
 private void AddNewRow(DonHangDTO x)
 {
     // Add vào treeview
     AddNewRow(x.Madh, x.Tensp, x.Sdt, x.Tenkh, x.Ngaylap, x.Sl, x.Gia, x.Tongtien, x.Tennv, x.Diachi);
 }
Пример #16
0
        private bool InsertPhieuNhap()
        {
            bool res = true;

            if (DonHangBUS.SelectDonHangById(txtDonDatHang.Text).TrangThai != "Đã nhận")
            {
                int vt = KiemTraDuLieu();
                if (vt == -1)//du lieu hop le
                {
                    //Lay du lieu
                    PhieuNhapDTO phieuNhapDTO = new PhieuNhapDTO();
                    phieuNhapDTO.MaPhieuNhap = txtMaPhieuNhap.Text;
                    phieuNhapDTO.MaNhanVien  = txtMaNhanVien.Text;
                    phieuNhapDTO.NgayNhan    = NgayNhap;
                    phieuNhapDTO.MaDonHang   = txtDonDatHang.Text;

                    List <ChiTietPhieuNhapDTO> listChiTietPhieuNhapDTO = new List <ChiTietPhieuNhapDTO>();
                    int tongCV = 0;
                    for (int i = 0; i < dataGridView_NhapHang.RowCount; i++)
                    {
                        ChiTietPhieuNhapDTO chiTietPhieuNhapDTO = new ChiTietPhieuNhapDTO();
                        chiTietPhieuNhapDTO.MaChiTietPhieuNhap = txtMaPhieuNhap.Text;
                        if (i > 100)
                        {
                            chiTietPhieuNhapDTO.MaChiTietPhieuNhap += (i + 1).ToString();
                        }
                        else if (i > 10)
                        {
                            chiTietPhieuNhapDTO.MaChiTietPhieuNhap += "0" + (i + 1).ToString();
                        }
                        else
                        {
                            chiTietPhieuNhapDTO.MaChiTietPhieuNhap += "00" + (i + 1).ToString();
                        }
                        chiTietPhieuNhapDTO.MaPhieuNhap = txtMaPhieuNhap.Text;
                        chiTietPhieuNhapDTO.MaSanPham   = dataGridView_NhapHang.Rows[i].Cells[clMaSanPham.Index].Value.ToString();
                        chiTietPhieuNhapDTO.SLNhan      = int.Parse(dataGridView_NhapHang.Rows[i].Cells[clSLNhan.Index].Value.ToString());
                        tongCV += SanPhamBUS.SelectSanPhamById(chiTietPhieuNhapDTO.MaSanPham).CV *chiTietPhieuNhapDTO.SLNhan;
                        chiTietPhieuNhapDTO.GhiChu = dataGridView_NhapHang.Rows[i].Cells[clGhiChu.Index].Value.ToString();
                        listChiTietPhieuNhapDTO.Add(chiTietPhieuNhapDTO);
                    }

                    //Insert phieu nhap
                    if (PhieuNhapBUS.InsertPhieuNhap(phieuNhapDTO))
                    {
                        //Insert chi tiet phieu nhap
                        foreach (ChiTietPhieuNhapDTO ct in listChiTietPhieuNhapDTO)
                        {
                            ChiTietPhieuNhapBUS.InsertChiTietPhieuNhap(ct);
                        }

                        //Up date  so luong da nhan trong bang chi tiet don hang
                        string id = txtDonDatHang.Text;
                        List <ChiTietDonHangDTO> listchiTietDonHangDTO = ChiTietDonHangBUS.SelectChiTietDonHangByMaDonHang(id);
                        bool f = true;
                        for (int i = 0; i < listchiTietDonHangDTO.Count; i++)
                        {
                            listchiTietDonHangDTO[i].SLDaNhan += listChiTietPhieuNhapDTO[i].SLNhan;
                            ChiTietDonHangBUS.UpdateChiTietDonHangById(listchiTietDonHangDTO[i]);
                            if (listchiTietDonHangDTO[i].SLDaNhan != listchiTietDonHangDTO[i].SoLuong)
                            {
                                f = false;
                            }
                        }

                        //update tong cv
                        ThamSoDTO thamsoDTO = ThamSoBUS.SelectThamSoById("TS004");
                        thamsoDTO.GiaTri = (int.Parse(thamsoDTO.GiaTri) + tongCV).ToString();
                        ThamSoBUS.UpdateThamSoById(thamsoDTO);


                        //update trang thai don hang
                        DonHangDTO donHangDTO = DonHangBUS.SelectDonHangById(id);
                        if (f)//Da nhan (tat ca SlDaNhan == SoLuong)
                        {
                            donHangDTO.TrangThai = "Đã nhận";
                        }
                        else//Nhan mot phan (con it nhat mot san pham chua nhan het)
                        {
                            donHangDTO.TrangThai = "Nhận một phần";
                        }
                        DonHangBUS.UpdateDonHangById(donHangDTO);


                        //Update so luong ton trong bang san pham
                        SanPhamDTO sanPhamDTO = new SanPhamDTO();
                        for (int i = 0; i < listChiTietPhieuNhapDTO.Count; i++)
                        {
                            sanPhamDTO             = SanPhamBUS.SelectSanPhamById(listChiTietPhieuNhapDTO[i].MaSanPham);
                            sanPhamDTO.SoLuongTon += listChiTietPhieuNhapDTO[i].SLNhan;
                            SanPhamBUS.UpdateSanPhamById(sanPhamDTO);
                        }



                        MessageBox.Show("Tạo Thành Công");
                    }
                    else
                    {
                        MessageBox.Show("Tạo Không Thành Công");
                        res = false;
                    }
                }
                else //du lieu ko hop le o vi tri vt
                {
                    dataGridView_NhapHang.CurrentCell          = dataGridView_NhapHang.Rows[vt].Cells[clSLNhan.Index];
                    dataGridView_NhapHang.CurrentCell.Selected = true;
                    dataGridView_NhapHang.BeginEdit(true);
                    res = false;
                }
            }
            else // don hang da nhan
            {
                MessageBox.Show("Đon hàng " + txtDonDatHang.Text + " đã nhận xong, không thể tạo phiếu nhập");
                btnTao.Enabled = false;
                res            = false;
            }
            return(res);
        }
Пример #17
0
        private void btnThemDonHang_Click(object sender, EventArgs e)
        {
            try
            {
                if (txtPhiVanChuyen_Them.Text == "")
                {
                    MessageBox.Show("Phải nhập phí vận chuyển");
                    return;
                }
                if (cbmTrangThai_Them.Text == "")
                {
                    MessageBox.Show("Phải chọn trạng thái đơn hàng");
                    return;
                }
                if (dtgvDanhSachSanPham_ChiTiet.Rows.Count == 0)
                {
                    MessageBox.Show("Phải chọn ít nhất 1 sản phẩm");
                    return;
                }

                foreach (DataGridViewRow row in this.dtgvDanhSachSanPham_ChiTiet.Rows)
                {
                    int kq = KiemTraConHang(row.Cells["MaSanPham"].Value.ToString(), Int32.Parse(row.Cells["CmbSoLuong"].Value.ToString()));
                    if (kq > -1)
                    {
                        MessageBox.Show("Số lượng sản phẩm  '" + row.Cells["MaSanPham"].Value.ToString() + "'  đặt mua lớn hơn số lượng hàng còn trong kho." + "\n\nSố lượng hàng còn trong kho là: " + kq.ToString());
                        dtgvDanhSachSanPham_ChiTiet.FirstDisplayedScrollingRowIndex = row.Index;
                        return;
                    }
                }

                DialogResult result = MessageBox.Show("Bạn có chắc là muốn thêm đơn hàng này không",
                                                      "Question",
                                                      MessageBoxButtons.YesNo,
                                                      MessageBoxIcon.Question,
                                                      MessageBoxDefaultButton.Button1);
                if (result == DialogResult.Yes)
                {
                    DonHangBUS        dhBus   = new DonHangBUS();
                    DonHangDTO        dhDto   = new DonHangDTO();
                    ChiTietDonHangBUS ctdhBus = new ChiTietDonHangBUS();


                    dhDto.MaKhachHang = Int32.Parse(txtMaKH_Them.Text);
                    if (cbmTrangThai_Them.Text == "Mới đặt")
                    {
                        dhDto.TrangThai = 1;
                    }
                    else
                    {
                        dhDto.TrangThai = 2;
                    }
                    dhDto.NguoiNhap      = frmDangNhap.gUserName;
                    dhDto.PhiVanChuyen   = Int32.Parse(txtPhiVanChuyen_Them.Text);
                    dhDto.TongTien       = Int32.Parse(lbTongTien.Text.Replace(@",", ""));
                    dhDto.SoLuongSanPham = Int32.Parse(lbSoLuong.Text);
                    if (rdGiaSi.Checked == true)
                    {
                        dhDto.HinhThucMua = 0; //Gia Si
                    }
                    else
                    {
                        dhDto.HinhThucMua = 1; //Gia Le
                    }
                    dhBus.Insert(dhDto);
                    _maDH = dhDto.MaDonHang;

                    foreach (DataGridViewRow row in this.dtgvDanhSachSanPham_ChiTiet.Rows)
                    {
                        ChiTietDonHangDTO ctdhDto = new ChiTietDonHangDTO();
                        ctdhDto.MaDonHang = dhDto.MaDonHang;
                        ctdhDto.MaSanPham = row.Cells["MaSanPham"].Value.ToString();
                        ctdhDto.MauSac    = row.Cells["MauSac"].Value.ToString();
                        ctdhDto.SoLuong   = Int32.Parse(row.Cells["CmbSoLuong"].Value.ToString());
                        ctdhDto.GiaBan    = Int32.Parse(row.Cells["GiaBan"].Value.ToString().Replace(@",", ""));
                        ctdhBus.Insert(ctdhDto);

                        if (cbmTrangThai_Them.Text == "Hoàn tất")
                        {
                            int newSl = ctdhDto.SoLuong;
                            int oldSl = Int32.Parse(row.Cells["SoLuong"].Value.ToString());
                            int trangthai;
                            if (newSl == oldSl)
                            {
                                trangthai = 0;
                            }
                            else
                            {
                                trangthai = 1;
                            }
                            SanPhamBUS spBus = new SanPhamBUS();
                            //spBus.CapNhatKhoHang(ctdhDto.MaSanPham, oldSl - newSl, trangthai);
                        }
                    }

                    MessageBox.Show("Đơn hàng đã được thêm thành công");
                    btnCapNhat.Visible              = true;
                    _curTrangThai                   = dhDto.TrangThai;
                    cbmTrangThai_Them.DataSource    = TrangThaiDonHangBUS.GetList();
                    cbmTrangThai_Them.DisplayMember = "TrangThai";
                    cbmTrangThai_Them.ValueMember   = "MaTrangThai";
                    cbmTrangThai_Them.SelectedValue = dhDto.TrangThai;
                }
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Пример #18
0
        private bool UpdatePhieuNhap()
        {
            int vt = KiemTraDuLieu();

            if (vt == -1)//du lieu hop le
            {
                List <ChiTietPhieuNhapDTO> listChiTietPhieuNhapDTO = ChiTietPhieuNhapBUS.SelectChiTietPhieuNhapByMaPhieuNhap(MaPhieuNhap);

                //Up date  so luong da nhan trong bang chi tiet don hang va so luong ton, chi tiet phieu nhap
                string id = txtDonDatHang.Text;
                List <ChiTietDonHangDTO> listchiTietDonHangDTO = ChiTietDonHangBUS.SelectChiTietDonHangByMaDonHang(id);
                SanPhamDTO sanPhamDTO  = new SanPhamDTO();
                bool       f           = true;
                int        SLNhan      = 0;
                int        tongCVTruoc = 0;
                int        tongCVSau   = 0;
                for (int i = 0; i < listchiTietDonHangDTO.Count; i++)
                {
                    //chi tiet don hang
                    SLNhan = int.Parse(dataGridView_NhapHang.Rows[i].Cells[clSLNhan.Index].Value.ToString());
                    listchiTietDonHangDTO[i].SLDaNhan = listchiTietDonHangDTO[i].SLDaNhan - listChiTietPhieuNhapDTO[i].SLNhan + SLNhan;
                    tongCVTruoc += listChiTietPhieuNhapDTO[i].SLNhan * SanPhamBUS.SelectSanPhamById(listChiTietPhieuNhapDTO[i].MaSanPham).CV;
                    tongCVSau   += SLNhan * SanPhamBUS.SelectSanPhamById(listChiTietPhieuNhapDTO[i].MaSanPham).CV;
                    ChiTietDonHangBUS.UpdateChiTietDonHangById(listchiTietDonHangDTO[i]);
                    if (listchiTietDonHangDTO[i].SLDaNhan != listchiTietDonHangDTO[i].SoLuong)
                    {
                        f = false;
                    }

                    //so luong ton
                    sanPhamDTO            = SanPhamBUS.SelectSanPhamById(listChiTietPhieuNhapDTO[i].MaSanPham);
                    sanPhamDTO.SoLuongTon = sanPhamDTO.SoLuongTon - listChiTietPhieuNhapDTO[i].SLNhan + SLNhan;
                    SanPhamBUS.UpdateSanPhamById(sanPhamDTO);

                    //Update chi tiet phieu nhap
                    listChiTietPhieuNhapDTO[i].SLNhan = SLNhan;
                    listChiTietPhieuNhapDTO[i].GhiChu = dataGridView_NhapHang.Rows[i].Cells[clGhiChu.Index].Value.ToString();
                    ChiTietPhieuNhapBUS.UpdateChiTietPhieuNhapById(listChiTietPhieuNhapDTO[i]);
                }

                //update tong cv
                ThamSoDTO thamSoDTO = ThamSoBUS.SelectThamSoById("TS004");
                thamSoDTO.GiaTri = (int.Parse(thamSoDTO.GiaTri) - tongCVTruoc + tongCVSau).ToString();
                ThamSoBUS.UpdateThamSoById(thamSoDTO);

                //update trang thai don hang
                DonHangDTO donHangDTO = DonHangBUS.SelectDonHangById(id);
                if (f)//Da nhan (tat ca SlDaNhan == SoLuong)
                {
                    donHangDTO.TrangThai = "Đã nhận";
                }
                else//Nhan mot phan (con it nhat mot san pham chua nhan het)
                {
                    donHangDTO.TrangThai = "Nhận một phần";
                }
                DonHangBUS.UpdateDonHangById(donHangDTO);

                MessageBox.Show("Cập nhật thành công");

                return(true);
            }
            else //du lieu ko hop le o vi tri vt
            {
                dataGridView_NhapHang.CurrentCell          = dataGridView_NhapHang.Rows[vt].Cells[clSLNhan.Index];
                dataGridView_NhapHang.CurrentCell.Selected = true;
                dataGridView_NhapHang.BeginEdit(true);
                return(false);
            }
        }
Пример #19
0
        private void frmChiTietDonHangNew_Load(object sender, EventArgs e)
        {
            int maDH = frmQuanLyDonHang.gMaDH;

            KhachHangBUS khBus = new KhachHangBUS();
            KhachHangDTO khDto = new KhachHangDTO();

            DonHangBUS dhBus = new DonHangBUS();
            DonHangDTO dhDto = new DonHangDTO();

            ChiTietDonHangBUS ctdhBus = new ChiTietDonHangBUS();

            khDto = khBus.LayThongTinKhachHangTuMaDonHang(maDH);
            dhDto = dhBus.LayBangMaDonHang(maDH);

            cbmTrangThai_Them.DataSource    = TrangThaiDonHangBUS.GetList();
            cbmTrangThai_Them.DisplayMember = "TrangThai";
            cbmTrangThai_Them.ValueMember   = "MaTrangThai";
            cbmTrangThai_Them.SelectedValue = dhDto.TrangThai;

            txtMaKH_Them.Text       = khDto.MaKhachHang.ToString();
            txtTenKH_Them.Text      = khDto.HoTen;
            txtDiaChi_Them.Text     = khDto.DiaChi;
            txtDienThoai_Them.Text  = khDto.DienThoai;
            txtEmail_Them.Text      = khDto.Email;
            txtFacebook_Them.Text   = khDto.Facebook;
            txtTKNganHang_Them.Text = khDto.TKNganHang;

            lbSoLuong.Text            = dhDto.SoLuongSanPham.ToString();
            lbTongTien.Text           = dhDto.TongTien.ToString("n0");
            txtPhiVanChuyen_Them.Text = dhDto.PhiVanChuyen.ToString("n0");

            if (dhDto.HinhThucMua == 0)
            {
                rdGiaSi.Checked = true;
                rdGiaLe.Checked = false;
            }
            else
            {
                rdGiaLe.Checked = true;
                rdGiaSi.Checked = false;
            }

            dt = ctdhBus.LayDanhSachSanPham(maDH);
            dtgvDanhSachSanPham_ChiTiet.DataSource = dt;

            DataGridViewImageColumn imageCol = new DataGridViewImageColumn();

            imageCol.Name       = "img";
            imageCol.HeaderText = "Hinh Anh";
            imageCol.Width      = _colWidth;
            dtgvDanhSachSanPham_ChiTiet.Columns.Insert(2, imageCol);

            DataGridViewButtonColumn btnColumn = new DataGridViewButtonColumn();

            btnColumn.HeaderText = "";
            btnColumn.Text       = "Xóa";
            btnColumn.UseColumnTextForButtonValue = true;
            dtgvDanhSachSanPham_ChiTiet.Columns.Add(btnColumn);

            formatData();
            _firstLoad = false;
        }
Пример #20
0
        private void KhoiTaoNhapMaDonHang()//KHởi Tạo Dữ Liệu Datagidview Khi Gõ Vào Mã Đơn Hàng
        {
            string     id         = txtDonDatHang.Text;
            DonHangDTO donHangDTO = DonHangBUS.SelectDonHangById(id);

            if (donHangDTO != null)
            {
                txtNgayDat.Text   = donHangDTO.NgayLap.ToString("dd/MM/yyyy");
                txtSoTien.Text    = donHangDTO.ThanhTien.ToString();
                txtTrangThai.Text = donHangDTO.TrangThai;

                if (Status == 0)
                {
                    List <ChiTietDonHangDTO> LchiTietDonHangDTO = ChiTietDonHangBUS.SelectChiTietDonHangByMaDonHang(id);
                    for (int i = 0; i < LchiTietDonHangDTO.Count; i++)
                    {
                        ChiTietDonHangDTO chiTietDonHangDTO = LchiTietDonHangDTO[i];
                        SanPhamDTO        sanPhamDTO        = SanPhamBUS.SelectSanPhamById(chiTietDonHangDTO.MaSanPham.ToString());

                        dataGridView_NhapHang.Rows.Add((i + 1).ToString(),
                                                       chiTietDonHangDTO.MaSanPham.ToString(),
                                                       sanPhamDTO.TenSanPham.ToString(),
                                                       chiTietDonHangDTO.SoLuong.ToString(),
                                                       chiTietDonHangDTO.SLDaNhan.ToString(), "0", "");
                    }
                    dataGridView_NhapHang.CurrentCell          = dataGridView_NhapHang.Rows[0].Cells[clSLNhan.Index];
                    dataGridView_NhapHang.CurrentCell.Selected = true;
                    dataGridView_NhapHang.BeginEdit(true);
                    btnTao.Enabled = true;
                }
                else
                {
                    List <ChiTietDonHangDTO>   LchiTietDonHangDTO   = ChiTietDonHangBUS.SelectChiTietDonHangByMaDonHang(id);
                    List <ChiTietPhieuNhapDTO> listChiTietPhieuNhap = ChiTietPhieuNhapBUS.SelectChiTietPhieuNhapByMaPhieuNhap(txtMaPhieuNhap.Text);
                    for (int i = 0; i < LchiTietDonHangDTO.Count; i++)
                    {
                        ChiTietDonHangDTO chiTietDonHangDTO = LchiTietDonHangDTO[i];
                        SanPhamDTO        sanPhamDTO        = SanPhamBUS.SelectSanPhamById(chiTietDonHangDTO.MaSanPham.ToString());
                        LchiTietDonHangDTO[i].SLDaNhan = LchiTietDonHangDTO[i].SLDaNhan - listChiTietPhieuNhap[i].SLNhan;

                        dataGridView_NhapHang.Rows.Add((i + 1).ToString(),
                                                       chiTietDonHangDTO.MaSanPham.ToString(),
                                                       sanPhamDTO.TenSanPham.ToString(),
                                                       chiTietDonHangDTO.SoLuong.ToString(),
                                                       chiTietDonHangDTO.SLDaNhan.ToString(), listChiTietPhieuNhap[i].SLNhan.ToString(),
                                                       listChiTietPhieuNhap[i].GhiChu.ToString());
                    }

                    dataGridView_NhapHang.ReadOnly      = true;
                    dataGridView_NhapHang.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
                    btnCapNhap.Visible      = true;
                    btnTao.Visible          = true;
                    btnLamLai.Visible       = false;
                    btnTaoMoi.Visible       = false;
                    btnTimPhieuNhap.Visible = false;

                    if (Status == 4)
                    {
                        //Chuyen sang trang thai cap nhat
                        panelChucNang.Visible                      = false;
                        panelYesNo.Visible                         = true;
                        dataGridView_NhapHang.ReadOnly             = false;
                        dataGridView_NhapHang.SelectionMode        = DataGridViewSelectionMode.CellSelect;
                        dataGridView_NhapHang.CurrentCell          = dataGridView_NhapHang.Rows[0].Cells[clSLNhan.Index];
                        dataGridView_NhapHang.CurrentCell.Selected = true;
                        dataGridView_NhapHang.BeginEdit(true);
                        MaPhieuNhap = txtMaPhieuNhap.Text;
                    }
                }
            }
            else
            {
                txtNgayDat.Text   = "";
                txtSoTien.Text    = "";
                txtTrangThai.Text = "";
                btnTao.Enabled    = false;
                dataGridView_NhapHang.Rows.Clear();
            }
        }
Пример #21
0
 public int ThemDonHangGuest(DonHangDTO donhang)
 {
     return(dhDAO.ThemDonHangGuest(donhang));
 }
Пример #22
0
        public void CompleteDonHang()
        {
            if (SelectedDonHangGiao == null)
            {
                return;
            }

            var dialog = IoC.Get <DialogViewModel>();

            dialog.Question    = "Hoàn tất giao đơn hàng đã chọn?";
            dialog.DisplayName = "";

            var result = _windowManager.ShowDialog(dialog);

            if (result != true)
            {
                return;
            }

            SelectedDonHangGiao.TenTrangThai = TrangThai.DaGiaoHang;

            var donHang = SelectedDonHangGiao;

            var tmp = new DonHangDTO
            {
                MaDonHang      = donHang.MaDonHang,
                LienHeNguoiBan = donHang.LienHeNguoiBan,
                DiaDiemGiao    = donHang.DiaDiemGiaoHang,
                DiaDiemNhan    = donHang.DiaDiemGiaoHang,
                GhiChu         = donHang.GhiChu,
                KhuVuc         = donHang.TenKhuVuc.ToString(),
                LoaiDonHang    = donHang.TenLoaiDonHang.ToString(),
                MaNhanVienGiao = donHang.MaNhanVienGiao,
                MaNhanVienNhan = donHang.MaNhanVienNhan,
                NgayDatHang    = donHang.NgayDatHang,
                TenNguoiMua    = donHang.TenNguoiMua,
                TenNguoiBan    = donHang.TenNguoiBan,
                TienThuHo      = donHang.TienThuHo,
                TrangThai      = donHang.TenTrangThai.ToString(),
                SDTNguoiBan    = donHang.SdtNguoiBan,
                SDTNguoiMua    = donHang.SdtNguoiMua,
                TongThanhTien  = donHang.TongThanhTien,
                NgayGiaoHang   = donHang.NgayGiaoHang,
                NgayNhanHang   = donHang.NgayNhanHang,
                PhiVanChuyen   = donHang.PhiVanChuyen,
                PhiPhatSinh    = donHang.PhiPhatSinh
            };

            try
            {
                DonHangBUS.SuaDonHang(tmp);
                DonHangGiaoList.Remove(SelectedDonHangGiao);
            }
            catch (Exception e)
            {
                var error = IoC.Get <ErrorViewModel>();
                error.ErrorName   = e.Message;
                error.DisplayName = "Lỗi";
                _windowManager.ShowDialog(error);
            }
        }
    protected void Dat_hang_guest()
    {
        DonHangDTO donhang = new DonHangDTO();

        //Xac dinh tham so
        donhang.Ngay_gio_lap       = DateTime.Parse(Request["Ngay_lap"].ToString());
        donhang.Dia_chi_nhan       = Request["Dia_chi_nhan"];
        donhang.Nguoi_nhan         = Request["Nguoi_nhan"];
        donhang.Ngay_gio_giao_hang = DateTime.Parse(Request["Ngay_giao"].ToString());
        donhang.Gia_tri            = decimal.Parse(Request["Gia_tri"].ToString());
        donhang.Da_dat_hang        = true;
        donhang.Da_thanh_toan      = false;
        donhang.Da_giao_hang       = false;
        donhang.Tien_thue          = decimal.Parse(Request["Tien_thue"].ToString());

        int             madonhang;
        Gio_hang_online gio_hang = (Gio_hang_online)Session["Gio_hang"];

        XL_THE        the = new XL_THE("goc");
        XL_THUOC_TINH thuoc_tinh;

        try
        {
            madonhang = (new DonHangBUS()).ThemDonHang(donhang);
        }
        catch (Exception ex)
        {
            the.Danh_sach_thuoc_tinh.Add(new XL_THUOC_TINH("kq", "Dat hang loi"));
            the.Danh_sach_thuoc_tinh.Add(new XL_THUOC_TINH("flag", "false"));
            string chuoi = the.Chuoi();
            XL_CHUOI.XuatChuoi(Response, chuoi);
            return;
        }

        try
        {
            CTDonHangDTO ctdonhang = new CTDonHangDTO();
            CTDonHangBUS ctdhBUS   = new CTDonHangBUS();
            TagBUS       tagbus    = new TagBUS();

            for (int i = 0; i < gio_hang.DsMonAn.Count; i++)
            {
                Item_online item = (Item_online)gio_hang.DsMonAn[i];

                ctdonhang.Ma_don_hang = madonhang;
                ctdonhang.Ma_item     = item.Ma_item;
                ctdonhang.So_luong    = item.So_luong;
                ctdonhang.Thanh_tien  = item.So_luong * item.Gia;
                ctdonhang.Loai_item   = item.Loai_item;
                ctdonhang.La_qua_tang = false;

                ctdhBUS.ThemChiTietDonHang(ctdonhang);
                tagbus.CapNhatDoUuTien(ctdonhang.Ma_item, ctdonhang.Loai_item);
            }
        }
        catch (Exception ex)
        {
            the.Danh_sach_thuoc_tinh.Add(new XL_THUOC_TINH("kq", "Dat hang loi"));
            the.Danh_sach_thuoc_tinh.Add(new XL_THUOC_TINH("flag", "false"));
            string chuoi = the.Chuoi();
            XL_CHUOI.XuatChuoi(Response, chuoi);
            return;
        }

        the.Danh_sach_thuoc_tinh.Add(new XL_THUOC_TINH("kq", "Dat hang thanh cong"));
        the.Danh_sach_thuoc_tinh.Add(new XL_THUOC_TINH("flag", "true"));
        XL_CHUOI.XuatChuoi(Response, the.Chuoi());

        Session["Gio_hang"] = null;

        return;
    }
Пример #24
0
 public static bool InsertDonHang(DonHangDTO donHangDTO)
 {
     return(DonHangDAO.InsertDonHang(donHangDTO));
 }