Exemplo n.º 1
0
        private void dgvDanhSach_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            tbTen.Text             = dgvDanhSach.SelectedRows[0].Cells["Ten"].Value.ToString();
            tbMoTa.Text            = dgvDanhSach.SelectedRows[0].Cells["MoTa"].Value.ToString();
            cbVePhai.SelectedValue = dgvDanhSach.SelectedRows[0].Cells["MaMenhDe"].Value.ToString();
            String maLuat = dgvDanhSach.SelectedRows[0].Cells["Ma"].Value.ToString();
            Luat   l      = new Luat();

            l = l.TimTheoMa(int.Parse(maLuat));
            if (l != null)
            {
                List <MenhDe> veTrai = l.VeTrai;
                for (int i = 0; i < clbVeTrai.Items.Count; i++)
                {
                    clbVeTrai.SetItemChecked(i, false);
                }
                foreach (MenhDe m in veTrai)
                {
                    for (int i = 0; i < clbVeTrai.Items.Count; i++)
                    {
                        if (clbVeTrai.Items[i].ToString().Split(':')[0].Equals(m.Ma.ToString()))
                        {
                            clbVeTrai.SetItemChecked(i, true);
                        }
                    }
                }
            }
        }
Exemplo n.º 2
0
        private void LoadLuat()
        {
            Luat      l  = new Luat();
            DataTable tb = l.Tim("");

            dgvDanhSach.DataSource = tb;
        }
Exemplo n.º 3
0
 //[AdminFilter]
 public ActionResult ThemLuatOrSuaLuat(int id, string stringUrl)
 {
     using (TuVanLaptopEntities db = new TuVanLaptopEntities())
     {
         //lấy url trang trước đó
         ViewBag.Url = stringUrl;
         Luat luat = new Luat();
         //khi sửa luật, tức có id truyền vào
         if (id != 0)
         {
             luat = db.Luats.Where(x => x.Id == id).FirstOrDefault();
             luat.SuKienSelectedIDArray = luat.SuKienVT.Split(',').ToArray();
             luat.GiaiThich             = "tự cập nhật";
             ViewBag.ThongBao           = "Sửa luật";
         }
         else
         {
             luat.GiaiThich   = "tự cập nhật";
             luat.DoTinCay    = 100;
             ViewBag.ThongBao = "Thêm luật";
         }
         //luật vế trái chỉ lấy các sự kiện ở giao diện
         luat.SuKienCollection = db.SuKiens.ToList();
         //gán giá trị độ tin cậy mặc định là 100
         ViewBag.IdLuat = id;
         return(View(luat));
     }
 }
Exemplo n.º 4
0
        public IHttpActionResult PutLuat(int id, Luat luat)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != luat.ma_luat)
            {
                return(BadRequest());
            }

            db.Entry(luat).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!LuatExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Exemplo n.º 5
0
        public ActionResult DeleteConfirmed(int id)
        {
            Luat luat = db.Luats.Find(id);

            db.Luats.Remove(luat);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemplo n.º 6
0
        private void btXoa_Click(object sender, EventArgs e)
        {
            Luat l  = new Luat();
            int  id = int.Parse(dgvDanhSach.SelectedRows[0].Cells["Ma"].Value.ToString());

            l.Xoa(id);
            LoadLuat();
            btLamMoi_Click(sender, e);
        }
Exemplo n.º 7
0
 public ActionResult Edit([Bind(Include = "Id,X,Y,Support,Confidence")] Luat luat)
 {
     if (ModelState.IsValid)
     {
         db.Entry(luat).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(luat));
 }
Exemplo n.º 8
0
        public ActionResult Create([Bind(Include = "Id,X,Y,Support,Confidence")] Luat luat)
        {
            if (ModelState.IsValid)
            {
                db.Luats.Add(luat);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(luat));
        }
Exemplo n.º 9
0
        public IHttpActionResult GetLuat(int id)
        {
            Luat luat = db.Luats.Find(id);

            if (luat == null)
            {
                return(NotFound());
            }

            return(Ok(luat));
        }
Exemplo n.º 10
0
        public IHttpActionResult PostLuat(Luat luat)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Luats.Add(luat);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = luat.ma_luat }, luat));
        }
Exemplo n.º 11
0
        //lấy độ tin cậy(max trong các bản ghi) dựa vào vế trái của luật(tương tự lấy sự kiện vế phải)
        public int getDoTinCay(string vetrai)
        {
            //Luat sk = db.Luats.SingleOrDefault(n => n.SuKienVT == vetrai);
            var  query = "SELECT TOP 1 * FROM dbo.Luat WHERE SuKienVT = '" + vetrai + "'" + " ORDER BY  DoTinCay DESC ";
            Luat sk    = db.Luats.SqlQuery(query).FirstOrDefault();

            if (sk == null)
            {
                return(0);
            }
            return((int)sk.DoTinCay);
        }
