示例#1
0
        public void AddTagsToProject(IList <string> tags, int projectId)
        {
            Require.Positive(projectId, nameof(projectId));

            Require.NotNull(tags, nameof(tags));

            var project = GetProject(projectId);

            if (project == null)
            {
                throw new ProjectNotFoundException("Project not found");
            }
            ISet <Tag> prjTags = new HashSet <Tag>();

            foreach (var tag in tags)
            {
                int tagId;
                if (_tagManager.TryFindTag(tag, out tagId))
                {
                    var tagToAdd = _tagManager.GetTag(t => t.TagId == tagId).Single();
                    prjTags.Add(tagToAdd);
                }
                else
                {
                    var newTag = _tagManager.CreateTag(tag);
                    prjTags.Add(newTag);
                }
            }
            project.ProjectTags = prjTags;
            _projectRepository.UpdateProject(project);
        }
示例#2
0
        public async Task <IActionResult> GetTag([FromRoute] int id)
        {
            var tag = await _tagManager.GetTag(id);

            if (tag == null)
            {
                return(NotFound("Tag does not exist."));
            }

            var response = _mapper.Map <TagResponse>(tag);

            return(Ok(response));
        }
示例#3
0
        public void AddTagsToOrganization(IList <string> tags, int orgId)
        {
            Require.Positive(orgId, nameof(orgId));

            Require.NotNull(tags, nameof(tags));

            var org = GetOrganization(orgId);

            if (org == null)
            {
                throw new OrgExceptions.OrganizationNotFoundException("Organization not found");
            }
            ISet <Tag> orgTags = new HashSet <Tag>();

            foreach (var tag in tags)
            {
                int tagId;
                if (_tagManager.TryFindTag(tag, out tagId))
                {
                    var tagToAdd = _tagManager.GetTag(t => t.TagId == tagId).Single();
                    orgTags.Add(tagToAdd);
                }
                else
                {
                    var newTag = _tagManager.CreateTag(tag);
                    orgTags.Add(newTag);
                }
            }
            org.OrganizationTags = orgTags;
            _orgRepository.UpdateOrganization(org);
        }
示例#4
0
        public void AddTagsToUser(IList <string> tags, int userId)
        {
            Require.Positive(userId, nameof(userId));
            Require.NotNull(tags, nameof(tags));
            var        account  = _userRepository.GetAccount(userId);
            ISet <Tag> userTags = new HashSet <Tag>();

            foreach (var tag in tags)
            {
                int tagId;
                if (_tagManager.TryFindTag(tag, out tagId))
                {
                    var tagToAdd = _tagManager.GetTag(t => t.TagId == tagId).SingleOrDefault();
                    userTags.Add(tagToAdd);
                }
                else
                {
                    var newTag = _tagManager.CreateTag(tag);
                    userTags.Add(newTag);
                }
            }
            account.Profile.Tags = userTags;
            _userRepository.UpdateAccount(account);
        }
        /// <summary>
        /// Getting the Tag by activities ID
        /// </summary>
        /// <param name="Id">activities ID</param>
        public async Task <List <TagDTO> > GetTagbyActivityID(int Id)
        {
            List <TagActivity> tActList = new List <TagActivity>();

            tActList = await _context.TagActivity.Where(x => x.ActivitiesId == Id)
                       .ToListAsync();

            List <TagDTO> aDTO = new List <TagDTO>();

            foreach (var item in tActList)
            {
                TagDTO dTO = await _tagContext.GetTag(item.TagId);

                aDTO.Add(dTO);
            }
            return(aDTO);
        }
 public async Task <ActionResult <TagDTO> > GetTag(int id) => await _context.GetTag(id);