Exemplo n.º 1
0
        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");
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
 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);
 }
Exemplo n.º 4
0
 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);
 }
Exemplo n.º 5
0
 /// <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();
 }
Exemplo n.º 6
0
        /// <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();
        }
Exemplo n.º 7
0
 /// <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();
 }