示例#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 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);
        }
        public ActionResult Index(SubmissionModel model)
        {
            if (ModelState.IsValid)
            {
                var    uploadPath       = Server.MapPath("~/App_Data/Uploads");
                string uploadedFilePath = Path.Combine(uploadPath, model.FileName);
                Image  img   = Image.FromFile(uploadedFilePath);
                var    photo = new Photo
                {
                    Title       = model.Title,
                    Description = model.Description,
                    FileName    = model.FileName,
                    Width       = img.Width,
                    Height      = img.Height,
                    UserId      = CurrentUser.Id
                };
                var photoId = _photoManager.CreatePhoto(photo);

                _tagManager.CreateTag(model.Tags, photoId);

                return(RedirectToAction("MyPhotos", "Gallery"));
            }

            return(View(model));
        }
示例#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);
        }
        public async Task <ActionResult <Tag> > PostTag(TagDTO tagDTO)
        {
            await _context.CreateTag(tagDTO);

            return(CreatedAtAction("GetTag", new { id = tagDTO.ID }, tagDTO));
        }