private TracNghiemCollection TaoDanhSachCauTraLoi(TuVungCollection tuvunglambantest, TracNghiemCollection CauHoicoll)
 {
     int i = 0;
     while (i < CauHoicoll.Count)
     {
         int ques_pos = 1;
         while (ques_pos < 4)
         {
             //Chọn ngẫu nhiên 1 trả lời trong tuvunglambaitest
             int stt = RandomTuVung(tuvunglambantest.Count);
             TuVungBO temp = tuvunglambantest.Index(stt);
             //Kiểm tra câu trả lời đã có trong danh sách trả lời chưa
             //Nếu có rồi: Tạo lại -->Kiểm tra
             //Nếu chưa: Add vào --> i++
             while (KiemTraTrungCauTraLoi(CauHoicoll.Index(i).Choices, temp, ques_pos) == true)
             {
                 stt = RandomTuVung(tuvunglambantest.Count);
                  temp = tuvunglambantest.Index(stt);
             }
             CauHoicoll.Index(i).Choices[ques_pos] = temp;
             ques_pos++;
         }
         i++;
     }
     return CauHoicoll;
 }
        public TuVungCollection SelectAllTuVung_CongDong()
        {
            //Lấy từ vựng trong từ điển cộng đồng
            hoctuvungLINQDataContext db = new hoctuvungLINQDataContext();
            TuVungCollection tuvungColl = new TuVungCollection();
            IEnumerable<TuVung> TuVungList;
            TuVungList = from p in db.TuVungs
                             where p.TuDien.CongDong == true
                             && p.kiemduyet == true                           
                             select p;
           
            //Addrange
            foreach (TuVung tv in TuVungList)
            {
                TuVungBO tvBO = new TuVungBO();
                tvBO.TuVungID = tv.TuVungID.ToString();
                tvBO.TuVung = tv.TuVung1;
                tvBO.LoaiTuID = (int)tv.LoaiTuID;
                tvBO.NghiaTu = tv.NghiaTu;
                tvBO.ViDu = tv.Vidu;
                tvBO.TaiKhoan = tv.taikhoan;
                tvBO.HinhAnh = tv.Hinhanh;
                tvBO.SoLanSai = (int)tv.SoLanSai;
                tvBO.SoLanSuDung = (int)tv.SoLanSuDung;
                tuvungColl.Add(tvBO);
            }
            return tuvungColl;

        }
Example #3
0
 public void Addrange(TuVungCollection tuvungColl)
 {
     foreach (TuVungBO tv in tuvungColl)
     {
         List.Add(tv);
     }
 }
Example #4
0
        } //Kiểm Tra có trùng từ hàng ngang nào không    
        private string [,]SapxepOChu(List<char> tuhangdoc,TuVungCollection HangNgangList)
        {
            string[,] OChu = new string[12, 21];
            for (int a = 0; a < 12; a++)
                for (int b = 0; b < 21; b++)
                    OChu[a, b] = "";
            for (int i = 0; i < tuhangdoc.Count; i++)
            {
                char tu=tuhangdoc[i];
                string tuhangngang=HangNgangList.Index(i).TuVung;
                int vitrikytu = tuhangngang.IndexOf(tu);
                int truoc = tuhangngang.Substring(0, vitrikytu).Length;//chiều dài tính từ đầu đến [vitrikytu]
                int sau = tuhangngang.Substring(vitrikytu + 1, tuhangngang.Length - truoc - 1).Length; //chiều dài tính từ [vitrikytu] đến cuối

                int k = 0;
                for (int j = 10-truoc; j < 10+sau+1; j++)
                {
                    List<char> temp = new List<char>();
                    temp = tuhangngang.ToList();
                    OChu[i, j] = temp[k].ToString();
                    k++;
                }
            }
            return OChu;
        }
 public void LoadDSTuVungChoDuyet()
 {
     TuVungCollection tuvungColl = new TuVungCollection();
     tuvungColl = tuvungBUS.LayDSTuVungChoDuyet(TimTuTextBox.Text);
     TuVungListBox.DataSource = tuvungColl;
     TuVungListBox.DataTextField = "TuVung";
     TuVungListBox.DataValueField = "TuVungID";
     TuVungListBox.DataBind();
 }
 public void LoadTuVung(string tuvung)
 {
     TuVungCollection tuvungColl = new TuVungCollection();
     string tudienID = TuDienDropDown.SelectedValue;
     tuvungColl = tuvungBUS.LayDSTuVung_CongDong(tuvung, tudienID);
     TuVungListBox.DataSource = tuvungColl;
     TuVungListBox.DataTextField = "TuVung";
     TuVungListBox.DataValueField = "TuVungID";
     TuVungListBox.DataBind();
 }
 public void LoadTuVung(string tuvung, string taikhoan,int loai)
 {
     TuVungCollection tuvungColl= new TuVungCollection();
     string tudienID = TuDienDropDown.SelectedValue;
     if (loai == 1) tuvungColl = tuvungBUS.LayDSTuVung_CaNhan(tuvung, taikhoan,tudienID);
     if (loai == 2) tuvungColl = tuvungBUS.LayDSTuVung_LienKet(tuvung, taikhoan, tudienID);
     if (loai == 3) tuvungColl = tuvungBUS.LayDSTuVung_CongDong(tuvung, tudienID);
     TuVungListBox.DataSource = tuvungColl;
     TuVungListBox.DataTextField = "TuVung";
     TuVungListBox.DataValueField = "TuVungID";
     TuVungListBox.DataBind();
 }
 public static TracNghiemCollection tracnghiemColl; //biến chứa bài test
 //Check và cập nhật danh sách từ vựng để làm bài test
 protected void TuDienCheckBoxList_SelectedIndexChanged(object sender, EventArgs e)
 {
     TVLambai = new TuVungCollection();
     for (int i = 0; i < TuDienCheckBoxList.Items.Count; i++)
     {
         if (TuDienCheckBoxList.Items[i].Selected == true)
         {
             TVLambai.Addrange(tuvungBUS.LayDSTuVung(TuDienCheckBoxList.Items[i].Value));
         }
     }
     TVLambai.Addrange(tuvungBUS.LayDSTuVung_CongDong());        
 }    