Exemplo n.º 12
0
        //Lấy Id của sự kiện vế phải dựa vào dãy sự kiện vế trái
        // cần xét thêm độ tin cậy( lấy luật có độ tin cậy cao nhất)
        public String getVePhaiByVeTrai(string vetrai)
        {
            //Luat sk = db.Luats.SingleOrDefault(n => n.SuKienVT == vetrai);
            var  query = "SELECT TOP 1 * FROM dbo.Luat WHERE SuKienVT = '" + vetrai + "'" + " ORDER BY  DoTinCay DESC ";
            Luat sk    = db.Luats.SqlQuery(query).FirstOrDefault();

            if (sk == null)
            {
                return(null);
            }
            return(sk.SukienVP);
        }
Exemplo n.º 13
0
        public void insertLuat(Luat luat)
        {
            SqlConnection conn = connectDatabase();

            conn.Open();
            SqlCommand cmd = new SqlCommand("insert into Luat values(@kihieu, @vetrai, @vephai)", conn);

            cmd.Parameters.AddWithValue("kihieu", luat.KiHieu);
            cmd.Parameters.AddWithValue("vetrai", luat.VePhai);
            cmd.Parameters.AddWithValue("vephai", luat.VePhai);
            cmd.ExecuteNonQuery();
            conn.Close();
        }
Exemplo n.º 14
0
        public void updateLuat(Luat luat)
        {
            SqlConnection conn = connectDatabase();

            conn.Open();
            SqlCommand cmd = new SqlCommand("update Luat set VeTrai=@vetrai, VePhai=@vephai where KiHieu=@kihieu", conn);

            cmd.Parameters.AddWithValue("kihieu", luat.KiHieu);
            cmd.Parameters.AddWithValue("vetrai", luat.VePhai);
            cmd.Parameters.AddWithValue("vephai", luat.VePhai);
            cmd.ExecuteNonQuery();
            conn.Close();
        }
Exemplo n.º 15
0
        public IHttpActionResult DeleteLuat(int id)
        {
            Luat luat = db.Luats.Find(id);

            if (luat == null)
            {
                return(NotFound());
            }

            db.Luats.Remove(luat);
            db.SaveChanges();

            return(Ok(luat));
        }
Exemplo n.º 16
0
        // GET: Admin/Luats/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Luat luat = db.Luats.Find(id);

            if (luat == null)
            {
                return(HttpNotFound());
            }
            return(View(luat));
        }
Exemplo n.º 17
0
        //[AdminFilter]

        public ActionResult Delete(int id)
        {
            using (TuVanLaptopEntities db = new TuVanLaptopEntities())
            {
                Luat luat = db.Luats.SingleOrDefault(n => n.Id == id);
                if (luat == null)
                {
                    return(null);
                }
                db.Luats.Remove(luat);
                db.SaveChanges();
                return(RedirectToAction("QuanLiLuat", "Admin"));
            }
        }
Exemplo n.º 18
0
        private bool checkRule(Luat r)
        {
            bool rs = true;

            string[] x = r.VeTrai.Split(',');
            foreach (string e in x)
            {
                if (!TG.Contains(new SuKien(e)))
                {
                    rs = false;
                }
            }
            return(rs);
        }
Exemplo n.º 19
0
 public ActionResult ResetDoTinCayNew(int MaLuat, string strUrl, int dotincay)
 {
     using (TuVanLaptopEntities db = new TuVanLaptopEntities())
     {
         Luat luat = db.Luats.SingleOrDefault(n => n.Id == MaLuat);
         if (luat == null)
         {
             return(null);
         }
         luat.DoTinCay        = dotincay;
         db.Entry(luat).State = EntityState.Modified;
         db.SaveChanges();
         return(Content(dotincay.ToString()));
     }
 }
Exemplo n.º 20
0
 public ActionResult GiamDoTinCay(int MaLuat, string strUrl, int dotincay)
 {
     using (TuVanLaptopEntities db = new TuVanLaptopEntities())
     {
         Luat luat = db.Luats.SingleOrDefault(n => n.Id == MaLuat);
         if (luat == null)
         {
             return(null);
         }
         luat.DoTinCay        = dotincay - 1;
         db.Entry(luat).State = EntityState.Modified;
         db.SaveChanges();
     }
     return(Redirect(strUrl));
 }
