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; }
/// <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; }
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; }
public static int InsertExam(Exams theExam) { return(ExamIntegration.InsertExam(theExam)); }
/// <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; }
public async Task DeleteAsync(Exam exam) => await Exams.DeleteOneAsync(x => x.Id == exam.Id);
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)); } }
public async Task AddAsync(Exam exam) => await Exams.InsertOneAsync(exam);
public async Task UpdateAsync(Exam exam) => await Exams.ReplaceOneAsync(x => x.Id == exam.Id, exam);
public async Task <IEnumerable <Exam> > BrowseAsync(string name = "") => await Exams.AsQueryable().ToListAsync();
public async Task <Exam> GetAsync(string name) => await Exams.AsQueryable().FirstOrDefaultAsync(x => x.Name == name);
public async Task <Exam> GetAsync(Guid id) => await Exams.AsQueryable().FirstOrDefaultAsync(x => x.Id == id);
public async void CreateExam(Exams _exam) { Db.Exams.Add(_exam); await Db.SaveChangesAsync(); }
public ExamsController(IStringLocalizer <SharedResource> localizer, WebApiClient <ExamContract.MainDbModels.Exam> service, Exams uow, ILogger <ExamsController> logger) : base(localizer, service) { this.uow = uow; this.logger = logger; }