Example #1
0
        //Get student performance on each quiz of the module
        public DataSet getAllQuizbyStudent(int studentId, int moduleId)
        {
            DataSet   ds = new DataSet();
            DataTable dt = new DataTable();

            dt.Columns.Add("quiz");
            dt.Columns.Add("marks");
            using (myProjectEntities context = new myProjectEntities())
            {
                var allQuiz = context.tblQuizDetails.Where(q => q.FK_ModuleId == moduleId).Select(q => q.PK_Quiz_id).ToList();

                for (int i = 0; i < allQuiz.Count; i++)
                {
                    int           s         = Convert.ToInt32(allQuiz[i].ToString());
                    tblQuizDetail q         = context.tblQuizDetails.Where(t => t.PK_Quiz_id == s).FirstOrDefault(); //Quiz Detail
                    string        title     = q.quiz_title;
                    float         weightage = (float)q.quiz_weightage;


                    var   sd   = context.tblQuizResults.Where(w => w.FK_QuizId == s && w.FK_studentId == studentId).Select(w => w.marks).ToList(); //All marks scored by student for that quiz
                    float mark = float.Parse(sd.Sum().ToString());                                                                                 // Total marks

                    float p = (mark / weightage) * 100;                                                                                            //Percantage scored by the student

                    dt.Rows.Add(title, p.ToString());
                }
                ds.Tables.Add(dt);
            }
            return(ds);
        }
Example #2
0
        //Delete Question with all Options
        public bool DeleteQuestion(int quesData)
        {
            bool result = false;

            using (myProjectEntities context = new myProjectEntities())
            {
                tblQuizQuestion quesDetail = context.tblQuizQuestions.Where(w => w.PK_Question_id == quesData).FirstOrDefault();
                float           m1         = (float)quesDetail.marks;

                tblQuizDetail quizDetail = context.tblQuizDetails.Where(a => a.PK_Quiz_id == quesDetail.FK_Quiz_id).FirstOrDefault();
                float         m2         = (float)quizDetail.quiz_weightage - m1;

                quizDetail.quiz_weightage       = m2;
                context.Entry(quizDetail).State = EntityState.Modified;
                context.SaveChanges();

                int q = context.spDeleteQuestionWithOption(quesData);

                if (q != 0)
                {
                    result = true;         //set return to true
                }
            }
            return(result);
        }
Example #3
0
        //Update existing Questions
        public bool UpdateQuestion(questionModel quesData)
        {
            bool result = false;

            using (myProjectEntities context = new myProjectEntities())  //update weightage
            {
                tblQuizQuestion quesDetail = context.tblQuizQuestions.Where(w => w.PK_Question_id == quesData.PK_Question_id).FirstOrDefault();
                float           m1         = (float)quesDetail.marks;

                tblQuizDetail quizDetail = context.tblQuizDetails.Where(a => a.PK_Quiz_id == quesData.FK_Quiz_id).FirstOrDefault();
                float         m2         = (float)quizDetail.quiz_weightage - m1;

                quizDetail.quiz_weightage       = m2 + (float)quesData.marks;
                context.Entry(quizDetail).State = EntityState.Modified;
                context.SaveChanges();
            }
            using (myProjectEntities context = new myProjectEntities())
            {
                Mapper.CreateMap <questionModel, tblQuizQuestion>();
                tblQuizQuestion newQues = Mapper.Map <questionModel, tblQuizQuestion>(quesData);
                context.Entry(newQues).State = EntityState.Modified;
                context.SaveChanges();
            }
            if (quesData.question_type == "Optional" || quesData.question_type == "Multiple Choice")
            {
                using (myProjectEntities context = new myProjectEntities())
                {
                    List <tblQuizOption> newOpt = context.tblQuizOptions.Where(s => s.FK_Question_id == quesData.PK_Question_id).ToList();

                    foreach (optionModel item in quesData.optionModel)
                    {
                        foreach (tblQuizOption item1 in newOpt)
                        {
                            if (item.PK_Option_id == item1.PK_Option_id)
                            {
                                item1.isAnswer = item.isAnswer;
                            }
                        }
                    }

                    context.SaveChanges();
                }
            }

            result = true;
            return(result);


            //This is to update just the Question i.e. without option model
            //Mapper.CreateMap<questionModel, tblQuizQuestion>();
            //tblQuizQuestion s = Mapper.Map<questionModel, tblQuizQuestion>(quesData);
            //context.Entry(s).State = EntityState.Modified;
            //int q = context.SaveChanges();
            //if (q == 1)
            //    result = true;
            //return result;
        }