Exemplo n.º 21
0
 private void buttonSua_Click(object sender, EventArgs e)
 {
     try
     {
         Luat luat = new Luat();
         luat.KiHieu = textBoxKiHieu.Text;
         luat.VeTrai = textBoxVeTrai.Text;
         luat.VePhai = textBoxVePhai.Text;
         luatBUL.updateLuat(luat);
         HienThi();
         Clear();
         MessageBox.Show("Sửa thành công!");
     }
     catch (Exception ex)
     {
         MessageBox.Show("Có lỗi xảy ra!\n" + ex.Message);
     }
 }
Exemplo n.º 22
0
        public ActionResult ThemLuatOrSuaLuat(int id = 0)
        {
            Luat luat = new Luat();

            //khi sửa luật, tức có id truyền vào
            if (id != 0)
            {
                luat = db.Luats.Where(x => x.Id == id).FirstOrDefault();
                luat.SuKienSelectedIDArray = luat.SuKienVT.Split(',').ToArray();
                luat.SukienVP    = db.SuKiens.Single(n => n.Id.ToString() == luat.SukienVP).Name;
                ViewBag.ThongBao = "Sửa luật";
            }
            else
            {
                ViewBag.ThongBao = "Thêm luật";
            }
            //luật vế trái chỉ lấy các sự kiện ở giao diện
            luat.SuKienCollection = db.SuKiens.Take(28).ToList();
            return(View(luat));
        }
Exemplo n.º 23
0
        public async Task <Luat> GetLuatById(int id)
        {
            Luat luat = new Luat();

            try
            {
                var client   = new HttpClient();
                var response = await client.GetAsync(uri + "/" + id);

                var content = await response.Content.ReadAsStringAsync();

                var result = JsonConvert.DeserializeObject <Luat>(content);
                return(result);
            }
            catch (Exception ex)
            {
                Debug.WriteLine("\tERROR {0} alo1234", ex.Message);
            }
            return(luat);
        }
Exemplo n.º 24
0
        private void btThem_Click(object sender, EventArgs e)
        {
            Luat          l      = new Luat();
            List <MenhDe> veTrai = new List <MenhDe>();
            MenhDe        vePhai = new MenhDe();

            // Vetrai
            for (int i = 0; i < clbVeTrai.CheckedItems.Count; i++)
            {
                MenhDe m  = new MenhDe();
                String ma = clbVeTrai.CheckedItems[i].ToString().Split(':')[0];
                m = m.TimTheoMa(int.Parse(ma));
                veTrai.Add(m);
            }
            // VePhai
            vePhai = vePhai.TimTheoMa(int.Parse(cbVePhai.SelectedValue.ToString()));

            l.Them(tbTen.Text, tbMoTa.Text, veTrai, vePhai);
            LoadLuat();
            btLamMoi_Click(sender, e);
        }
Exemplo n.º 25
0
 public HttpResponseMessage Create(HttpRequestMessage request, int idLoaiLuat, double sup, double con)
 {
     return(CreateHttpResponse(request, () =>
     {
         HttpResponseMessage response = null;
         if (!ModelState.IsValid)
         {
             response = request.CreateResponse(HttpStatusCode.BadRequest, ModelState);
         }
         else
         {
             List <ClssRules> allRules = GetRulesXetTuyen(sup, con);
             //Xóa những dữ liệu luật cũ theo idLoaiLuat
             var listLuatTheoIdLoaiLuat = _luatService.GetAll(idLoaiLuat);
             foreach (var item in listLuatTheoIdLoaiLuat)
             {
                 _luatService.DeleteItem(item);
             }
             _luatService.Save();
             //Đẩy danh sach các luật vào cơ sở dữ liệu
             foreach (ClssRules rule in allRules)
             {
                 Luat luat = new Luat
                 {
                     X = rule.X.ToString(),
                     Y = rule.Y.ToString(),
                     Support = (decimal)rule.Support,
                     Confidence = (decimal)rule.Confidence,
                     LuatId = idLoaiLuat //Thêm loại luật để phân biệt giữa các luật
                 };
                 _luatService.Add(luat);
             }
             _luatService.Save();
             var newListLuat = _luatService.GetAll(idLoaiLuat);
             var responseData = Mapper.Map <IEnumerable <Luat>, List <LuatViewModel> >(newListLuat);
             response = request.CreateResponse(HttpStatusCode.Created, responseData);
         }
         return response;
     }));
 }
