public IActionResult Create(TaskFullViewModel model) { this.tasksService.CreateTask( model.Title, model.Description, model.DueDate, model.Participants, model.AffectedSectors); return(this.RedirectToAction("/")); }
public void TaskForm_SaveUserModelIsInvalid_ReturnsTaskFormView() { // Arrange TasksController controller = new TasksController(_tasksRepository.Object, _statidataRepository.Object, _usersRepository.Object); var context = new Mock <HttpContextBase>(); controller.ControllerContext = new ControllerContext(context.Object, new RouteData(), controller); TaskFullViewModel EmptyTask = new TaskFullViewModel(); TaskFormViewModel InvalidModel = new TaskFormViewModel() { Task = EmptyTask, IsExisting = false }; // Act ViewResult result = controller.TaskForm(InvalidModel) as ViewResult; var model = (TaskFormViewModel)result.ViewData.Model; // Assert Assert.AreEqual(EmptyTask, model.Task); }
public void TaskForm_SaveUserModelIsValid_ReturnsTasksIndexView() { // Arrange TasksController controller = new TasksController(_tasksRepository.Object, _statidataRepository.Object, _usersRepository.Object); var context = new Mock <HttpContextBase>(); controller.ControllerContext = new ControllerContext(context.Object, new RouteData(), controller); var uniquestring = DateTime.Now.ToBinary().ToString().Substring(3, 10); TaskFullViewModel ProperTask = new TaskFullViewModel() { Name = uniquestring, Description = uniquestring, CardColor = "#000", FontColor = "#000", Progres = 0, Category = 1, Status = 1, Rank = 1 }; TaskFormViewModel ValidModel = new TaskFormViewModel() { Task = ProperTask, IsExisting = false }; // Act var model = (RedirectToRouteResult)controller.TaskForm(ValidModel); // Assert Assert.AreEqual("Index", model.RouteValues["action"]); }
public void Save(bool IsExisting, TaskFullViewModel Task, string UserId) { if (IsExisting) { var dataModel = _db.TASK.Where(x => x.ID == Task.Id && x.USER_ID == UserId).First(); var previousStatus = dataModel.STATUS_ID; var previousDeadline = dataModel.DEADLINE_DATE; dataModel.ID = Task.Id; dataModel.NAME = Task.Name; dataModel.DESCRIPTION = Task.Description; dataModel.CARD_COLOR = Task.CardColor; dataModel.FONT_COLOR = Task.FontColor; dataModel.DEADLINE_DATE = Task.DeadlineDate; dataModel.LAST_EDIT_DATE = DateTime.Now; if (Task.Status == 4) { dataModel.COMPLETION_DATE = DateTime.Now; } else { dataModel.COMPLETION_DATE = null; } dataModel.PROGRES = Task.Progres; dataModel.CATEGORY_ID = Task.Category; dataModel.RANK_ID = Task.Rank; dataModel.STATUS_ID = Task.Status; if (_db.SaveChanges() > 0) { if (previousStatus != 4 && Task.Status == 4) { _statisticsRepository.SetFinishedTasks(UserId, 1); } if (previousStatus == 4 && Task.Status != 4) { _statisticsRepository.SetFinishedTasks(UserId, -1); } if (previousDeadline == null && Task.DeadlineDate != null) { _statisticsRepository.SetTasksWithDeadline(UserId, 1); } if (previousDeadline != null && Task.DeadlineDate == null) { _statisticsRepository.SetTasksWithDeadline(UserId, -1); } if (Task.DeadlineDate != null && Task.DeadlineDate > DateTime.Now && Task.Status == 4) { _statisticsRepository.SetTasksFinishedBeforeDeadline(UserId, 1); } if (Task.DeadlineDate != null && Task.DeadlineDate > DateTime.Now && previousStatus == 4 && Task.Status != 4) { _statisticsRepository.SetTasksFinishedBeforeDeadline(UserId, -1); } } } else { var dataModel = new TASK() { NAME = Task.Name, DESCRIPTION = Task.Description, CARD_COLOR = Task.CardColor, FONT_COLOR = Task.FontColor, CREATION_DATE = DateTime.Now, DEADLINE_DATE = Task.DeadlineDate, PROGRES = Task.Progres, CATEGORY_ID = Task.Category, RANK_ID = Task.Rank, STATUS_ID = Task.Status, USER_ID = UserId }; if (Task.Status == 4) { dataModel.COMPLETION_DATE = DateTime.Now; } _db.TASK.Add(dataModel); if (_db.SaveChanges() > 0) { _statisticsRepository.SetCreatedTasks(UserId); _statisticsRepository.SetLastTaskCreation(UserId); if (Task.DeadlineDate != null) { _statisticsRepository.SetTasksWithDeadline(UserId, 1); } } } }