public ActionResult AddWorkTime(int taskId) { var manager = new TaskManager(); int userId = int.Parse(User.Identity.GetProjectUserId()); var projectId = manager.GetProjectForTask(taskId).Id; DateTime startTime = DateTime.Now.AddHours(1); DateTime endTime = DateTime.Now; try { startTime = DateTime.Parse(Request.Form["startTime"]); endTime = DateTime.Parse(Request.Form["endTime"]); } catch (Exception ex) { TempData["errorMessage"] = "Wrong date/time format!"; } if (startTime < endTime && startTime.AddMinutes(-5) < DateTime.Now) { WorktimeData data = new WorktimeData() { ProjectUserId = userId, TaskId = taskId, StartTime = startTime, EndTime = endTime }; if (!manager.AddWorkTime(data)) { TempData["errorMessage"] = "Overlapping work time!"; } } else { TempData["errorMessage"] = "Invalid start or end time!"; } TempData["DetailsPage"] = "1"; TempData["overlayId"] = "TaskDetails"; TempData["TaskDetailsId"] = "" + taskId; return Redirect("/Projects/Details/" + projectId); }