Exemplo n.º 26
0
        async void getListLuatViPham(int ma_vi_pham)
        {
            List <ViPhamLuat> viphamluat = await new ViPhamLuatWebServices().getViPhamLuatList(ma_vi_pham);

            List <LuatDetail> lstLuatDetail = new List <LuatDetail>();

            foreach (ViPhamLuat vpl in viphamluat)
            {
                LuatDetail luatdetail = new LuatDetail();
                Luat       luat       = await new LuatWebServices().GetLuatById(vpl.ma_luat);
                luatdetail.ma_luat       = luat.ma_luat;
                luatdetail.ten_luat      = luat.ten_luat;
                luatdetail.noi_dung      = luat.noi_dung;
                luatdetail.ngay_ban_hanh = luat.ngay_ban_hanh;
                luatdetail.muc_xu_phat   = luat.muc_xu_phat;
                luatdetail.mo_ta_vi_pham = vpl.mo_ta_vi_pham;

                lstLuatDetail.Add(luatdetail);
            }

            listView.ItemsSource = lstLuatDetail.OrderBy(d => d.muc_xu_phat).ToList();
        }
Exemplo n.º 27
0
        public ActionResult ThemLuatOrSuaLuat(Luat luat)
        {
            //thêm sự kiện vế phải vào bảng sự kiện
            SuKien sk = new SuKien();

            sk.Name = luat.SukienVP;
            //kiểm tra sự kiện vế phải  đã tồn tại hay chưa
            SuKien skCheck = db.SuKiens.SingleOrDefault(n => n.Name == luat.SukienVP);

            //chưa tồn tại, thêm mới sự kiện
            if (skCheck == null)
            {
                db.SuKiens.Add(sk);
                db.SaveChanges();
                luat.SukienVP = sk.Id.ToString();
            }
            else
            {
                //nếu sự kiện vế phải đã tồn tại, ko cần add nữa
                luat.SukienVP = skCheck.Id.ToString();
            }
            //chuyển sự kiện vế trái về dạng string[]
            luat.SuKienVT = string.Join(",", luat.SuKienSelectedIDArray);
            //khi chưa có Id, tức đang tạo luật mới
            if (luat.Id == 0)
            {
                //thêm luật vào bảng luật
                db.Luats.Add(luat);
            }
            //khi có Id tức sửa luật
            else
            {
                db.Entry(luat).State = EntityState.Modified;
            }
            db.SaveChanges();
            return(RedirectToAction("QuanLiLuat", "Admin"));
        }
Exemplo n.º 28
0
        public List <Luat> getAllLuat()
        {
            List <Luat>   R = new List <Luat>();
            Luat          rule;
            SqlConnection conn = connectDatabase();

            conn.Open();
            SqlCommand    cmd = new SqlCommand("SELECT * FROM Luat", conn);
            SqlDataReader r   = cmd.ExecuteReader();

            if (r.HasRows)
            {
                while (r.Read())
                {
                    rule        = new Luat();
                    rule.KiHieu = r["KiHieu"].ToString();
                    rule.VeTrai = r["VeTrai"].ToString();
                    rule.VePhai = r["VePhai"].ToString();
                    R.Add(rule);
                }
            }
            conn.Close();
            return(R);
        }
