示例#1
0
        public IActionResult ChapterList(long projectId)
        {
            SetProjectPermissions(projectId);

            var projectClient          = GetProjectClient();
            var chapterList            = projectClient.GetChapterList(projectId);
            var pageList               = projectClient.GetAllPageList(projectId);
            var chapterEditorViewModel = new ChapterEditorViewModel
            {
                Chapters = Mapper.Map <List <ChapterHierarchyViewModel> >(chapterList),
                Pages    = Mapper.Map <List <PageViewModel> >(pageList)
            };

            return(PartialView("Work/SubView/_ChapterTable", chapterEditorViewModel));
        }
示例#2
0
        public IActionResult ProjectWorkModuleTab(ProjectModuleTabType tabType, long?projectId)
        {
            if (projectId == null)
            {
                return(BadRequest());
            }

            SetProjectPermissions(projectId.Value);

            var projectClient  = GetProjectClient();
            var codeListClient = GetCodeListClient();

            var search = string.Empty;
            var start  = 0;

            switch (tabType)
            {
            case ProjectModuleTabType.WorkPublications:
                var snapshotList = projectClient.GetSnapshotList(projectId.Value, start, PageSizes.SnapshotList, search);
                var listModel    = CreateListViewModel <SnapshotViewModel, SnapshotAggregatedInfoContract>(snapshotList, start, PageSizes.SnapshotList, search);
                var model        = new SnapshotListViewModel
                {
                    ProjectId   = projectId.Value,
                    ListWrapper = listModel,
                };
                return(PartialView("Work/_Publications", model));

            case ProjectModuleTabType.WorkPageList:
                var pages = projectClient.GetAllPageList(projectId.Value);
                return(PartialView("Work/_PageList", pages));

            case ProjectModuleTabType.WorkCooperation:
                var result = projectClient.GetUserGroupsByProject(projectId.Value, start, PageSizes.CooperationList, search);
                var cooperationViewModel = new ListViewModel <UserGroupContract>
                {
                    TotalCount  = result.TotalCount,
                    List        = result.List,
                    PageSize    = PageSizes.CooperationList,
                    Start       = start,
                    SearchQuery = search
                };

                return(PartialView("Work/_Cooperation", cooperationViewModel));

            case ProjectModuleTabType.WorkMetadata:
                var literaryOriginals     = codeListClient.GetLiteraryOriginalList();
                var responsibleTypes      = codeListClient.GetResponsibleTypeList();
                var projectMetadata       = projectClient.GetProjectMetadata(projectId.Value, true, true, false, false, true, false, false);
                var workMetadataViewModel = Mapper.Map <ProjectWorkMetadataViewModel>(projectMetadata);
                workMetadataViewModel.AllLiteraryOriginalList = literaryOriginals;
                workMetadataViewModel.AllResponsibleTypeList  = Mapper.Map <List <ResponsibleTypeViewModel> >(responsibleTypes);
                return(PartialView("Work/_Metadata", workMetadataViewModel));

            case ProjectModuleTabType.WorkCategorization:
                var literaryKinds               = codeListClient.GetLiteraryKindList();
                var literaryGenres              = codeListClient.GetLiteraryGenreList();
                var categories                  = codeListClient.GetCategoryList();
                var projectCategorization       = projectClient.GetProjectMetadata(projectId.Value, false, false, true, true, false, true, true);
                var projectGroup                = projectClient.GetProjectGroups(projectId.Value);
                var workCategorizationViewModel = Mapper.Map <ProjectWorkCategorizationViewModel>(projectCategorization);
                workCategorizationViewModel.AllLiteraryKindList  = literaryKinds;
                workCategorizationViewModel.AllLiteraryGenreList = literaryGenres;
                workCategorizationViewModel.AllCategoryList      = categories;
                workCategorizationViewModel.ProjectsInGroup      = Mapper.Map <IList <ProjectInfoViewModel> >(projectGroup?.Projects);
                return(PartialView("Work/_Categorization", workCategorizationViewModel));

            case ProjectModuleTabType.WorkChapters:
                var chapterList            = projectClient.GetChapterList(projectId.Value);
                var pageList               = projectClient.GetAllPageList(projectId.Value);
                var chapterEditorViewModel = new ChapterEditorViewModel
                {
                    Chapters = Mapper.Map <List <ChapterHierarchyViewModel> >(chapterList),
                    Pages    = Mapper.Map <List <PageViewModel> >(pageList)
                };
                return(PartialView("Work/_ChapterEditor", chapterEditorViewModel));

            case ProjectModuleTabType.WorkNote:
                return(PartialView("Work/_Note"));

            case ProjectModuleTabType.Forum:
                var            forum          = projectClient.GetForum(projectId.Value);
                ForumViewModel forumViewModel = null;
                if (forum != null)
                {
                    forumViewModel = Mapper.Map <ForumViewModel>(forum);
                }

                return(PartialView("Work/_Forum", forumViewModel));

            default:
                return(NotFound());
            }
        }