public async Task <ActionResult> Export(ExportModel model) { model.ProjectName = (await ProjectService.GetProjectAsync(model.ProjectGuid.GetValueOrDefault())).Name; var directory1 = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()); Directory.CreateDirectory(directory1); foreach (var groupId in model.GroupIds) { var group = await TaskGroupService.GetTaskGroupAsync(model.ProjectGuid.GetValueOrDefault(), groupId); var file = $"{FileUtility.RemoveInvalidFileCharacters(group.Name)}.json"; System.IO.File.WriteAllText(Path.Combine(directory1, file), JsonConvert.SerializeObject(group, Formatting.Indented)); } var friendlyFileName = $"{model.ProjectName.Replace(" ", "-")}_TaskGroups_{DateTime.Now:yyyy-MM-dd_HH-mm}.zip"; var archive = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()); System.IO.Compression.ZipFile.CreateFromDirectory(directory1, archive); Directory.Delete(directory1, true); return(File(System.IO.File.OpenRead(archive), "application/zip", friendlyFileName)); }
public async Task <ActionResult> Index(TaskGroupsModel model) { if (!model.ProjectGuid.HasValue) { return(Redirect("/Home")); } model.Groups = await TaskGroupService.GetTaskGroupsAsync(model.ProjectGuid.GetValueOrDefault()); return(View(model)); }
public async Task <ActionResult> Rename(RenameModel model) { if (!model.ProjectGuid.HasValue) { return(Redirect("/Home")); } model.Groups = (await TaskGroupService.GetTaskGroupsAsync(model.ProjectGuid.GetValueOrDefault())) .Where(g => model.GroupIds.Contains(g.Id)); return(View(model)); }
public async Task <ActionResult> Clone(CloneModel model) { if (!model.ProjectGuid.HasValue) { return(Redirect("/Home")); } model.Groups = (await TaskGroupService.GetTaskGroupsAsync(model.ProjectGuid.GetValueOrDefault())) .Where(g => model.GroupIds.Contains(g.Id)); model.Projects = await GetProjectsSelectListItems(Guid.Empty); return(View(model)); }
public async Task <ActionResult> Rename_Post(RenameModel model) { if (!model.ProjectGuid.HasValue) { return(Redirect("/Home")); } foreach (var id in GetFormGroupIdList(Request.Form, "groupName")) { await TaskGroupService.RenameGroup(model.ProjectGuid.GetValueOrDefault(), id, Request.Form[$"groupName_{id}"]); } var projectName = await ProjectService.GetProjectNameAsync(model.ProjectGuid.GetValueOrDefault()); return(Redirect($"/TaskGroups?ProjectGuid={model.ProjectGuid}&ProjectName={projectName}")); }
public TaskGroupController(TaskGroupService service) { _service = service; }