Exemplo n.º 29
0
        public ActionResult Index(FormCollection model, string submit)
        {
            //tổng độ tin cậy của luật tạo mới
            int dotincay = 0;
            //số lượng luật đã lấy
            int soluongluatbandau = 0;
            //phụ thuộc vào các yếu tố của người dùng(nghề nghiệp,....)
            bool luattontai = true;
            //danh sách câu query thu đc từ các sự kiện
            List <String> queryvephai = new List <String>();

            //lấy yêu cầu từ người dùng string[string]
            //chuyển yêu cầu đó sang string[int]
            //Từ string[int] của sự kiện vế trái, ta lấy đc id của sự kiện vế phải
            //chuyển id của sự kiện vế phải sang string(sql)
            //từ sql ta truy vấn đc sản phẩm
            using (TuVanLaptopEntities db = new TuVanLaptopEntities())
            {
                StringBuilder value = new StringBuilder();
                //mảng sự kiện vế trải (int) của Luật
                List <String> list = new List <String>();
                //danh sách yêu cầu(string)
                List <String> yeucau = new List <String>();

                //kiểm tra submit có đc clicked chưa
                if (string.IsNullOrEmpty(submit))
                {
                    TempData["message"] = "Vui lòng nhấn submit";
                    return(RedirectToAction("NotFoundSanPham", "Home"));
                }

                //lấy id của item selected
                if (model["Gioitinhs"].ToString() != "")
                {
                    list.Add(SuKien.getSuKienId(model["Gioitinhs"].ToString())); //lấy đc id sk
                    yeucau.Add(model["Gioitinhs"].ToString());
                    //kiểm tra luật với sự kiện này có tồn tại hay không
                    //nếu không tồn tại=> trả về false
                    if (!Luat.CheckLuatTonTaiWithVeTrai(SuKien.getSuKienId(model["Gioitinhs"].ToString())))
                    {
                        luattontai = false;
                    }
                    //nếu luật có tồn tại, lấy query vế phải của luật theo sự kiện vế trái
                    else
                    {
                        //từ sự kiện ID lấy đc câu query của luật
                        string vp = Luat.getVePhaiByVeTrai(SuKien.getSuKienId(model["Gioitinhs"].ToString()));
                        dotincay += Luat.GetDoTinCayByVetrai(SuKien.getSuKienId(model["Gioitinhs"].ToString()));
                        soluongluatbandau++;
                        queryvephai.Add(vp);
                    }
                    //lưu trạng thái tư vấn của combobox
                    //TempData["GioiTinhs"] = new SelectList(db.GioiTinhs.ToList(), "Name", "Name", model["Gioitinhs"].ToString());
                }

                if (model["NgheNghieps"].ToString() != "")
                {
                    yeucau.Add(model["NgheNghieps"].ToString());
                    list.Add(SuKien.getSuKienId(model["NgheNghieps"].ToString()));

                    if (!Luat.CheckLuatTonTaiWithVeTrai(SuKien.getSuKienId(model["NgheNghieps"].ToString())))
                    {
                        luattontai = false;
                    }
                    else
                    {
                        //từ sự kiện ID lấy đc câu query của luật
                        string vp = Luat.getVePhaiByVeTrai(SuKien.getSuKienId(model["NgheNghieps"].ToString()));
                        dotincay += Luat.GetDoTinCayByVetrai(SuKien.getSuKienId(model["NgheNghieps"].ToString()));
                        soluongluatbandau++;
                        queryvephai.Add(vp);
                    }
                }
                if (model["MucDichs"].ToString() != "")
                {
                    yeucau.Add(model["MucDichs"].ToString());
                    list.Add(SuKien.getSuKienId(model["MucDichs"].ToString()));

                    if (!Luat.CheckLuatTonTaiWithVeTrai(SuKien.getSuKienId(model["MucDichs"].ToString())))
                    {
                        luattontai = false;
                    }
                    else
                    {
                        //từ sự kiện ID lấy đc câu query của luật
                        string vp = Luat.getVePhaiByVeTrai(SuKien.getSuKienId(model["MucDichs"].ToString()));
                        dotincay += Luat.GetDoTinCayByVetrai(SuKien.getSuKienId(model["MucDichs"].ToString()));
                        soluongluatbandau++;
                        queryvephai.Add(vp);
                    }
                }
                if (model["YeuCauGiaTiens"].ToString() != "")
                {
                    yeucau.Add(model["YeuCauGiaTiens"].ToString());
                    list.Add(SuKien.getSuKienId(model["YeuCauGiaTiens"].ToString()));

                    if (Luat.CheckLuatTonTaiWithVeTrai(SuKien.getSuKienId(model["YeuCauGiaTiens"].ToString())))
                    {
                        dotincay += Luat.GetDoTinCayByVetrai(SuKien.getSuKienId(model["YeuCauGiaTiens"].ToString()));
                        soluongluatbandau++;
                    }
                }
                if (model["HangLaptops"].ToString() != "")
                {
                    yeucau.Add(model["HangLaptops"].ToString());
                    list.Add(SuKien.getSuKienId(model["HangLaptops"].ToString()));

                    if (Luat.CheckLuatTonTaiWithVeTrai(SuKien.getSuKienId(model["HangLaptops"].ToString())))
                    {
                        dotincay += Luat.GetDoTinCayByVetrai(SuKien.getSuKienId(model["HangLaptops"].ToString()));
                        soluongluatbandau++;
                    }
                }

                if (model["HeDieuHanhs"].ToString() != "")
                {
                    yeucau.Add(model["HeDieuHanhs"].ToString());
                    list.Add(SuKien.getSuKienId(model["HeDieuHanhs"].ToString()));


                    if (Luat.CheckLuatTonTaiWithVeTrai(SuKien.getSuKienId(model["HeDieuHanhs"].ToString())))
                    {
                        dotincay += Luat.GetDoTinCayByVetrai(SuKien.getSuKienId(model["HeDieuHanhs"].ToString()));
                        soluongluatbandau++;
                    }
                }


                //lấy chuỗi query từ các các sự kiện 100%( giá tiền, hệ điều hành, hãng laptop)
                string mingia      = "";
                string maxgia      = "";
                string hangsanxuat = model["HangLaptops"].ToString();
                string hedieuhanh  = model["HeDieuHanhs"].ToString();
                if (model["YeuCauGiaTiens"].ToString() == "Trên 20 triệu")
                {
                    mingia = 20000000.ToString();
                }
                if (model["YeuCauGiaTiens"].ToString() == "Từ 15 đến 20 triệu")
                {
                    mingia = 15000000.ToString();
                    maxgia = 20000000.ToString();
                }
                if (model["YeuCauGiaTiens"].ToString() == "Từ 10 đến 15 triệu")
                {
                    mingia = 10000000.ToString();
                    maxgia = 15000000.ToString();
                }
                if (model["YeuCauGiaTiens"].ToString() == "Dưới 10 triệu")
                {
                    maxgia = 10000000.ToString();
                }
                //chuỗi thu đc từ các sự kiện 100%
                string simple = Laptop.getLaptopSimple(mingia, maxgia, hangsanxuat, hedieuhanh);
                if (simple != "")
                {
                    queryvephai.Add(simple);
                }
                #region ko có yêu cầu

                //đầu tiền kiểm tra xem có yêu cầu ko ( count của list)
                if (list.Count == 0)
                {
                    TempData["message"] = "Không có yêu cầu được đưa ra.Vui lòng chọn các mục để được tư vấn!";
                    return(RedirectToAction("NotFoundSanPham", "Home"));
                }
                #endregion
                //Nếu có yêu cầu ( list count!=0)
                //nếu chỉ chứa luật simple
                if (model["Gioitinhs"].ToString() == "" && model["NgheNghieps"].ToString() == "" && model["MucDichs"].ToString() == "")
                {
                    var sql     = "SELECT  * FROM dbo.Laptop WHERE " + simple;
                    var laptops = db.Laptops.SqlQuery(sql).ToList();

                    if (laptops == null)
                    {
                        TempData["message"] = "Truy vấn query!Chưa có sản phẩm gợi ý!";
                        return(RedirectToAction("NotFoundSanPham", "Home"));
                    }
                    ViewBag.ThongBao = "Truy vấn query!Có " + laptops.Count() + " sản phẩm được gợi ý!";
                    return(PartialView(laptops));
                }

                //nếu tồn tại luật ko simple
                //khi ấn tư vấn sẽ lấy đc mảng yêu cầu của khách hàng và điều kiện where
                string mangYeuCau = String.Join(",", yeucau.ToArray());
                string query      = String.Join(" AND ", queryvephai.ToArray());

                #region luật cũ
                //Xét luật đã tồn tại hay chưa dựa vào vế trái ArrayInt
                string vetraiArrayInt = String.Join(",", list.ToArray());

                //vế trái của luật có thể trùng nhau, vế phải khác nhau.
                //lấy luật có độ tin cậy cao nhất trong số các luật có vế trái==vetraiArrayInt
                string vephaiByvetraiArrayInt = Luat.getVePhaiByVeTrai(vetraiArrayInt);
                //nếu vế phải tồn tại, tức luật tồn tại
                //if (vephaiByvetraiArrayInt != null)
                //{
                //    //lấy luật có độ tin cậy cao nhất dựa vào vế trái([int]) đã xác định
                //    Luat luat = Luat.getLuatByVeTrai(vetraiArrayInt);

                //    var laptops = Laptop.getLaptopByVePhai(vephaiByvetraiArrayInt);
                //    if (laptops == null)
                //    {
                //        TempData["message"] = "Luật tồn tại-Chưa có sản phẩm gợi ý---\nYêu cầu: " + mangYeuCau;
                //        return RedirectToAction("Index", "Home");
                //    }
                //    //khi có sản phẩm, hiện section đánh giá độ tin cậy
                //    TempData["CheckLuatTonTai"] = "Luật tồn tại";
                //    //lấy id của luật đó:
                //    int id = luat.Id;
                //    TempData["LuatId"] = id;
                //    //mô tả luật
                //    TempData["MoTaLuat"] = Luat.GetMoTaLuat(id);
                //    //lấy độ tin cậy của luật đó
                //    TempData["DoTinCay"] = Luat.GetDoTinCay(id);

                //    ViewBag.ThongBao = "Luật tồn tại-Có: " + laptops.Count() + " sản phẩm được gợi ý!---" + "\nYêu cầu:" + mangYeuCau;
                //    return View(laptops);

                //}
                #endregion
                #region ko đủ sự kiện để tạo luật
                //Nếu luật chưa tồn tại, mới cần xét tự sinh luật
                //nếu luattontai là false tức ko lấy đủ số lượng slq query tự sinh
                //lúc này sẽ ko tự tạo ra đc câu lệnh sqlquery(cần Admin), thông báo người dùng
                if (luattontai == false)
                {
                    TempData["message"] = "Luật không tồn tại---\nYêu cầu: " + mangYeuCau;
                    return(RedirectToAction("NotFoundSanPham", "Home"));
                }
                #endregion
                #region đủ sự kiện để tạo luật mới
                //nếu luatontai là true, tức sẽ có luật mới tự sinh ra(nếu độ tin cậy cao hơn luật cũ)
                //hoặc sẽ lấy luật đã tồn tại
                else
                {
                    //ta đã có query và sư kiện vế trái=> tạo ra luật mới
                    //luật mới,lúc này chưa tạo mới
                    //Luat newluat = Luat.GetLuat(vetraiArrayInt, query, dotincay / (queryvephai.Count()), query);
                    Luat newluat = Luat.GetLuat(vetraiArrayInt, query, dotincay / soluongluatbandau, query);


                    //nếu tồn tại luật cũ
                    if (vephaiByvetraiArrayInt != null)
                    {
                        //lấy luật có độ tin cậy cao nhất dựa vào vế trái([int]) đã xác định
                        Luat luat = Luat.getLuatByVeTrai(vetraiArrayInt);

                        currentLuat = luat;
                        DoTinCayPartial();

                        //luật cũ có độ tin cậy cao hơn so với luật mới=>lấy luật cũ, ko tạo luật mới
                        if (luat.DoTinCay >= newluat.DoTinCay)
                        {
                            var laptopList = Laptop.getLaptopByVePhai(vephaiByvetraiArrayInt);


                            // hiện section đánh giá độ tin cậy
                            TempData["CheckLuatTonTai"] = "Luật tồn tại";
                            //lấy id của luật đó:
                            int idold = luat.Id;
                            TempData["LuatId"] = idold;
                            //mô tả luật
                            TempData["MoTaLuat"] = Luat.GetMoTaLuat(idold);
                            //lấy độ tin cậy của luật đó
                            TempData["DoTinCay"] = Luat.GetDoTinCay(idold);

                            if (laptopList == null)
                            {
                                TempData["message"] = "Luật tồn tại!Chưa có sản phẩm gợi ý---\nYêu cầu: " + mangYeuCau;
                                return(RedirectToAction("NotFoundSanPham", "Home"));
                            }
                            ViewBag.ThongBao = "Luật tồn tại!Có " + laptopList.Count() + " sản phẩm được gợi ý!---" + "\nYêu cầu:" + mangYeuCau;
                            return(PartialView(laptopList));
                        }
                        else
                        {
                            //nếu luật mới sinh ra có độ tin cậy cao hơn=> tạo luật mới
                            //tạo ở bước sau
                        }
                    }
                    Luat.SaveLuat(newluat);
                    var           queryfull = "SELECT  * FROM dbo.Laptop WHERE " + query;
                    List <Laptop> laptops   = db.Laptops.SqlQuery(queryfull).ToList();

                    //hiện section đánh giá độ tin cậy
                    TempData["CheckLuatTonTai"] = "Luật tồn tại";
                    //lấy id của luật đó:
                    int id = newluat.Id;
                    TempData["LuatId"] = id;
                    //mô tả luật
                    TempData["MoTaLuat"] = Luat.GetMoTaLuat(id);
                    //lấy độ tin cậy của luật đó
                    TempData["DoTinCay"] = Luat.GetDoTinCay(id);

                    if (laptops.Count == 0)
                    {
                        TempData["message"] = "Luật mới được tạo!Chưa có sản phẩm gợi ý---\nYêu cầu: " + mangYeuCau;
                        return(RedirectToAction("NotFoundSanPham", "Home"));
                    }


                    ViewBag.ThongBao = "Luật mới được tạo!Có " + laptops.Count() + " sản phẩm được gợi ý!---" + "\nYêu cầu:" + mangYeuCau;
                    return(PartialView(laptops));
                }
                #endregion
            }
        }
