예제 #1
0
        public IActionResult ProjectResourceModuleTab(ProjectModuleTabType tabType, long?resourceId)
        {
            if (resourceId == null)
            {
                return(BadRequest());
            }

            using (var client = GetRestClient())
            {
                switch (tabType)
                {
                case ProjectModuleTabType.ResourcePreview:
                    return(PartialView("Resource/_Preview"));

                case ProjectModuleTabType.ResourceDiscussion:
                    return(PartialView("Resource/_Discussion"));

                case ProjectModuleTabType.ResourceMetadata:
                    var resourceMetadata          = client.GetResourceMetadata(resourceId.Value);
                    var resourceMetadataViewModel = Mapper.Map <ProjectResourceMetadataViewModel>(resourceMetadata);
                    return(PartialView("Resource/_Metadata", resourceMetadataViewModel));

                default:
                    return(NotFound());
                }
            }
        }
예제 #2
0
        public IActionResult ProjectWorkModuleTab(ProjectModuleTabType tabType, long?projectId)
        {
            if (projectId == null)
            {
                return(BadRequest());
            }

            using (var client = GetRestClient())
            {
                switch (tabType)
                {
                case ProjectModuleTabType.WorkPublications:
                    var snapshotList          = client.GetSnapshotList(projectId.Value);
                    var publicationsViewModel = Mapper.Map <List <SnapshotViewModel> >(snapshotList);
                    return(PartialView("Work/_Publications", publicationsViewModel));

                case ProjectModuleTabType.WorkPageList:
                    return(PartialView("Work/_PageList"));

                case ProjectModuleTabType.WorkCooperation:
                    return(PartialView("Work/_Cooperation"));

                case ProjectModuleTabType.WorkMetadata:
                    var publishers          = client.GetPublisherList();
                    var literaryKinds       = client.GetLiteraryKindList();
                    var literaryGenres      = client.GetLitararyGenreList();
                    var responsibleTypes    = client.GetResponsibleTypeList();
                    var projectMetadata     = client.GetProjectMetadata(projectId.Value, true, true, true, true);
                    var workMetadaViewModel = Mapper.Map <ProjectWorkMetadataViewModel>(projectMetadata);
                    workMetadaViewModel.AllPublisherList       = publishers;
                    workMetadaViewModel.AllLiteraryKindList    = literaryKinds;
                    workMetadaViewModel.AllLiteraryGenreList   = literaryGenres;
                    workMetadaViewModel.AllResponsibleTypeList = Mapper.Map <List <ResponsibleTypeViewModel> >(responsibleTypes);
                    return(PartialView("Work/_Metadata", workMetadaViewModel));

                case ProjectModuleTabType.WorkHistory:
                    return(PartialView("Work/_History"));

                default:
                    return(NotFound());
                }
            }
        }
예제 #3
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());
            }
        }