Esempio n. 1
0
        private List <DBaiThi> LayDeThi(string maMH, char trinhDo, int socau)
        {
            List <DBaiThi> deThi = new List <DBaiThi>();

            string[]  name  = { "@mamh", "@trinhdo", "@socau", "@malop", "@lan" };
            object[]  param = { maMH, trinhDo, socau, DBAccess.donVi, lan };
            DataTable dt    = DBAccess.ExecuteQuery("SP_LayDeThi", name, param, 5);

            foreach (DataRow dr in dt.Rows)
            {
                DBaiThi db = new DBaiThi
                {
                    NoiDung = dr[0].ToString(),
                    A       = dr[1].ToString(),
                    B       = dr[2].ToString(),
                    C       = dr[3].ToString(),
                    D       = dr[4].ToString(),
                    DapAn   = dr[5].ToString()[0]
                };
                deThi.Add(db);
            }
            return(deThi);
        }
Esempio n. 2
0
        private void LayDe()
        {
            List <DBaiThi> dt = LayDeThi(this.maMH, this.trinhDo, this.soCau);

            foreach (DBaiThi bt in dt)
            {
                List <char> dapAn = new List <char> {
                    'A', 'B', 'C', 'D'
                };
                string[] dapAnTron = new string[4];
                char     da        = 'A';
                Random   rnd       = new Random();
                for (int i = 0; i < 4; i++)
                {
                    char d = dapAn[rnd.Next(dapAn.Count)];
                    dapAn.Remove(d);
                    switch (d)
                    {
                    case 'A':
                        dapAnTron[i] = bt.A;
                        if (bt.DapAn == 'A')
                        {
                            da += (char)i;
                        }
                        break;

                    case 'B':
                        dapAnTron[i] = bt.B;
                        if (bt.DapAn == 'B')
                        {
                            da += (char)i;
                        }
                        break;

                    case 'C':
                        dapAnTron[i] = bt.C;
                        if (bt.DapAn == 'C')
                        {
                            da += (char)i;
                        }
                        break;

                    case 'D':
                        dapAnTron[i] = bt.D;
                        if (bt.DapAn == 'D')
                        {
                            da += (char)i;
                        }
                        break;
                    }
                }
                DBaiThi ndt = new DBaiThi
                {
                    NoiDung   = bt.NoiDung,
                    DapAn     = da,
                    A         = dapAnTron[0],
                    B         = dapAnTron[1],
                    C         = dapAnTron[2],
                    D         = dapAnTron[3],
                    Chon      = ' ',
                    TrangThai = "sai"
                };
                baiThi.Add(ndt);
            }
        }