Example #1
0
        public static dynamic loadAllChiTietById(int id)
        {
            QLCuaHangDDSDataContext db = new QLCuaHangDDSDataContext();
            var query = db.CHITIETHOADONBANHANGs.Where(p => p.MaHD == id);

            return(query.ToList());
        }
Example #2
0
        public static bool CapNhatChiTietHD(int id1, string id2, CHITIETHOADONBANHANG ctNew, ref decimal deltaTT)
        {
            QLCuaHangDDSDataContext db = new QLCuaHangDDSDataContext();
            var ct = db.CHITIETHOADONBANHANGs.Single(p => p.MaHD == id1 && p.TenMH == id2);

            ct.SoLuong = ctNew.SoLuong;

            decimal originTT = ct.ThanhTien.Value;

            ct.GiamGiaTrenMatHang = ctNew.GiamGiaTrenMatHang;
            ct.ThanhTien          = ct.DonGia.Value * (1 - (decimal)ct.GiamGiaTrenMatHang.Value) * ct.SoLuong;

            ct.GiamGiaTrenThanhTien = ctNew.GiamGiaTrenThanhTien;
            ct.ThanhTien            = ct.ThanhTien * (1 - (decimal)ct.GiamGiaTrenThanhTien.Value);

            try
            {
                db.SubmitChanges();
                decimal delta = ct.ThanhTien.Value - originTT;
                HoaDonBanHangDAO.CapNhatTongTienHD(ct.MaHD, delta, ref deltaTT);
                XtraMessageBox.Show("Cập nhật thành công!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);

                return(true);
            }
            catch (Exception e)
            {
                XtraMessageBox.Show(e.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }
        }
Example #3
0
        public static dynamic getListRamByLapTopId(string id)
        {
            QLCuaHangDDSDataContext db = new QLCuaHangDDSDataContext();

            var lt = db.LAPTOPs.Single(p => p.Ten == id);

            var query = db.RAMs.Where(p => p.TenLoaiRam == lt.TenLoaiRam && p.TenXungNhip == lt.TenXungNhip && p.ForLapTop == true);

            return(query.ToList());
        }
Example #4
0
        public static dynamic getListHDByLapTopId(string id)
        {
            QLCuaHangDDSDataContext db = new QLCuaHangDDSDataContext();

            var lt = db.LAPTOPs.Single(p => p.Ten == id);

            var query1 = db.HARDDISKs.Where(p => p.TenLoaiHD == "2.5" && p.Interface != "M2");
            var query2 = db.HARDDISKs.Where(p => p.Interface == "M2");

            if (lt.supportM2.Value)
            {
                return(query1.Concat(query2).ToList());
            }

            return(query1.ToList());
        }
Example #5
0
        public static bool ThemChiTietHD(CHITIETHOADONBANHANG ct, ref decimal result)
        {
            QLCuaHangDDSDataContext db = new QLCuaHangDDSDataContext();

            db.CHITIETHOADONBANHANGs.InsertOnSubmit(ct);

            try
            {
                db.SubmitChanges();
                HoaDonBanHangDAO.CapNhatTongTienHD(ct.MaHD, ct.ThanhTien.Value, ref result);
                XtraMessageBox.Show("Thêm thành công!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);

                return(true);
            }
            catch (Exception e)
            {
                XtraMessageBox.Show(e.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }
        }
Example #6
0
        public static bool ThemHoaDon(HOADONBANHANG hd, ref int id)
        {
            QLCuaHangDDSDataContext db = new QLCuaHangDDSDataContext();

            db.HOADONBANHANGs.InsertOnSubmit(hd);

            try
            {
                db.SubmitChanges();
                id = hd.MaHD;
                XtraMessageBox.Show("Thêm thành công!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);

                return(true);
            }
            catch (Exception e)
            {
                XtraMessageBox.Show(e.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }
        }
Example #7
0
        public static bool XoaChiTietHD(int id1, string id2, ref decimal result)
        {
            QLCuaHangDDSDataContext db = new QLCuaHangDDSDataContext();
            var ct = db.CHITIETHOADONBANHANGs.Single(p => p.MaHD == id1 && p.TenMH == id2);

            db.CHITIETHOADONBANHANGs.DeleteOnSubmit(ct);

            try
            {
                db.SubmitChanges();
                HoaDonBanHangDAO.CapNhatTongTienHD(ct.MaHD, -ct.ThanhTien.Value, ref result);
                XtraMessageBox.Show("Xóa thành công!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);

                return(true);
            }
            catch (Exception e)
            {
                XtraMessageBox.Show(e.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }
        }
Example #8
0
        public static bool CapNhatTongTienHD(int id, decimal tt, ref decimal result)
        {
            QLCuaHangDDSDataContext db = new QLCuaHangDDSDataContext();
            HOADONBANHANG           hd = db.HOADONBANHANGs.Single(p => p.MaHD == id);

            hd.TongTien += tt;

            try
            {
                db.SubmitChanges();
                result = hd.TongTien.Value;
                XtraMessageBox.Show("Thành công!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);

                return(true);
            }
            catch (Exception e)
            {
                XtraMessageBox.Show(e.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }
        }
Example #9
0
        public static List <string> GetDeXuatIntelByGia(decimal gia, bool haveVGA, bool haveSSD)
        {
            QLCuaHangDDSDataContext db     = new QLCuaHangDDSDataContext();
            List <string>           result = new List <string>();

            var currentGia = gia / 2;
            //cpu
            var q1 = from c in db.CPUs
                     where c.DonGia <= currentGia && c.TenHangSXCPU == "Intel"
                     orderby c.DonGia descending
                     select c;
            var cpu = q1.FirstOrDefault();

            if (cpu == null)
            {
                result.Clear();
                result.Add("Lỗi ! không có đề xuất cho yêu cầu này");
                return(result);
            }
            result.Add("CPU : " + cpu.Ten + "      " + cpu.DonGia);

            currentGia  = gia - cpu.DonGia.Value;
            gia         = currentGia;
            currentGia /= 2;
            //mainboard
            var q2 = from main in db.MAINBOARDs
                     where main.TenHangSXCPU == "Intel" && main.TenSocket == cpu.TenSocket && main.DonGia <= currentGia
                     orderby main.DonGia descending
                     select main;
            var mainboard = q2.FirstOrDefault();

            if (mainboard == null)
            {
                result.Clear();
                result.Add("Lỗi ! không có đề xuất cho yêu cầu này");
                return(result);
            }
            result.Add("MAINBOARD: " + mainboard.Ten + "      " + mainboard.DonGia.ToString());

            currentGia  = gia - mainboard.DonGia.Value;
            gia         = currentGia;
            currentGia /= 2;
            //hdd
            var q3 = from hdd in db.HARDDISKs
                     where hdd.DonGia <= currentGia && hdd.Interface != "M2"
                     orderby hdd.DonGia descending
                     select hdd;
            var harddisk = q3.FirstOrDefault();

            if (harddisk == null)
            {
                result.Clear();
                result.Add("Lỗi ! không có đề xuất cho yêu cầu này");
                return(result);
            }
            result.Add("HDD : " + harddisk.Ten + "   " + harddisk.TenSize.ToString() + "   " + harddisk.DonGia.ToString());

            if (mainboard.SupportM2.Value)
            {
                q3 = from hdd in db.HARDDISKs
                     where hdd.DonGia <= currentGia
                     orderby hdd.DonGia descending
                     select hdd;
                harddisk = q3.FirstOrDefault();
                result.RemoveAt(result.Count - 1);
                result.Add("HDD : " + harddisk.Ten + "   " + harddisk.TenSize + "   " + harddisk.DonGia.ToString());
            }

            currentGia  = gia - harddisk.DonGia.Value;
            gia         = currentGia;
            currentGia /= 2;
            //vga
            if (haveVGA)
            {
                var q4 = from v in db.VGAs
                         where v.DonGia <= currentGia
                         orderby v.DonGia ascending
                         select v;
                var vga = q4.FirstOrDefault();
                currentGia -= vga.DonGia.Value;
                currentGia /= 2;
                result.Add(vga.Ten);
            }

            //ram
            var q5 = from r in db.RAMs
                     where r.TenLoaiRam == mainboard.TenLoaiRam && r.DonGia <= currentGia
                     orderby r.DonGia descending
                     select r;
            var ram = q5.FirstOrDefault();

            if (ram == null)
            {
                result.Clear();
                result.Add("Lỗi ! không có đề xuất cho yêu cầu này");
                return(result);
            }
            result.Add("RAM : " + ram.Ten + "   " + ram.Size.ToString() + "   " + ram.DonGia.ToString());

            currentGia = gia - ram.DonGia.Value;
            //psu
            var q6 = from p in db.PSUs
                     where p.DonGia <= currentGia
                     orderby p.DonGia descending
                     select p;
            var psu = q6.FirstOrDefault();

            if (psu == null)
            {
                result.Clear();
                result.Add("Lỗi ! không có đề xuất cho yêu cầu này");
                return(result);
            }
            result.Add("PSU : " + psu.Ten + "   " + psu.Power.ToString() + "   " + psu.DonGia.ToString());

            var sum = cpu.DonGia + mainboard.DonGia + ram.DonGia + psu.DonGia + harddisk.DonGia;

            result.Add("");
            result.Add("");
            result.Add("");
            result.Add("            Tổng trị giá: " + sum.ToString() + "VNĐ");

            return(result);
        }