/// <summary> /// Returns all votes aggregated for a particular date range /// </summary> /// <param name="questionId"></param> /// <param name="startingFrom"></param> /// <returns></returns> public QuizResult GetVotes(int questionId, DateTime startingFrom) { Question question = GetQuestion(questionId); QuizResult result = new QuizResult(); result.QuestionId = questionId; foreach (var option in question.Answers) { result.Answers.Add(new DeeAnswer{AnswerText = option.Answer1, Id = option.AnswerId}); } using (QuizEntities context = new QuizEntities()) { var totals = context.QuizResponses.GroupBy(p => p.AnswerId) .Select(p => new {p.Key, count = p.Count(i => i.Date >= startingFrom)}); foreach (var c in totals) { result.Answers.Find(d=>d.Id == c.Key).NumberOfVotes = c.count; } } return result; }
public void UpdateOutput(Participant model) { using (QuizEntities db = new QuizEntities()) { db.Entry(model).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } }
public Participant Insert(Participant model) { using (QuizEntities db = new QuizEntities()) { db.Participants.Add(model); db.SaveChanges(); return(model); } }
public HttpResponseMessage GetAnswers(int[] qIDs) { using (QuizEntities db = new QuizEntities()) { var result = db.Questions.AsEnumerable().Where(y => qIDs.Contains(y.QnID)). OrderBy(x => { return(Array.IndexOf(qIDs, x.QnID)); }). Select(z => z.Answer).ToArray(); return(Request.CreateResponse(HttpStatusCode.OK, result)); } }
public ActionResult Login(string username, string password) { var viewModel = new UserViewModel(); viewModel.Username = username; using (QuizEntities context = new QuizEntities()) { context.Database.Exists(); if (context != null) { if (string.IsNullOrWhiteSpace(username) || string.IsNullOrWhiteSpace(password)) { viewModel.ErrorMessage = "Incorrect username and/or password!"; return(View(viewModel)); } var user = _userDal.GetUserByUsername(username); if (user != null && user.ActivStatus) { if (user.Password.Equals(SHA512Encrypter.Encrypt(password), StringComparison.OrdinalIgnoreCase)) { FormsAuthentication.SetAuthCookie(user.Username, false); var quizUser = new QuizUser { Id = user.Id, Username = user.Username, IsAdmin = user.IsAdmin }; if (!user.IsAdmin) { quizUser.TestId = _userTestDal.GetTestIdByUserId(user.Id); } this.Session.Add("QuizUser", quizUser); if (user.IsAdmin) { return(RedirectToAction("StartPageAdmin", "Admin")); } return(RedirectToAction("StartPage", "Quiz")); } } viewModel.ErrorMessage = "Incorrect username and/or password!"; } else { viewModel.ErrorMessage = "You are not connect to database"; } } return(View(viewModel)); }
/// <summary> /// Gets the question and answers by id /// </summary> /// <param name="questionId"></param> /// <returns></returns> public Question GetQuestion(int questionId) { using (QuizEntities context = new QuizEntities()) { var question = context.Questions .Include("Answers") .Where(qn => qn.Id == questionId) .FirstOrDefault(); return question; } }
/// <summary> /// Save a single user answer to the db /// </summary> /// <param name="data"></param> public void SaveAnswer(QuizResponse data) { using (QuizEntities context = new QuizEntities()) { context.QuizResponses.AddObject(new QuizResponse { Date = DateTime.Now, AnswerId = data.AnswerId, QuestionId = data.QuestionId }); context.SaveChanges(); } }
public HttpResponseMessage GetQuestion() { using (QuizEntities db = new QuizEntities()) { var Qns = db.Questions .Select(x => new { QnID = x.QnID, Qn = x.Qn, ImageName = x.ImageName, x.Option1, x.Option2, x.Option3, x.Option4 }) .OrderBy(y => Guid.NewGuid()).Take(10).ToArray(); var updated = Qns.AsEnumerable().Select(x => new { QnID = x.QnID, ImageName = x.ImageName, Qn = x.Qn, Options = new string[] { x.Option1, x.Option2, x.Option3, x.Option4 } }).ToList(); return(Request.CreateResponse(HttpStatusCode.OK, updated)); } }
protected void gvQuestions_RowDeleting(object sender, GridViewDeleteEventArgs e) { try { int qId = Convert.ToInt32(gvQuestions.DataKeys[e.RowIndex].Values[0]); using (QuizEntities context = new QuizEntities()) { Question question = (from x in context.Questions where x.QuestionId == qId select x).FirstOrDefault(); context.Questions.Remove(question); context.SaveChanges(); } this.BindGrid(); } catch { Response.Redirect("~/Admin/QuizList.aspx"); } }
protected void gvUser_RowDeleting(object sender, GridViewDeleteEventArgs e) { string username = gvUser.Rows[e.RowIndex].Cells[1].Text; string query = "SELECT DISTINCT UserId FROM aspnet_Users WHERE UserName = '******'"; con = new SqlConnection(conStr); SqlDataAdapter adapter = new SqlDataAdapter(query, con); DataTable dt = new DataTable(); adapter.Fill(dt); //DataSet dataset = new DataSet(); //adapter.Fill(dataset); Guid userId = Guid.Parse(dt.Rows[0][0].ToString()); using (QuizEntities context = new QuizEntities()) { QHSEQuiz.Model.Hub hub = context.Hubs.Where(x => x.UserName == username).First(); context.Hubs.Remove(hub); //aspnet_Profile profile = context.aspnet_Profile.Where(x => x.PropertyValuesString == username).First(); //context.aspnet_Profile.Remove(profile); aspnet_Users user = context.aspnet_Users.Where(x => x.UserName == username).First(); context.aspnet_Users.Remove(user); aspnet_Membership mem = context.aspnet_Membership.Where(x => x.UserId == userId).First(); context.aspnet_Membership.Remove(mem); aspnet_UsersInRoles userInRole = context.aspnet_UsersInRoles.Where(x => x.UserId == userId).First(); context.aspnet_UsersInRoles.Remove(userInRole); context.SaveChanges(); Response.Redirect("~/Admin/ManageUsers.aspx"); } }
public static void DefineParagraphs(Document document) { QuizEntities context = new QuizEntities(); List <QuizResult> qrList = context.QuizResults.ToList(); foreach (QuizResult qr in qrList) { string quizName = context.Quizs.Where(x => x.QuizId == qr.QuizId).Select(x => x.Name).First(); string quizTaker = context.QuizResults.Where(x => x.ResultId == qr.ResultId).Select(x => x.Name).First(); string hub = context.QuizResults.Where(x => x.ResultId == qr.ResultId).Select(x => x.Username).First(); int? HRMS = context.QuizResults.Where(x => x.ResultId == qr.ResultId).Select(x => x.HRMS).First(); decimal?score = context.QuizResults.Where(x => x.ResultId == qr.ResultId).Select(x => x.Mark).First(); Paragraph para = document.LastSection.AddParagraph(quizName, "Heading1"); para.Format.Alignment = ParagraphAlignment.Center; para = document.LastSection.AddParagraph("Name: "); para.AddText(quizTaker); para.AddLineBreak(); para.AddText(hub); para.AddLineBreak(); if (score < 80) { FormattedText ftScore = para.AddFormattedText("Score: " + score + "%"); ftScore.Color = Colors.Red; } else { FormattedText ftScore = para.AddFormattedText("Score: " + score + "%"); ftScore.Color = Colors.Green; } para.AddLineBreak(); if (HRMS != null) { para = document.LastSection.AddParagraph("HRMS: "); para.AddText(HRMS.ToString()); para.AddLineBreak(); para.AddLineBreak(); } else { para.AddLineBreak(); } List <QuestionResponse> qresList = context.QuestionResponses.Where(x => x.ResultId == qr.ResultId).ToList(); foreach (QuestionResponse qres in qresList) { string question = context.Questions.Where(x => x.QuestionId == qres.QuestionId).Select(x => x.Description).First(); int? questionIndex = context.Questions.Where(x => x.QuestionId == qres.QuestionId).Select(x => x.OrderInQuiz).First(); FormattedText ft = para.AddFormattedText(questionIndex.ToString() + ". " + question); //ft.Size = 12; ft.Bold = true; ft.Color = Colors.Navy; para.AddLineBreak(); string response = context.QuestionOptions.Where(x => x.OptionId == qres.OptionId).Select(x => x.Description).First(); int answerId = context.QuestionAnswers.Where(x => x.QuestionId == qres.QuestionId).Select(x => x.OptionId).First(); string answer = context.QuestionOptions.Where(x => x.OptionId == answerId).Select(x => x.Description).First(); para = document.LastSection.AddParagraph("Response: " + response); para.AddLineBreak(); if (response == answer) { //para = document.LastSection.AddParagraph(); FormattedText ftResponse = para.AddFormattedText("Correct!"); ftResponse.Color = Colors.Green; } else { //para = document.LastSection.AddParagraph(); FormattedText ftResponse = para.AddFormattedText("Incorrect!"); ftResponse.Color = Colors.Red; } //para = document.LastSection.AddParagraph(); //para.AddText(response); para.AddLineBreak(); para.AddLineBreak(); } } //Paragraph paragraph = document.LastSection.AddParagraph("Paragraph Layout Overview", "Heading1"); //paragraph.AddBookmark("Paragraphs"); //DemonstrateAlignment(document); //DemonstrateIndent(document); //DemonstrateFormattedText(document); //DemonstrateBordersAndShading(document); }