Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
        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;
 }