public IActionResult Rate(string returnUrl, int TaskID) { var task = Documentation.Tasks.FirstOrDefault(x => x.StTaskID == TaskID); if (task != null) { var model = new RateTaskViewModel { returnUrl = returnUrl, TaskID = TaskID, CurrentRate = task.CurrentCost, MaxRate = task.MaxCost, }; return(View(model)); } return(LocalRedirect(returnUrl)); }
public IActionResult Rate(RateTaskViewModel model) { var task = Documentation.Tasks.FirstOrDefault(x => x.StTaskID == model.TaskID); if (task.MaxCost < model.CurrentRate) { ModelState.AddModelError("", "Rate cannot be more than " + model.MaxRate); } if (ModelState.IsValid) { var oldrate = task.CurrentCost; task.CurrentCost = model.CurrentRate; task.IsChecked = true; Documentation.UpdateTask(task); if (model.CurrentRate != oldrate) { var answer = new Answer() { AnswerDate = DateTime.Now, StTaskID = task.StTaskID, TextData = $@"Оцінка була змінена з {oldrate} до {model.CurrentRate}", UserID = Context.Users.FirstOrDefault(x => x.UserName == User.Identity.Name).Id }; Documentation.AddAnswer(answer); } if (!String.IsNullOrEmpty(model.Description)) { var answer = new Answer() { AnswerDate = DateTime.Now, StTaskID = task.StTaskID, TextData = model.Description, UserID = Context.Users.FirstOrDefault(x => x.UserName == User.Identity.Name).Id }; Documentation.AddAnswer(answer); } return(LocalRedirect(model.returnUrl)); } return(View(model)); }