public TagDTO AddNewTag(string userId, int boardId, TagDTO tagDTO) { var access = _userRepository.UserHasAccessToBoard(userId, boardId); if (!access) { throw new UnauthorizedAccessException(); } var tag = TagFactory.createTagFromDTO(tagDTO); tag.BoardId = boardId; var savedTag = _tagRepository.Add(tag); _tagRepository.Save(); return(TagFactory.createReturnDTO(savedTag)); }
public List <TagWithTasksDTO> GetTagsWithTasksForBoard(string userId, int boardId) { var access = _userRepository.UserHasAccessToBoard(userId, boardId); if (!access) { throw new UnauthorizedAccessException(); } var tags = _tagRepository.GetTagsForBoard(boardId); var tagWithTasksList = new List <TagWithTasksDTO>(tags.Count); tags.ForEach(tag => { var tasks = _taskRepository.GetTasksForTag(tag.Id); var tagWithTasks = new TagWithTasksDTO { Tag = TagFactory.createReturnDTO(tag), Tasks = TaskFactory.createReturnMinimalDTOList(tasks) }; tagWithTasksList.Add(tagWithTasks); }); return(tagWithTasksList); }