Exemplo n.º 30
0
        //[AdminFilter]
        public ActionResult QuanLiLuat(int?page, string txtTimKiem, string search, string trash, string all)
        {
            int pageNumber = (page ?? 1);
            int pageSize   = 8;

            string message = "";

            using (TuVanLaptopEntities db = new TuVanLaptopEntities())
            {
                //kiểm tra nút search có đc click hay ko
                if (!string.IsNullOrEmpty(search))
                {
                    if (txtTimKiem != "")
                    {
                        string      vetrai   = SuKien.getIdByName(txtTimKiem);
                        List <Luat> luatList = db.Luats.Where(x => x.SuKienVT.Contains(vetrai)).ToList();
                        if (luatList.Count > 0)
                        {
                            foreach (var item in luatList)
                            {
                                item.sukienvetrais = Luat.ConvertIntArrayToStringArray(item.SuKienVT);
                                //item.sukienvephai = SuKien.getSuKienById(Convert.ToInt16(item.SukienVP));
                            }
                            message          = "Có  " + luatList.Count() + " luật thỏa mãn!";
                            ViewBag.ThongBao = message;
                            //db.Luats.ToList().OrderBy(n => n.Id).ToPagedList(pageNumber, pageSize)
                            return(View(luatList.OrderBy(n => n.Id).ToPagedList(pageNumber, pageSize)));
                        }
                        else
                        {
                            message = "Không có luật phù hợp!";
                        }
                    }
                    else
                    {
                        message = "Hãy nhập giá trị để tìm kiếm luật!";
                    }
                }
                //kiểm tra nút trash có đc click hay không
                if (!string.IsNullOrEmpty(trash))
                {
                    if (txtTimKiem != "")
                    {
                        string vetrai = SuKien.getIdByName(txtTimKiem);
                        //List<Luat> luatList = db.Luats.Where(x => x.SuKienVT.Contains(vetrai)).ToList();
                        //lọc theo txtvetrai đã đc convert tới int
                        List <Luat> listLuat = Luat.DeleteLuatByLuat(vetrai);
                        if (listLuat == null)
                        {
                            message = "Không có luật nào bị xóa!";
                        }
                        else
                        {
                            message = "Có " + listLuat.Count() + " luật bị xóa!";
                        }
                    }
                    else
                    {
                        message = "Hãy nhập giá trị để xóa!";
                    }
                }
                if (!string.IsNullOrEmpty(all))
                {
                    List <Luat> allLuat = db.Luats.ToList();
                    foreach (var item in allLuat)
                    {
                        item.sukienvetrais = Luat.ConvertIntArrayToStringArray(item.SuKienVT);
                        //item.sukienvephai = SuKien.getSuKienById(Convert.ToInt16(item.SukienVP));
                    }
                    message          = "Có tất cả " + allLuat.Count() + " luật!";
                    ViewBag.ThongBao = message;
                    return(View(allLuat.OrderBy(n => n.Id).ToPagedList(pageNumber, pageSize)));
                }

                List <Luat> luats = db.Luats.ToList();
                foreach (var item in luats)
                {
                    item.sukienvetrais = Luat.ConvertIntArrayToStringArray(item.SuKienVT);
                    //item.sukienvephai = SuKien.getSuKienById(Convert.ToInt16(item.SukienVP));
                }
                ViewBag.ThongBao = message;
                //db.Luats.ToList().OrderBy(n => n.Id).ToPagedList(pageNumber, pageSize)
                return(View(luats.OrderBy(n => n.Id).ToPagedList(pageNumber, pageSize)));

                //if (txtTimKiem ==null)
                //{
                //    List<Luat> luats = db.Luats.ToList();
                //    foreach (var item in luats)
                //    {
                //        item.sukienvetrais = Luat.ConvertIntArrayToStringArray(item.SuKienVT);
                //        //item.sukienvephai = SuKien.getSuKienById(Convert.ToInt16(item.SukienVP));
                //    }
                //    //db.Luats.ToList().OrderBy(n => n.Id).ToPagedList(pageNumber, pageSize)
                //    return View(luats.OrderBy(n => n.Id).ToPagedList(pageNumber, pageSize));
                //}
                //else
                //{
                //    string vetrai = SuKien.getIdByName(txtTimKiem);
                //    List<Luat> luats = db.Luats.Where(x => x.SuKienVT.Contains(vetrai)).ToList();

                //    foreach (var item in luats)
                //    {
                //        item.sukienvetrais = Luat.ConvertIntArrayToStringArray(item.SuKienVT);
                //        //item.sukienvephai = SuKien.getSuKienById(Convert.ToInt16(item.SukienVP));
                //    }
                //    //db.Luats.ToList().OrderBy(n => n.Id).ToPagedList(pageNumber, pageSize)
                //    return View(luats.OrderBy(n => n.Id).ToPagedList(pageNumber, pageSize));
                //}
            }
        }