public bool Update(int id, TaskGroupViewModel group) { if (!TryFindGroupInDb(id, out var groupFromDb)) { return(false); } var updatedGroup = _mapper.Map <TaskGroupEntity>(group); _dbContext.Entry(groupFromDb).CurrentValues.SetValues(updatedGroup); foreach (var userTaskFromDb in groupFromDb.UserTasks.ToList()) { var task = updatedGroup.UserTasks.SingleOrDefault(t => t.Id == userTaskFromDb.Id); if (task == null) { _dbContext.Remove(userTaskFromDb); } else { _dbContext.Entry(userTaskFromDb).CurrentValues.SetValues(task); } } foreach (var newUserTasks in updatedGroup.UserTasks .Where(newUserTasks => newUserTasks.Id == 0 || groupFromDb.UserTasks.All(t => t.Id != newUserTasks.Id))) { groupFromDb.UserTasks.Add(newUserTasks); } _dbContext.SaveChanges(); return(true); }
public void Mapper_ShouldCorrectlyMap_TaskGroupEntityToTaskGroupViewModel() { var taskGroupEntity = new TaskGroupEntity { Id = 1, Name = "TestTaskGroup", UserTasks = new List <UserTaskEntity> { new UserTaskEntity { Id = 1, Name = "TestTask1" }, new UserTaskEntity { Id = 2, Name = "TestTask2" } } }; var expected = new TaskGroupViewModel { Id = 1, Name = "TestTaskGroup", UserTasks = new List <UserTaskViewModel> { new UserTaskViewModel { Id = 1, Name = "TestTask1" }, new UserTaskViewModel { Id = 2, Name = "TestTask2" } } }; var result = _mapperConfig.CreateMapper().Map <TaskGroupViewModel>(taskGroupEntity); Assert.IsInstanceOf <TaskGroupViewModel>(result); Assert.AreEqual(expected.Id, result.Id); Assert.AreEqual(expected.Name, result.Name); Assert.That(result.UserTasks, Is.EquivalentTo(expected.UserTasks)); }
public ActionResult <TaskGroupViewModel> Create(TaskGroupViewModel groupViewModel) { var newGroupId = _groupDbManager.Create(groupViewModel); groupViewModel.Id = newGroupId; return(CreatedAtAction(nameof(Get), new { id = newGroupId }, groupViewModel)); }
public IActionResult Update(int id, TaskGroupViewModel groupViewModel) { if (_groupDbManager.Update(id, groupViewModel)) { return(NoContent()); } return(NotFound()); }
public int Create(TaskGroupViewModel group) { var newGroup = _mapper.Map <TaskGroupEntity>(group); newGroup = _dbContext.TaskGroups.Add(newGroup).Entity; _dbContext.SaveChanges(); return(newGroup.Id); }
public IActionResult EditTaskGroup(int taskGroupId, [FromBody] TaskGroupViewModel taskGroup) { string userId = _userManager.GetUserId(HttpContext.User); try { return(new ObjectResult(_taskGroupLogic.EditTaskGroup(userId, taskGroupId, taskGroup))); } catch (NotFoundException) { return(NotFound()); } catch (IllegalAccessException) { return(Challenge()); } }
public void Mapper_ShouldCorrectlyMap_TaskGroupViewModelToTaskGroupEntity() { var taskGroupViewModel = new TaskGroupViewModel { Id = 1, Name = "TestTaskGroup", }; var expected = new TaskGroupEntity { Id = 1, Name = "TestTaskGroup", }; var result = _mapperConfig.CreateMapper().Map <TaskGroupEntity>(taskGroupViewModel); Assert.IsInstanceOf <TaskGroupEntity>(result); Assert.AreEqual(expected.Name, result.Name); }
public TaskGroupViewModel EditTaskGroup(string userId, int taskGroupId, TaskGroupViewModel taskGroup) { TaskGroup editingGroup = _context.TaskGroups.Find(taskGroupId); if (editingGroup == null) { throw new NotFoundException(); } if (!KaCakeUtils.IsCourseTeacher(_context, editingGroup.CourseId, userId)) { throw new IllegalAccessException(); } editingGroup.Name = taskGroup.Name; editingGroup.Description = taskGroup.Description; _context.SaveChanges(); return(GetTaskGroup(userId, editingGroup.Id)); }
public TaskGroupViewModel CreateTaskGroup(string userId, TaskGroupViewModel taskGroup) { if (!KaCakeUtils.IsCourseTeacher(_context, taskGroup.CourseId, userId)) { throw new IllegalAccessException(); } var entry = _context.TaskGroups.Add(new TaskGroup() { CourseId = taskGroup.CourseId, Name = taskGroup.Name, Description = taskGroup.Description }); _context.SaveChanges(); taskGroup.Id = entry.Entity.Id; return(GetTaskGroup(userId, entry.Entity.Id)); }
public IActionResult Create(TaskGroupViewModel taskGroup) { string userId = _userManager.GetUserId(HttpContext.User); if (ModelState.IsValid) { TaskGroup editedTaskGroup; if ((editedTaskGroup = _context.TaskGroups.Find(taskGroup.Id)) != null) { try { taskGroup = _taskGroupLogic.EditTaskGroup(userId, taskGroup.Id, taskGroup); } catch (NotFoundException) { return(NotFound()); } catch (IllegalAccessException) { return(Challenge()); } } else { try { taskGroup = _taskGroupLogic.CreateTaskGroup(userId, taskGroup); } catch (NotFoundException) { return(NotFound()); } catch (IllegalAccessException) { return(Challenge()); } } return(RedirectToAction("View", new { id = taskGroup.Id })); } return(View(taskGroup)); }
private void GetNewTaskGroup( TaskGroup taskGroup ) { TaskGroupViewModel viewModel = new TaskGroupViewModel( base.WindowLoader ); viewModel.DisplayName = "Add Task Group"; viewModel.TaskGroup = taskGroup; viewModel.Parent = this; base.WindowLoader.ShowDialog( viewModel ); }