public IActionResult NewSnapshot(NewPublicationViewModel viewModel) { var client = GetSnapshotClient(); var versionIds = new List <long>(); foreach (var resource in viewModel.ResourceTypes) { if (resource.ResourceList != null) { versionIds.AddRange(resource.ResourceList.Where(x => x.IsSelected).Select(x => x.ResourceVersionId).ToList()); } } var createSnapshotContract = new CreateSnapshotContract { BookTypes = viewModel.PublishBookTypes.Where(x => x.IsSelected).Select(x => x.BookType).ToList(), DefaultBookType = viewModel.DefaultBookType, ResourceVersionIds = versionIds, Comment = viewModel.Comment, ProjectId = viewModel.ProjectId }; client.CreateSnapshot(createSnapshotContract); return(RedirectToAction("Project", "Project", new { id = viewModel.ProjectId })); }
public long CreateSnapshot(CreateSnapshotContract data) { var userId = m_authenticationManager.GetCurrentUserId(); var bookTypes = m_mapper.Map <IList <BookTypeEnum> >(data.BookTypes); var defaultBookTypes = m_mapper.Map <BookTypeEnum>(data.DefaultBookType); var projectInfo = m_projectRepository.InvokeUnitOfWork(x => x.GetProject(data.ProjectId)); var fulltextStorage = m_fulltextStorageProvider.GetFulltextStorage(projectInfo.ProjectType); var snapshotId = new CreateSnapshotWork(m_projectRepository, m_resourceRepository, data.ProjectId, userId, data.ResourceVersionIds, data.Comment, bookTypes, defaultBookTypes, fulltextStorage).Execute(); return(snapshotId); }
public long CreateSnapshot(CreateSnapshotContract createSnapshotContract) { try { var snapshotId = m_client.Post <long>($"{BasePath}", createSnapshotContract); return(snapshotId); } catch (HttpRequestException e) { if (m_logger.IsErrorEnabled()) { m_logger.LogError("{0} failed with {1}", m_client.GetCurrentMethod(), e); } throw; } }
public long CreateSnapshot([FromBody] CreateSnapshotContract data) { m_authorizationManager.AuthorizeBook(data.ProjectId, PermissionFlag.EditProject); return(m_snapshotManager.CreateSnapshot(data)); }