Example #9
0
 //B2: Lấy ra các từ hàng ngang
 private TuVungBO LayChuHangNgang(TuVungCollection tuvunglambaitest, char tu)
 {
     //Lấy ra các [TuVungBO].[TuVung] có chứ [tu]
     TuVungCollection tempColl = new TuVungCollection();
     foreach (TuVungBO tv in tuvunglambaitest)
     {
         if (tv.TuVung.Contains(tu))
         {
             tempColl.Add(tv);
         }
     }
     //chọn ngẫu nhiên một từ
     if (tempColl.Count == 0)
         return null;
     int rand = rd.Next(tempColl.Count);
     return tempColl.Index(rand);
 }
Example #10
0
 //B1: Lấy ra một từ ngẫunhiên làm từ hàng dọc
 private string LayChuHangDoc(TuVungCollection tuvunglambaitest)
 {
     List<char> Tu = new List<char>();
     int len = tuvunglambaitest.Count;
     int rand = rd.Next(len);
     string temp = "";
     while (true)
     {
         rand = rd.Next(len);
         temp = tuvunglambaitest.Index(rand).TuVung;
         if (temp.Length < 10)
         {
             rand = rd.Next(len);
             break;
         }
     }
     /*char[] TuTemp = temp.ToCharArray();
     for (int i = 0; i < TuTemp.Length; i++)
         Tu.Add(TuTemp[i]);*/
     return temp;
 }
    protected void TraTuButton_Click(object sender, ImageClickEventArgs e)
    {        
        //Lấy tài khỏan người dùng từ Sesstion[]
        string taikhoan;
        if (Session["taikhoan"] != null)
            taikhoan = Session["taikhoan"].ToString();
        else
            taikhoan = "";
        //Thực hiện tra từ 
        tvColl= new TuVungCollection();
            //Thực hiện hàm tratu
        if(eng==true)
            tvColl = tuvungBUS.LayDSTuVung_Eng(TuTraTxt.Text,taikhoan);
        else
            tvColl = tuvungBUS.LayDSTuVung_Viet(TuTraTxt.Text, taikhoan);

        if (tvColl.Count != 0)
        {
            //Load từ đầutiên
            stt = 0;
            LoadTuVung(stt);
            //Load TTTuVUngDropDown
            TTTuVungDropDown.Items.Clear();
            for (int i = 0; i < tvColl.Count; i++)
            {
                TTTuVungDropDown.Items.Add((i + 1).ToString());
            }
            if (TTTuVungDropDown.Items.Count != 0)
                TTTuVungDropDown.SelectedIndex = 0;
        }
        else
        {
            TTTuVungDropDown.Items.Clear();
            ClearTuVung();
        }
    }
 private TracNghiemCollection TaoDanhSachCauHoi_HinhAnh(TuVungCollection tuvunglambantest, int socauhoilambai)
 {
     TracNghiemCollection CauHoiColl = new TracNghiemCollection();
     int i = 0;
     while (i < socauhoilambai)
     {
         //Chọn ngẫu nhiên 1 câu hỏi trong tuvunglambaitest
         int stt = RandomTuVung(tuvunglambantest.Count);
         TuVungBO temp = tuvunglambantest.Index(stt);
         //Kiểm tra câu hỏi đã có trong danh sách chưa
         //Nếu có rồi: Tạo lại -->Kiểm tra
         //Nếu chưa: Add vào --> i++
         while (KiemTraTrungCauHoi(CauHoiColl, temp) == true || temp.HinhAnh.Trim() == "")
         {
             stt = RandomTuVung(tuvunglambantest.Count);
             temp = tuvunglambantest.Index(stt);
         }
         TracNghiemBO tnBO = new TracNghiemBO();
         tnBO.Choices[0] = temp;
         CauHoiColl.Add(tnBO);
         i++;
     }
     return CauHoiColl;
 }
