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); }
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)); }
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)); }