Example #1
0
        public List<Exams> GetExamsByID(int ExamsID)
        {
            List<Exams> newExams = new List<Exams>();

            Exams getExamsQuestions = new Exams();
            DataSet newSetOfExams = getExamsQuestions.getExamsByID(ExamsID);
            foreach (DataTable table in newSetOfExams.Tables)
            {
                foreach (DataRow row in table.Rows)
                {

                    Exams requestedExams = new Exams();
                    Questions requestedQuestions = new Questions();
                    requestedQuestions.Question_ID = int.Parse(row["Questions_ID"].ToString());
                    requestedQuestions.Question = row["Questions_Main"].ToString();
                    requestedQuestions.multiplechoice1 = row["MultipleChoice1"].ToString();
                    requestedQuestions.multiplechoice2 = row["MultipleChoice2"].ToString();
                    requestedQuestions.multiplechoice3 = row["MultipleChoice3"].ToString();
                    if (String.IsNullOrEmpty(row["Question_Answer"].ToString()))
                        requestedQuestions.selectedAnswer = Char.Parse(row["Question_Answer"].ToString());
                        requestedExams.Exams_ID = int.Parse(row["Exams_ID"].ToString());
                    requestedExams.Exmas_Question = requestedQuestions;

                    newExams.Add(requestedExams);
                }
            }
            return newExams;
        }
Example #2
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="StudentAnswer"></param>
        /// <param name="ExamsID"></param>
        /// <returns></returns>
        public int correctQuestion(Exams StudentAnswer)
        {
            char questionAnswer = getAnswerByquestionId(StudentAnswer.Exmas_Question.Question_ID);
            int result = 0;
            if (questionAnswer == StudentAnswer.Exmas_Question.selectedAnswer)
                result = 1;

            return result;
        }
Example #3
0
        private static char getAnswerByquestionId(int questionID)
        {
            char answer = new char();
            Exams examsAnswers = new Exams();
            DataSet dtSetAnswers;
            dtSetAnswers = examsAnswers.getAnswerByQuestionID(questionID);

            if (dtSetAnswers != null)
            {
                foreach (DataTable table in dtSetAnswers.Tables)
                {
                    foreach (DataRow row in table.Rows)
                    {

                        answer = Char.Parse(row["Question_Answer"].ToString());

                    }
                }

            }
            return answer;
        }
Example #4
0
 public static int InsertExam(Exams theExam)
 {
     return(ExamIntegration.InsertExam(theExam));
 }
Example #5
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="ExamsID"></param>
        /// <returns></returns>
        private static Dictionary<int, char> getAnswersById(int ExamsID, int questionID)
        {
            Dictionary<int, char> dictExamsAnswers = new Dictionary<int, char>();
               Exams examsAnswers = new Exams();
               DataSet dtSetAnswers;
               dtSetAnswers = examsAnswers.getAnswerByID(ExamsID, questionID);

               if (dtSetAnswers != null)
               {
               foreach (DataTable table in dtSetAnswers.Tables)
               {
                   foreach (DataRow row in table.Rows)
                   {
                     int answerID = int.Parse(row["Questions_ID"].ToString());
                     char answer = Char.Parse(row["Question_Answer"].ToString());
                     dictExamsAnswers.Add(answerID, answer);
                   }
               }

               }
               return dictExamsAnswers;
        }
Example #6
0
 public async Task DeleteAsync(Exam exam)
 => await Exams.DeleteOneAsync(x => x.Id == exam.Id);
