Ejemplo n.º 1
0
        //Create Questions for quiz. This is awesome
        public int CreateQuestion(questionModel quesData)
        {
            int result = 0;

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

                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
                }
            }
            return(result);
        }
Ejemplo n.º 2
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;
        }
Ejemplo n.º 3
0
        //Get individual question detail. This is awesome.
        public questionModel GetQuestionById(int quesId)
        {
            using (myProjectEntities context = new myProjectEntities())
            {
                tblQuizQuestion    pro = context.tblQuizQuestions.Where(q => q.PK_Question_id == quesId).FirstOrDefault();
                List <optionModel> opt = new List <optionModel>();
                Mapper.CreateMap <tblQuizOption, optionModel>();
                foreach (tblQuizOption item in pro.tblQuizOptions)
                {
                    optionModel rtr = Mapper.Map <tblQuizOption, optionModel>(item);
                    opt.Add(rtr);
                }

                Mapper.CreateMap <tblQuizQuestion, questionModel>();
                questionModel result = Mapper.Map <tblQuizQuestion, questionModel>(pro);
                result.optionModel = opt.ToList();
                return(result);
            }
        }
Ejemplo n.º 4
0
        //Get all the questions of the quiz
        public IEnumerable <questionModel> GetAllQuestionByQuiz(int quizId)
        {
            using (myProjectEntities context = new myProjectEntities())
            {
                IEnumerable <tblQuizQuestion> pro = context.tblQuizQuestions.Where(q => q.FK_Quiz_id == quizId).AsEnumerable();

                //Question Mapper
                Mapper.CreateMap <tblQuizQuestion, questionModel>();
                List <questionModel> qModel = new List <questionModel>();
                //Option Mapper

                Mapper.CreateMap <tblQuizOption, optionModel>();
                foreach (tblQuizQuestion qu in pro)
                {
                    List <optionModel> opt = new List <optionModel>();
                    foreach (tblQuizOption item in qu.tblQuizOptions)
                    {
                        optionModel rtr = Mapper.Map <tblQuizOption, optionModel>(item);
                        opt.Add(rtr);
                    }
                    Mapper.CreateMap <tblQuizQuestion, questionModel>();
                    questionModel result = Mapper.Map <tblQuizQuestion, questionModel>(qu);
                    result.optionModel = opt.ToList();
                    qModel.Add(result);
                }

                var opop = qModel.AsEnumerable();
                Mapper.CreateMap <tblQuizQuestion, questionModel>();
                IEnumerable <questionModel> result1 = Mapper.Map <IEnumerable <tblQuizQuestion>, IEnumerable <questionModel> >(pro);
                result1 = qModel.AsEnumerable();
                return(result1);

                //This is without lazy loadin i.e. without option model
                ////IEnumerable<tblQuizQuestion> pro = context.tblQuizQuestions.Where(q => q.FK_Quiz_id == quizId).AsEnumerable();
                ////Mapper.CreateMap<tblQuizQuestion, questionModel>();
                ////IEnumerable<questionModel> result = Mapper.Map<IEnumerable<tblQuizQuestion>, IEnumerable<questionModel>>(pro);
                ////return result;
            }
        }
Ejemplo n.º 5
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);
        }