Example #4
0
 //Get Individual Quiz detail
 public quizModel GetQuizById(int quizId)
 {
     using (myProjectEntities context = new myProjectEntities())
     {
         tblQuizDetail pro = context.tblQuizDetails.Where(q => q.PK_Quiz_id == quizId).FirstOrDefault();
         Mapper.CreateMap <tblQuizDetail, quizModel>();
         quizModel result = Mapper.Map <tblQuizDetail, quizModel>(pro);
         return(result);
     }
 }
Example #5
0
        //Update existing Quiz + Change the status to delete the quiz
        public bool UpdateQuiz(quizModel quizData)
        {
            bool result = false;

            using (myProjectEntities context = new myProjectEntities())
            {
                Mapper.CreateMap <quizModel, tblQuizDetail>();
                tblQuizDetail s = Mapper.Map <quizModel, tblQuizDetail>(quizData);
                context.Entry(s).State = EntityState.Modified;
                int q = context.SaveChanges();
                if (q == 1)
                {
                    result = true;
                }
                return(result);
            }
        }
        //Performance of the student on all the quiz

        public DataSet getAllQuizByStudentId(int studentId)
        {
            DataSet   ds = new DataSet();
            DataTable dt = new DataTable();

            dt.Columns.Add("qId");
            dt.Columns.Add("qTitle");
            dt.Columns.Add("qMarks");
            using (myProjectEntities context = new myProjectEntities())
            {
                //List of Quiz
                var quizList = context.tblQuizResults.Where(q => q.FK_studentId == studentId).Select(q => q.FK_QuizId).Distinct().ToList();

                foreach (var quiz in quizList)
                {
                    int quizId = (int)quiz; //This is quizId

                    //To get the quiz detail
                    tblQuizDetail quizDetail = context.tblQuizDetails.Where(q => q.PK_Quiz_id == quizId).FirstOrDefault();

                    //Sum all the marks for that particular quiz
                    var marks = from p in context.tblQuizResults
                                where p.FK_QuizId == quizId && p.FK_studentId == studentId
                                group p.marks by p.FK_QuizId into g
                                select new { qID = g.Key, total = g.Sum(i => i.Value) };

                    //To get the total marks
                    float mark = 0;
                    foreach (var i in marks)
                    {
                        mark = (float)i.total;
                    }

                    float weightage = (float)quizDetail.quiz_weightage; //weightage of the quiz

                    float  r3 = mark / weightage * 100;                 // percentage
                    string r2 = quizDetail.quiz_title;                  // title

                    dt.Rows.Add(quizId, r2, r3);
                }
                ds.Tables.Add(dt);
                return(ds);
            }
        }
Example #7
0
        //Create Quiz
        public int CreateQuiz(quizModel quizData)
        {
            int result = 0;

            using (myProjectEntities context = new myProjectEntities())
            {
                quizData.quiz_update = System.DateTime.Now; // Last Update or Created Date Time
                quizData.quiz_status = 1;                   // Live coming Quiz

                Mapper.CreateMap <quizModel, tblQuizDetail>();
                tblQuizDetail newQuiz = Mapper.Map <quizModel, tblQuizDetail>(quizData);


                context.tblQuizDetails.Add(newQuiz); //Execute the add function
                int q = context.SaveChanges();
                if (q == 1)
                {
                    result = newQuiz.PK_Quiz_id;     //set return to true
                }
            }
            return(result);
        }
Example #8
0
        //Updated
        public int Question_Create(questionModel quesData)
        {
            int result = 0;

            using (myProjectEntities context = new myProjectEntities())
            {
                Mapper.CreateMap <questionModel, tblQuizQuestion>();
                tblQuizQuestion newQues = Mapper.Map <questionModel, tblQuizQuestion>(quesData);

                if (quesData.question_type == "Optional" || quesData.question_type == "Multiple Choice")//Check is not options
                {
                    List <tblQuizOption> newOpt = new List <tblQuizOption>();

                    Mapper.CreateMap <optionModel, tblQuizOption>();


                    foreach (optionModel opt in quesData.optionModel)
                    {
                        tblQuizOption o = Mapper.Map <optionModel, tblQuizOption>(opt);

                        newOpt.Add(o);
                    }

                    newQues.tblQuizOptions = newOpt.ToList();
                }
                context.tblQuizQuestions.Add(newQues); //Execute the add function
                int q = context.SaveChanges();
                if (q > 0)
                {
                    result = newQues.PK_Question_id;        //set return to true
                }
                tblQuizDetail quizDetail = context.tblQuizDetails.Where(a => a.PK_Quiz_id == newQues.FK_Quiz_id).FirstOrDefault();
                quizDetail.quiz_weightage       = quizDetail.quiz_weightage + (float)newQues.marks;
                context.Entry(quizDetail).State = EntityState.Modified;
                context.SaveChanges();
            }
            return(result);
        }