Example #13
0
        public string [,]TaoOChu(TuVungCollection tuvunglambaitest,ref int len,ref TuVungCollection GoiYOChu)
        {
            try
            {
                //B1:Lấy ra một từ ngẫunhiên làm từ hàng dọc
                string tuhangdoc = LayChuHangDoc(tuvunglambaitest);
                List<char> TuHangDoc = new List<char>();//chuyển string thành List<string> để xử lý           
                TuHangDoc = tuhangdoc.ToList();

                //B2: Lấy ra các từ hàng ngang
                TuVungCollection HangNgangList = new TuVungCollection();//Lưu các đối tượng tuvungBO hàng ngang
                List<string> HangNgang = new List<string>(); //Lưu các từ hàng ngang
                int i = 0;
                int solanloop = 0;
                while (i < TuHangDoc.Count)
                {
                    TuVungBO tuhangnganBO = new TuVungBO();
                    tuhangnganBO = LayChuHangNgang(tuvunglambaitest, TuHangDoc[i]);
                    if (tuhangnganBO == null) return null;
                    string tuhangngang = tuhangnganBO.TuVung;
                    if (KiemTraHopLe(tuhangngang, TuHangDoc[i]) == true 
                        && KiemTraTrungTuDoc(tuhangdoc, tuhangngang) == false 
                        && KiemTraTrungTuNgang(HangNgang, tuhangngang) == false)
                    {
                        HangNgang.Add(tuhangnganBO.TuVung);
                        HangNgangList.Add(tuhangnganBO);
                        i++;
                        solanloop = 0;
                    }
                    solanloop++;
                    if (solanloop > 30)
                        return null;
                }
                //B3: Bố trí ô chữ lên mảng 2 chiều [12,21]
                len = TuHangDoc.Count;
                GoiYOChu = HangNgangList;
                return SapxepOChu(TuHangDoc,HangNgangList) ;
            }
            catch
            {
                return null;
            }

        }
 static int tuhangdoclen;//biến chứa chiều dài từ dọc
 public void TaoBai()
 {
     OChuGoiYDropDown.SelectedIndex = 0;
     rights = 0;
     OChu = new string[12, 21];
     GoiYOChuColl = new TuVungCollection();
     tuhangdoclen = 0;
     OChu = ochuBUS.TaoOChu(TVLambai, ref tuhangdoclen, ref GoiYOChuColl);
     if (OChu != null)
     {
         //Tô màu hàng ngang
         int i = 0;//biến dòng
         int j = 0;//biến cột
         foreach (Control ct in OChuConTentPanel.Controls)
         {
             if (ct is TextBox)
             {
                 if (j < 21)
                 {
                     ((TextBox)ct).BackColor = System.Drawing.Color.White;
                     ((TextBox)ct).Font.Bold = true;
                     ((TextBox)ct).Text = "";
                     if (OChu[i, j] != "")
                         ((TextBox)ct).BackColor = System.Drawing.Color.LightGreen;
                     j++;
                     if (j == 21)
                     {
                         j = 0;
                         i++;
                     }
                 }
                 if (i == 12 && j == 21)
                     break;
             }
         }
         //Tô màu ô hàng dọc
         int len = 0;
         for (int c = 10; c < 200; c += 21)
         {
             foreach (Control ct in OChuConTentPanel.Controls)
             {
                 if (ct.ID == "OChu" + c.ToString())
                 {
                     ((TextBox)ct).BackColor = System.Drawing.Color.Yellow;
                     len++;
                     break;
                 }
             }
             if (len == tuhangdoclen)
                 break;
         }
         OChuGoiYTextBox.Text = GoiYOChuColl.Index(0).NghiaTu;
     }
 }
        //HÀM TẠO RA BÀI HÌNH ẢNH     
        public TracNghiemCollection TaoBai_Hinhanh(TuVungCollection tuvungColl, int socauhoi)
        {
            try
            {
                TracNghiemCollection DanhsachCauHoi = new TracNghiemCollection();
                TracNghiemCollection DanhsachCauTraLoi = new TracNghiemCollection();
                TracNghiemCollection baitracnghiem = new TracNghiemCollection();
                DanhsachCauHoi = TaoDanhSachCauHoi_HinhAnh(tuvungColl, socauhoi);
                DanhsachCauTraLoi = TaoDanhSachCauTraLoi(tuvungColl, DanhsachCauHoi);
                baitracnghiem = SapXepNgauNhien(DanhsachCauTraLoi);
                return baitracnghiem;
            }
            catch
            {
                return null;
            }

        }
