public ActionResult AddTagsToProjectModal(BulkTagProjectsViewModel viewModel) { if (!ModelState.IsValid) { return(new ModalDialogFormJsonResult()); } AddTagsToProjectImpl(viewModel); return(new ModalDialogFormJsonResult()); }
public ActionResult AddTagsToProject(BulkTagProjectsViewModel viewModel) { if (!ModelState.IsValid) { return(new JsonResult()); } var existingTag = AddTagsToProjectImpl(viewModel); HttpRequestStorage.DatabaseEntities.SaveChanges(); return(Json(new BootstrapTag(existingTag))); }
public ActionResult RemoveTagsFromProject(BulkTagProjectsViewModel viewModel) { if (!ModelState.IsValid) { return(new JsonResult()); } // find tag, remove it from this project var existingTag = HttpRequestStorage.DatabaseEntities.Tags.GetTag(viewModel.TagName); existingTag.DeleteChildren(HttpRequestStorage.DatabaseEntities); return(new ModalDialogFormJsonResult()); }
public PartialViewResult BulkTagProjects(BulkTagProjectsViewModel viewModel) { var projectDisplayNames = new List <string>(); if (viewModel.ProjectIDList != null) { var projects = HttpRequestStorage.DatabaseEntities.Projects.Where(x => viewModel.ProjectIDList.Contains(x.ProjectID)).ToList(); projectDisplayNames = projects.Select(x => x.GetDisplayName()).ToList(); } var viewData = new BulkTagProjectsViewData(projectDisplayNames); return(RazorPartialView <BulkTagProjects, BulkTagProjectsViewData, BulkTagProjectsViewModel>(viewData, viewModel)); }
public ActionResult RemoveTagsFromProject(BulkTagProjectsViewModel viewModel) { if (!ModelState.IsValid) { return(new JsonResult()); } // find tag, remove it from this project var existingTag = HttpRequestStorage.DatabaseEntities.Tags.GetTag(viewModel.TagName); if (existingTag != null) { HttpRequestStorage.DatabaseEntities.ProjectTags.DeleteProjectTag(existingTag.ProjectTags.Where(x => viewModel.ProjectIDList.Contains(x.ProjectID)).ToList()); } return(new ModalDialogFormJsonResult()); }
private static Tag AddTagsToProjectImpl(BulkTagProjectsViewModel viewModel) { var existingTag = HttpRequestStorage.DatabaseEntities.Tags.GetTag(viewModel.TagName); if (existingTag == null) { existingTag = new Tag(viewModel.TagName); HttpRequestStorage.DatabaseEntities.AllTags.Add(existingTag); } var newProjectTags = viewModel.ProjectIDList.Select(projectID => new ProjectTag(projectID, existingTag.TagID)) .ToList(); HttpRequestStorage.DatabaseEntities.ProjectTags.Load(); var allProjectTags = HttpRequestStorage.DatabaseEntities.AllProjectTags.Local; existingTag.ProjectTags.MergeNew(newProjectTags, (x, y) => x.ProjectID == y.ProjectID && x.TagID == y.TagID, allProjectTags); return(existingTag); }