public User saveUser(User u) { if (u == null) { throw new Exception("User must be given..."); } dc.Users.InsertOnSubmit(u); dc.SubmitChanges(); return u; }
/** * --------------------------------------SELECT ------------------------------------------* * select query's: ** joins worden nog niet gedaan... gewoon elke functie in volgorde oproepen werkt ook... ** **/ public List<Quiz> getAllQuizzes(User u) { if (u == null) { throw new Exception("User must be given..."); } var result = (from q in dc.Quizs where q.FK_Users == u.User_Id select q).ToList<Quiz>(); return result; }
public ActionResult Manage() { GymGameModelDataContext dc = new GymGameModelDataContext(); // user komt normaal gezien uit de sessievar. User u = new User(); u.User_Id = 1; QuizMasterModel qmm = new QuizMasterModel(); List<Quiz> Allquizzes = qmm.getAllQuizzes(u); ViewBag.quizzes = Allquizzes; return View(); }
public List<Result> getResultsByUserAndQuiz(User u, Quiz q) { if (u == null) { throw new Exception("User must be given..."); } else if (q == null) { throw new Exception("Quiz must be given..."); } var result = (from r in dc.Results where r.FK_Quiz == q.Quiz_Id && r.FK_User == u.User_Id select r).ToList<Result>(); return result; }
public ActionResult New(FormCollection f) { GymGameModelDataContext dc = new GymGameModelDataContext(); // uit post halen: gameName, question, a1, a2, a3 var gamename = f["gameName"]; var question = f["question"]; var answer1 = f["a1"]; var answer2 = f["a2"]; var answer3 = f["a3"]; // wegschrijven // Quiz q = new Quiz(); User u = new User(); return View(); }
public User logIn(User user) { if (user.FB_UserId == null) { throw new Exception("Facebook ID must be given..."); } var result = (from u in dc.Users where u.FB_UserId.Equals(user.FB_UserId) select u).Single(); //check if username has changed: if (result.Firstname.Equals(user.Firstname) && result.Lastname.Equals(user.Lastname)) { return result; } else { return saveUser(user); } }
public CompleteResult(Result res) { //set the result result = res; try { //get the question question.Question_Id = res.FK_Question; question = gm.getQuestion(question); //get the answer answer.Answer_Id = res.FK_Answer; answer = gm.getAnswer(answer); isRight = (answer.Answer_value == 1); //if needed, get the right answer if (!isRight) { Question q = new Question(); q.Question_Id = answer.FK_Question; rightAnswer = gm.getRightAnswer(q); } //get the quiz quiz.Quiz_Id = res.FK_Quiz; quiz = gm.getQuiz(quiz); //get the user user.User_Id = res.FK_User; user = um.getUser(user.User_Id); } catch (Exception e) { Console.WriteLine(e); } }
public int InsertResultByValues(User user, Question question, Answer answer, Quiz quiz) { /** * User komt van Sessie, * Question ook (of uit controller) * Answer komt van controller (ajax post) * Quiz komt van sessie (of controller) **/ //result aanmaken Result r = new Result(); r.FK_User = user.User_Id; r.FK_Question = question.Question_Id; r.FK_Answer = answer.Answer_Id; r.FK_Quiz = quiz.Quiz_Id; //posten naar database dc.Results.InsertOnSubmit(r); dc.SubmitChanges(); return r.Result_Id; }
public ActionResult Login(FormCollection f) { var accessToken = f["accessToken"]; //get name and id from facebookClient var client = new Facebook.FacebookClient(accessToken); dynamic result = client.Get("me", new { fields = "first_name, last_name, id, username" }); //access the user model UserModel um = new UserModel(); //check if user exists, if exists: login, if not exists: create User u = new User(); u.Firstname = result.first_name; u.Lastname = result.last_name; u.FK_Role = 1; u.FB_UserId = result.id; u.FB_UserName = result.username; //important! fb id is now int 64, //but cannot convert dynamic result to int, so we use string (for now) Boolean exists = um.userExists(u.FB_UserId); if (!exists) { //user does not exist yet, create and log in try { u = um.saveUser(u); //if the user's id has been set: success if (u.User_Id == 0) { throw new Exception("User wasn't saved into database"); } } catch (Exception e) { Console.WriteLine(e); ViewBag.status = "error"; return View(); } } else{ //login the user try { u = um.logIn(u); //if the user's id has been set: success if (u.User_Id == 0) { throw new Exception("User couldn't be logged in"); } } catch (Exception e) { Console.WriteLine(e); ViewBag.status = "error"; return View(); } } //set the facebook id in the session: set that the user is logged in Session["firstname"] = u.Firstname; Session["lastname"] = u.Lastname; Session["fbUserId"] = result.id; Session["userId"] = u.User_Id; Session["fbUserId"] = result.id; Session["userLevel"] = u.FK_Role; ViewBag.status = "loggedIn"; return View(); }
public List<Result> getResultsByUser(User u) { if (u == null) { throw new Exception("User must be given..."); } var result = (from r in dc.Results where r.FK_User == u.User_Id select r).ToList<Result>(); return result; }
public List<Result> getResultsByUserAndQuiz(User u, Quiz q) { var result = (from r in dc.Results where r.FK_Quiz == q.Quiz_Id && r.FK_User == u.User_Id select r).ToList<Result>(); return result; }
partial void InsertUser(User instance);
public ActionResult Results(String id) { // checken of de gebruiker al is ingelogd. Indien niet -> /login -> if (Session["userId"] == null) { //gebruiker is niet ingelogd: doorverwijzen naar account/login Response.Redirect("~/account/login"); } GameModel gm = new GameModel(); List<CompleteResult> results = new List<CompleteResult>(); //kijk of de quiz gegeven is, anders gaan we de status aanpassen naar "no quiz given" User u = new User(); u.User_Id = (int)Session["userId"]; try { int quizId = int.Parse(id); try { //haal resultaten op Quiz q = new Quiz(); q.Quiz_Id = quizId; List<Result> res = gm.getResultsByUserAndQuiz(u, q); foreach (Result r in res) { results.Add(new CompleteResult(r)); } ViewBag.status = "success"; } catch (Exception e) { Console.WriteLine(e); ViewBag.status = "no quiz given"; } } catch (Exception e) { //als we hier terechtkomen is de id een textuele string (bv. "abc") try { //haal resultaten op Quiz q = new Quiz(); q.code = id; q = gm.getQuizByCode(q); List<Result> res = gm.getResultsByUserAndQuiz(u, q); foreach (Result r in res) { results.Add(new CompleteResult(r)); } ViewBag.status = "success"; } catch (Exception ex) { Console.WriteLine(ex); //probeer op naam te zoeken (kleine kans, maar vergroot UX) try { //haal resultaten op Quiz q = new Quiz(); q.name = id; q = gm.getQuizByName(q); List<Result> res = gm.getResultsByUserAndQuiz(u, q); foreach (Result r in res) { results.Add(new CompleteResult(r)); } ViewBag.status = "success"; } catch (Exception exc) { Console.WriteLine(exc); ViewBag.status = "no quiz given"; } } } //viewbag data: //the number of questions int questions = results.Count(); ViewBag.questions = questions; //count the right answers int rightAnswers = 0; foreach (CompleteResult cr in results) { if (cr.answer.Answer_value == 1) rightAnswers++; } ViewBag.rightAnswers = rightAnswers; ViewBag.percentage = Math.Round(((double)rightAnswers / questions) * 100); return View(results); }
partial void UpdateUser(User instance);
partial void DeleteUser(User instance);
public ActionResult Index(String id) { // Op basis van wat er werd ingegeven achter Game/... wordt er een bepaalde quiz geselecteerd. // checken of de gebruiker al is ingelogd. Indien niet -> /login -> if (Session["userId"] == null) { //gebruiker is niet ingelogd: doorverwijzen naar account/login Response.Redirect("~/account/login"); } GameModel gm = new GameModel(); PlayableQuiz playQuiz = new PlayableQuiz(); //kijk of de quiz gegeven is, anders gaan we de status aanpassen naar "no quiz given" int quizId; try { quizId = int.Parse(id); try { playQuiz = gm.getPlayableQuiz(quizId); ViewBag.status = "success"; } catch (Exception e) { Console.WriteLine(e); ViewBag.status = "no quiz given"; } } catch (Exception e) { //als we hier terechtkomen is de id een textuele string (bv. "abc") try { playQuiz = gm.getPlayableQuizByCode(id); ViewBag.status = "success"; } catch (Exception ex) { Console.WriteLine(ex); //probeer op naam te zoeken (kleine kans, maar vergroot UX) try { playQuiz = gm.getPlayableQuizByName(id); ViewBag.status = "success"; } catch (Exception exc) { Console.WriteLine(exc); ViewBag.status = "no quiz given"; } } } //check if the user already played the quiz User u = new User(); if (Session["userId"] != null) { u.User_Id = (int)Session["userId"]; } List<Result> resultsByUser = gm.getResultsByUser(u); foreach (Result r in resultsByUser) { if (r.FK_Quiz == playQuiz.quiz.Quiz_Id) { playQuiz.userPlayed = true; } } return View(playQuiz); }
private void attach_Users(User entity) { this.SendPropertyChanging(); entity.Role = this; }
private void detach_Users(User entity) { this.SendPropertyChanging(); entity.Role = null; }