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);
            }
        }
Exemple #5
0
        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);
            }
        }
Exemple #15
0
        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);
            }
        }
Exemple #16
0
        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);
        }