コード例 #1
0
        private static string ExtractAnswers(string[] answers, ref ExamsRow r)
        {
            int AIDcorrecto = Convert.ToInt32(answers[1]); //toma la respuesta correcta

            answers = answers[0].Split(SEP);               //the array of answers ID

            QuestionsRow q = r.QuestionsRow;

            IEnumerable <AnswersRow> answ = q.GetAnswersRows();
            int    option = 0;
            string examen;

            examen = string.Empty;
            foreach (string s in answers)
            {
                char       letra = Tools.Alpha[option];
                int        aid   = Convert.ToInt32(s);
                AnswersRow a     = answ.FirstOrDefault(o => o.AID == aid); //selectivamente en el mismo orden en que fue generada

                string respuesta = a.Answer;
                examen += letra;
                examen += ") " + respuesta + "\n"; //respuesta
                option++;
            }

            return(examen);
        }
コード例 #2
0
        private static void ExtractKey(ref string Clave, ref int claveCount, string[] answers, ref ExamsRow r)
        {
            int AIDcorrecto = Convert.ToInt32(answers[1]); //toma la respuesta correcta

            answers = answers[0].Split(SEP);               //the array of answers ID

            QuestionsRow q = r.QuestionsRow;

            int option2 = 0;
            IEnumerable <AnswersRow> answ2 = q.GetAnswersRows();

            foreach (string s in answers)
            {
                char       letra = Tools.Alpha[option2];
                int        aid   = Convert.ToInt32(s);
                AnswersRow a     = answ2.FirstOrDefault(o => o.AID == aid); //selectivamente en el mismo orden en que fue generada
                a.Char = letra.ToString().ToUpper().Trim();
                if (a.AID == AIDcorrecto)
                {
                    Clave += letra;
                }
                option2++;
            }

            if (claveCount == answers.Count())
            {
                Clave     += SEP.ToString();
                claveCount = 0;
            }

            claveCount++;
        }
コード例 #3
0
        private static void MakeTableBytes <T>(ref T l, string examPath)
        {
            Type tipo = l.GetType();

            byte[] arr2 = null;
            // string afile = string.Empty;

            if (tipo.Equals(typeof(ExamsListRow)))
            {
                ExamsListRow ls = l as ExamsListRow;

                IEnumerable <ExamsRow> rows = ls.GetExamsRows();

                ExamsDataTable exdt = new ExamsDataTable();
                foreach (var item in rows)
                {
                    exdt.ImportRow(item);
                }

                // afile = ExasmPath + ls.EID.ToString();

                arr2     = Tables.MakeDTBytes(ref exdt, examPath);
                ls.EData = arr2;
            }
            else if (tipo.Equals(typeof(ExamsRow)))
            {
                //SAVE COPY OF TABLE

                ExamsRow     ex = l as ExamsRow;
                QuestionsRow q  = ex.QuestionsRow;
                // afile = ExasmPath + ex.QID.ToString(); IEnumerable<DB.QuestionsRow> shortQlist =
                // new List<DB.QuestionsRow>(); ((IList<DB.QuestionsRow>)shortQlist).Add(ex.QuestionsRow);
                QuestionsDataTable qdt = new QuestionsDataTable();
                qdt.ImportRow(q);
                byte[] qarray = Tables.MakeDTBytes(ref qdt, examPath);
                ex.QData = qarray;
                Dumb.FD(ref qdt);

                AnswersDataTable         adt  = new AnswersDataTable();
                IEnumerable <AnswersRow> answ = q.GetAnswersRows();
                foreach (var item in answ)
                {
                    adt.ImportRow(item);
                }
                // afile = ExasmPath + ex.QueToString() + ".xml";
                arr2     = Tables.MakeDTBytes(ref adt, examPath);
                ex.AData = arr2;
                Dumb.FD(ref adt);
            }
            else if (tipo.Equals(typeof(PreferencesRow)))
            {
                PreferencesRow p = l as PreferencesRow;              //SAVE A COPY OF EXAMS LISTS
                IEnumerable <DB.ExamsListRow> rows = p.GetExamsListRows();

                ExamsListDataTable dt = new ExamsListDataTable();
                foreach (var item in rows)
                {
                    dt.ImportRow(item);
                }

                // afile = ExasmPath + p.PID.ToString() + ".xml";
                arr2     = Tables.MakeDTBytes(ref dt, examPath);
                p.ELData = arr2;

                Dumb.FD(ref dt);
            }
        }