Example #16
0
        public TuVungCollection SelectTuVung_LienKet(string tuvung, string taikhoan, string tudienID)
        {
            //Lấy từ vựng trong từ điển liên kết

            hoctuvungLINQDataContext db = new hoctuvungLINQDataContext();
            TuVungCollection tuvungColl = new TuVungCollection();
            Guid myguid= new Guid(tudienID);
            IEnumerable<Nhom_TuDien> nhomtudienList=from p in db.Nhom_TuDiens
                                                    where p.taikhoan==taikhoan
                                                    select p;
            IEnumerable<TuVung> TuVungList;
            if (tuvung == "")
            {              
                TuVungList = from p in db.TuVungs
                             where p.TuDienID==myguid
                             select p;
            }
            else
            {
                TuVungList = from p in db.TuVungs
                             //  where p.TuDien.Nhom_TuDiens == nhomtudien && 
                             where p.TuVung1.Contains(tuvung)
                             && p.TuDienID == myguid
                             select p;
            }
            //Addrange
            foreach (TuVung tv in TuVungList)
            {
                foreach (Nhom_TuDien nhomtd in nhomtudienList)
                {
                    if(tv.TuDienID==nhomtd.TuDienID)
                    { 
                        TuVungBO tvBO = new TuVungBO();
                        tvBO.TuVungID = tv.TuVungID.ToString();
                        tvBO.TuVung = tv.TuVung1;
                        tvBO.LoaiTuID = (int)tv.LoaiTuID;
                        tvBO.NghiaTu = tv.NghiaTu;
                        tvBO.ViDu = tv.Vidu;
                        tvBO.TaiKhoan = tv.taikhoan;
                        tvBO.HinhAnh = tv.Hinhanh;
                        tvBO.SoLanSai = (int)tv.SoLanSai;
                        tvBO.SoLanSuDung = (int)tv.SoLanSuDung;
                        tuvungColl.Add(tvBO);
                    }
                }
            }
            return tuvungColl;
        }
Example #17
0
        public TuVungCollection SelectTuVung_Viet(string tuvung,string taikhoan)
        {
            TuDienDAO tudienDAO = new TuDienDAO();
            TuVungCollection tuvungColl = new TuVungCollection();
            //Lấy tất cả từ vựng [Công Đồng]
            tuvungColl = SelectAllTuVung_CongDong();
            if (taikhoan != "")
            {
                //Lấ tát cả từ vựng[Cá nhân]
                TuDienCollection tudiencanhan = new TuDienCollection();
                tudiencanhan = tudienDAO.SelectTuDien(taikhoan);
                foreach (TuDienBO td in tudiencanhan)
                {
                    tuvungColl.Addrange(SelectTuVung_CaNhan("", taikhoan, td.TuDienID));
                }
                TuDienCollection tudienlienket = new TuDienCollection();
                tudienlienket = tudienDAO.SelectTuDien_LienKet(taikhoan);
                foreach (TuDienBO td in tudienlienket)
                {
                    tuvungColl.Addrange(SelectTuVung_LienKet("", taikhoan, td.TuDienID));
                }
            }
            //Lấy danh sách từ vựng tìm đựơc
            TuVungCollection foundColl = new TuVungCollection();
            foreach (TuVungBO tv in tuvungColl)
            {
                if (tv.NghiaTu.Contains(tuvung))
                {
                    //kiểm tra từ đó có tồn tại chưa
                    bool exist = false;
                    if (foundColl.Count > 0)//chỉ kiểm tra khi foundColl>0
                    {
                        foreach (TuVungBO tv1 in foundColl)
                        {
                            if (tv.TuVungID == tv1.TuVungID)
                            {
                                exist = true;
                                break;
                            }

                        }
                    }
                    if (exist == false)//nếu chưa thì thêm vào
                        foundColl.Add(tv);
                }
            }
            return foundColl;             
        }