public ActionResult Create(TaskViewModel task) { Task newTask = new Task { TaskText = EscapeHtml(task.TaskText), Title = EscapeHtml(task.Title), Added = DateTime.Now, Author = WebSecurity.CurrentUserId, UserProfile = data.FindUser(WebSecurity.CurrentUserId) }; var categoryNames = JsonConvert.DeserializeObject<List<string>>(JsonConvert.DeserializeObject<string>(task.Categories)); foreach (string s in categoryNames) { data.AddCategory(s); newTask.Categories.Add(data.GetCategory(s)); } var solutions = task.Answers.Split(','); foreach (var solution in solutions) { data.AddAnsver(solution); } data.modifiUserProfileSuccess(); data.AddTask(newTask); return RedirectToAction("Index", "Home"); }
public ActionResult Create(Task task) { if (ModelState.IsValid) { db.Tasks.Add(task); db.SaveChanges(); return RedirectToAction("Index"); } ViewBag.Author = new SelectList(db.UserProfiles, "UserId", "UserName", task.Author); return View(task); }
public ActionResult Edit(Task task) { if (ModelState.IsValid) { db.Entry(task).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } ViewBag.Author = new SelectList(db.UserProfiles, "UserId", "UserName", task.Author); return View(task); }
private JsonResult CheckAnswerWithoutAuthor(UserProfile user, Task task, AnswerInfo answerInfo) { AnswerResult result = new AnswerResult(); if (!user.Tasks2.Contains(task)) { if (data.IsAnswerCorrect(answerInfo.TaskId, answerInfo.Answer)) { data.UserSolveTask(user, task); result.Success = true; result.Message = Messages.UserSuccess; } else { data.UserFailToSolveTask(user, task); result.Success = false; result.Message = Messages.UserFail; } return Json(result); } result.Success = false; result.Message = Messages.UserAlreadySolve; return Json(result); }
/// <summary> /// Add a task into database /// </summary> /// <param name="newTask">Etity of the task</param> public void AddTask(Task newTask) { db.Tasks.Add(newTask); db.SaveChanges(); }
/// <summary> /// Modifi the user if he succesfuly solve the task /// </summary> /// <param name="user">User who solve the task</param> /// <param name="task">Task which was solved</param> public void UserSolveTask(UserProfile user, Task task) { user.SolutionsCount++; user.Rating += 50; user.Tasks2.Add(task); db.Entry(user).State = EntityState.Modified; task.UserProfiles1.Add(user); task.SolutionsCount++; if (task.FirstSolve == null) { task.FirstSolve = DateTime.Now; } task.Attempts++; db.Entry(task).State = EntityState.Modified; db.SaveChanges(); }
/// <summary> /// Modifi user who's attempt to solve was unsuccesfull /// </summary> /// <param name="user">User who get failed</param> /// <param name="task">Task which wasn't solved</param> public void UserFailToSolveTask(UserProfile user, Task task) { user.Rating -= 5; db.Entry(user).State = EntityState.Modified; task.Attempts++; db.Entry(task).State = EntityState.Modified; db.SaveChanges(); }