Example #7
0
        public IActionResult addExam([FromBody] Exams exam)
        {
            try
            {
                var userId = this.help.GetCurrentUser(HttpContext);
                if (userId <= 0)
                {
                    return(StatusCode(401, "الرجاء الـتأكد من أنك قمت بتسجيل الدخول"));
                }
                var perm = this.help.getPermissin("Exams_Add", userId, db);
                if (!perm)
                {
                    return(StatusCode(401, "لا تملك الصلاحية"));
                }
                if (exam == null)
                {
                    return(StatusCode(401, "حدتت مشكلة في ارسال البيانات"));
                }



                if (string.IsNullOrEmpty(exam.Name))
                {
                    return(StatusCode(401, "يجب إدخال إسم الإمتحان"));
                }

                if (string.IsNullOrWhiteSpace(exam.Name))
                {
                    return(StatusCode(401, "يجب إدخال إسم الإمتحان"));
                }

                //var eventExist = (from p in db.Exams where p.EventId == exam.EventId select p.Name).SingleOrDefault();
                //if (eventExist != null){
                //    var examExist = (from p in db.Exams where p.Name == exam.Name select p).SingleOrDefault();
                //    if (examExist != null)
                //    {
                //        return StatusCode(401, "إسم الإختبار موجود مسبقا");
                //    }
                //}



                if (userId <= 0)
                {
                    return(StatusCode(401, "الرجاء الـتأكد من أنك قمت بتسجيل الدخول"));
                }

                if (exam.Status == 1)
                {
                    if (exam.SubjectId <= 0)
                    {
                        return(StatusCode(401, "الرجاء إختيار المادة الدراسية"));
                    }
                }
                else if (exam.Status == 2)
                {
                    if (exam.EventId <= 0)
                    {
                        return(StatusCode(401, "الرجاء إختيار الكورس"));
                    }
                }

                if (exam.Number < 0)
                {
                    return(StatusCode(401, "الرجاء إختيار رقم الإختبار"));
                }

                int marck = 0;

                foreach (var item in exam.Questions)
                {
                    marck += (int)item.Points;
                }

                if (marck != exam.FullMarck)
                {
                    return(StatusCode(401, "مجموع الدرجات لا يساوي الدرجة النهائية الرجاء التأكد من البيانات"));
                }

                Exams exams = new Exams
                {
                    Name      = exam.Name,
                    Number    = exam.Number,
                    SubjectId = exam.SubjectId,
                    EventId   = exam.EventId,
                    Length    = exam.Length,
                    FullMarck = exam.FullMarck,
                    CreatedBy = userId,
                    CreatedOn = DateTime.Now,
                    Status    = exam.Status
                };
                db.Exams.Add(exams);

                var questionsList = new List <Questions>();

                foreach (Questions item in exam.Questions)
                {
                    var question = new Questions
                    {
                        ExamId    = exam.Id,
                        Question  = item.Question,
                        Number    = item.Number,
                        Points    = item.Points,
                        CreatedBy = userId,
                        CreatedOn = DateTime.Now,

                        Status = item.Status,
                    };


                    var answersList = new List <Answers>();
                    foreach (Answers answers in item.Answers)
                    {
                        answersList.Add(new Answers
                        {
                            ExamAnswers = answers.ExamAnswers,
                            CreatedBy   = userId,
                            CreatedOn   = DateTime.Now
                        });
                    }
                    question.Answers = answersList;

                    questionsList.Add(question);
                }

                exams.Questions = questionsList;


                db.SaveChanges();
                return(Ok("تمت عملية الإضافة بنجاح "));
            }
            catch (Exception e)
            {
                return(StatusCode(500, e.InnerException.Message));
            }
        }
Example #8
0
 public async Task AddAsync(Exam exam)
 => await Exams.InsertOneAsync(exam);
Example #9
0
 public async Task UpdateAsync(Exam exam)
 => await Exams.ReplaceOneAsync(x => x.Id == exam.Id, exam);
Example #10
0
 public async Task <IEnumerable <Exam> > BrowseAsync(string name = "")
 => await Exams.AsQueryable().ToListAsync();
Example #11
0
 public async Task <Exam> GetAsync(string name)
 => await Exams.AsQueryable().FirstOrDefaultAsync(x => x.Name == name);
Example #12
0
 public async Task <Exam> GetAsync(Guid id)
 => await Exams.AsQueryable().FirstOrDefaultAsync(x => x.Id == id);
Example #13
0
 public async void CreateExam(Exams _exam)
 {
     Db.Exams.Add(_exam);
     await Db.SaveChangesAsync();
 }
Example #14
0
 public ExamsController(IStringLocalizer <SharedResource> localizer, WebApiClient <ExamContract.MainDbModels.Exam> service, Exams uow, ILogger <ExamsController> logger) : base(localizer, service)
 {
     this.uow    = uow;
     this.logger = logger;
 }