public bool checkIfTitleIsAvail(string title) { using (var context = new ExamsDBContext()) { var returnValue = context.Exams.Any(x => x.Title == title); return(!returnValue); }; }
public async Task <int> getListsCount() { using (var context = new ExamsDBContext()) { var returnValue = from exams in context.Exams select exams; return(await returnValue.CountAsync()); } return(0); }
public void finalizeExam() { ExamHistory exam = new ExamHistory(); exam.ExamId = examId; exam.UserId = userId; exam.TakenDate = startDateTime; exam.Result = this.getScorePercent() / 100; using (var context = new ExamsDBContext()) { context.ExamHistory.Add(exam); context.SaveChanges(); } }
public ExamStatistics getSpecifiedExamStatistics(Int64 examId) { ExamStatistics examStatistics = new ExamStatistics(); DateGraphPoint[] dateGraphPoints = null; using (var context = new ExamsDBContext()) { var basicStatsQuery = from examPercentage in context.PassedPercentage join examFlawless in context.FlawlessView on examPercentage.ExamId equals examFlawless.ExamId into tmpMap from examFlawless in tmpMap.DefaultIfEmpty() where examPercentage.ExamId == examId select new { flawlessDate = examFlawless.FlawlessDate, passedPercentage = examPercentage.PassedPercentage1 }; var graphStatsQuery = from graphStats in context.TakenCountByDate where graphStats.ExamId == examId select graphStats; var basicStatsList = basicStatsQuery.ToList(); var graphStatsList = graphStatsQuery.ToList(); if (basicStatsList.Count > 0) { examStatistics.firstTimeFlawless = basicStatsList[0].flawlessDate ?? DateTime.MinValue; examStatistics.passedPercentage = (float)(basicStatsList[0].passedPercentage ?? 0); } dateGraphPoints = new DateGraphPoint[graphStatsQuery.Count()]; for (int i = 0; i < graphStatsList.Count; ++i) { dateGraphPoints[i] = new DateGraphPoint(graphStatsList[i].DateCreated ?? DateTime.MinValue, graphStatsList[i].TakenCount ?? 0); } examStatistics.takenGraph = dateGraphPoints; return(examStatistics); } }
public bool registerUser(string userLogin, string userPassword, string userEmail) { Users users = new Users(); users.UserLogin = userLogin; users.UserPassword = userPassword; users.Email = userEmail; using (var context = new ExamsDBContext()) { context.Users.Add(users); context.SaveChanges(); }; return(true); }
public void addAnswerToQuestion(string anwserText, bool isProper) { Answer answerHelper = new Answer(); answerHelper.AnswerText = anwserText; answerHelper.IsProper = isProper; answerHelper.QuestionId = questions[questions.Count - 1].QuestionId; using (var context = new ExamsDBContext()) { context.Answer.Add(answerHelper); context.SaveChanges(); }; anwsers.Add(answerHelper); }
public void deleteExam(Int64 examId) { //Exams exams = null; using (var context = new ExamsDBContext()) { var examQ = from exams in context.Exams where exams.ExamId == examId select exams; var examToDelete = examQ.FirstOrDefault(); context.Exams.Remove(examToDelete); context.SaveChanges(); return; }; }
public async Task <int> getCreatedExamsCount(Int64 userId) { int returned = 0; using (var context = new ExamsDBContext()) { var returnValue = from exams in context.Exams where exams.UserId == userId select exams; returned = await returnValue.CountAsync(); return(returned); } return(returned); }
public Questions createQuestion(bool isMultiChoice, string questionTekst) { Questions questionsHelepr = new Questions(); questionsHelepr.IsMultiChoice = isMultiChoice; questionsHelepr.QuestionText = questionTekst; questionsHelepr.ExamId = examHeader.ExamId; using (var context = new ExamsDBContext()) { context.Questions.Add(questionsHelepr); context.SaveChanges(); }; questions.Add(questionsHelepr); return(questionsHelepr); }
public async Task <int> getTakenExamsCount(Int64 userId) { int returned = 0; using (var context = new ExamsDBContext()) { var returnValue = from exams in context.Exams join examHistory in context.ExamHistory on exams.ExamId equals examHistory.ExamId where examHistory.UserId == userId select exams; returned = await returnValue.CountAsync(); return(returned); } return(returned); }
public Exams initializeExam(Int64 userId, string title, string description) { questions = new List <Questions>(); anwsers = new List <Answer>(); examHeader = new Exams(); examHeader.UserId = userId; examHeader.Title = title; examHeader.Decription = description; headerCreated = true; using (var context = new ExamsDBContext()) { context.Exams.Add(examHeader); context.SaveChanges(); }; return(examHeader); }
public List <Question> getQuestions() { List <Question> returned = new List <Question>(); using (var context = new ExamsDBContext()) { var returnValue = from questList in context.Questions where questList.ExamId == examId select new Question { questionId = questList.QuestionId, isMultiChoice = questList.IsMultiChoice, questionText = questList.QuestionText }; returned = returnValue.ToList(); questionCount = returned.Count(); return(returned); } }
public async Task <List <ExamsCreated> > getCreatedExams(Int64 userId) { List <ExamsCreated> created = null; using (var context = new ExamsDBContext()) { var returnValue = from exams in context.Exams where exams.UserId == userId select new ExamsCreated { ExamId = exams.ExamId, ExamTitle = exams.Title, ExamTakenCount = exams.ExamHistory.Count }; created = await returnValue.ToListAsync(); return(created); } return(created); }
public List <Anwser> getAnwsers(Int64 questionId) { List <Anwser> returned = new List <Anwser>(); using (var context = new ExamsDBContext()) { var returnValue = from anwserList in context.Answer where anwserList.QuestionId == questionId select new Anwser { answerId = anwserList.AnswerId, isProper = anwserList.IsProper ?? false, anwserText = anwserList.AnswerText, isMarked = false }; returned = returnValue.ToList(); return(returned); } }
public bool login(string login, string password) { List <Int64> list = null; using (var context = new ExamsDBContext()) { var userQuery = from users in context.Users where users.UserLogin == login && users.UserPassword == password select users.UserId; list = userQuery.ToList(); if (list.Count() > 0) { userId = list[0]; } return(userId != 0 ? true : false); } }
public bool isLoginAvailable(string login) { List <Int64> list = null; using (var context = new ExamsDBContext()) { var isAvailable = from users in context.Users where users.UserLogin == login select users.UserId; list = isAvailable.ToList(); if (list.Count > 0) { return(false); } else { return(true); } } }
public async Task <List <ExamsPassed> > getTakenExams(Int64 userId) { List <ExamsPassed> returned = null; using (var context = new ExamsDBContext()) { var returnValue = from exams in context.Exams join examHistory in context.ExamHistory on exams.ExamId equals examHistory.ExamId where examHistory.UserId == userId select new ExamsPassed { examId = exams.ExamId, Name = exams.Title, Percent = examHistory.Result == null ? 0 : (float)examHistory.Result, Passed = examHistory.Result > 0.50 ? true : false }; returned = await returnValue.ToListAsync(); return(returned); } return(returned); }
public ExamListPageItem getSpecifiedExam(Int64 examId) { using (var context = new ExamsDBContext()) { var returnValue = from exams in context.Exams join users in context.Users on exams.UserId equals users.UserId where exams.ExamId == examId select new ExamListPageItem { ExamTitle = exams.Title, ExamId = exams.ExamId, ExamDescription = exams.Decription ?? "Brak", ExamQuestionCount = exams.Questions.Count, ExamTakenCount = exams.ExamHistory.Count, CreatedBy = users.UserLogin }; var examListSingle = returnValue.ToList(); return(examListSingle[0]); } return(new ExamListPageItem()); }
public async Task <List <ExamListPageItem> > getExamsList(int count) { List <ExamListPageItem> returned = null; using (var context = new ExamsDBContext()) { var returnValue = from exams in context.Exams join users in context.Users on exams.UserId equals users.UserId select new ExamListPageItem { ExamTitle = exams.Title, CreatedBy = users.UserLogin, ExamId = exams.ExamId, ExamQuestionCount = exams.Questions.Count, ExamTakenCount = exams.ExamHistory.Count }; returned = await returnValue.ToListAsync(); return(returned); } return(returned); }