예제 #1
0
        public ResultContract CreateSnapshotResource(SnapshotPageIdsResourceContract snapshotPageIdsResourceContract)
        {
            var snapshotContract = m_snapshotResourceBuilder.GetSnapshotResourceFromPageIds(snapshotPageIdsResourceContract.OrderedPageIds);

            snapshotContract.SnapshotId = snapshotPageIdsResourceContract.SnapshotId;
            snapshotContract.ProjectId  = snapshotPageIdsResourceContract.ProjectId;
            MapToDatabaseMetadata(snapshotContract, snapshotPageIdsResourceContract.MetadataResource);

            var result = CreateSnapshotResource(snapshotContract);

            return(result);
        }
예제 #2
0
        public void CreateSnapshot(SnapshotPageIdsResourceContract snapshotResource)
        {
            try
            {
                m_client.Post <ResultContract>("snapshot", snapshotResource);
            }
            catch (HttpRequestException e)
            {
                if (m_logger.IsErrorEnabled())
                {
                    m_logger.LogError("{0} failed with {1}", m_client.GetCurrentMethod(), e);
                }

                throw;
            }
        }
예제 #3
0
        public void PublishSnapshot(long snapshotId, long projectId, List <string> externalPageIds,
                                    MetadataResource metadata)
        {
            var snapshotResource = new SnapshotPageIdsResourceContract
            {
                OrderedPageIds   = externalPageIds,
                SnapshotId       = snapshotId,
                ProjectId        = projectId,
                MetadataResource = new SnapshotMetadataResourceContract
                {
                    Title                = metadata.Title,
                    SubTitle             = metadata.SubTitle,
                    AuthorsLabel         = metadata.AuthorsLabel,
                    RelicAbbreviation    = metadata.RelicAbbreviation,
                    SourceAbbreviation   = metadata.SourceAbbreviation,
                    PublishPlace         = metadata.PublishPlace,
                    PublishDate          = metadata.PublishDate,
                    PublisherText        = metadata.PublisherText,
                    PublisherEmail       = metadata.PublisherEmail,
                    Copyright            = metadata.Copyright,
                    BiblText             = metadata.BiblText,
                    OriginDate           = metadata.OriginDate,
                    NotBefore            = metadata.NotBefore,
                    NotAfter             = metadata.NotAfter,
                    ManuscriptIdno       = metadata.ManuscriptIdno,
                    ManuscriptSettlement = metadata.ManuscriptSettlement,
                    ManuscriptCountry    = metadata.ManuscriptCountry,
                    ManuscriptRepository = metadata.ManuscriptRepository,
                    ManuscriptExtent     = metadata.ManuscriptExtent,
                    ManuscriptTitle      = metadata.ManuscriptTitle
                }
            };

            var client = m_communicationProvider.GetFulltextServiceClient();

            client.CreateSnapshot(snapshotResource);
        }
예제 #4
0
        public void CreateSnapshot(Snapshot snapshot, IList <TextResource> orderedTextResources, MetadataResource metadata)
        {
            var snapshotResource = new SnapshotPageIdsResourceContract
            {
                OrderedPageIds   = orderedTextResources.Select(x => x.ExternalId).ToList(),
                SnapshotId       = snapshot.Id,
                ProjectId        = snapshot.Project.Id,
                MetadataResource = new SnapshotMetadataResourceContract
                {
                    Title                = metadata.Title,
                    SubTitle             = metadata.SubTitle,
                    AuthorsLabel         = metadata.AuthorsLabel,
                    RelicAbbreviation    = metadata.RelicAbbreviation,
                    SourceAbbreviation   = metadata.SourceAbbreviation,
                    PublishPlace         = metadata.PublishPlace,
                    PublishDate          = metadata.PublishDate,
                    PublisherText        = metadata.PublisherText,
                    PublisherEmail       = metadata.PublisherEmail,
                    Copyright            = metadata.Copyright,
                    BiblText             = metadata.BiblText,
                    OriginDate           = metadata.OriginDate,
                    NotBefore            = metadata.NotBefore,
                    NotAfter             = metadata.NotAfter,
                    ManuscriptIdno       = metadata.ManuscriptIdno,
                    ManuscriptSettlement = metadata.ManuscriptSettlement,
                    ManuscriptCountry    = metadata.ManuscriptCountry,
                    ManuscriptRepository = metadata.ManuscriptRepository,
                    ManuscriptExtent     = metadata.ManuscriptExtent,
                    ManuscriptTitle      = metadata.ManuscriptTitle
                }
            };

            var fulltextServiceClient = m_communicationProvider.GetFulltextServiceClient();

            fulltextServiceClient.CreateSnapshot(snapshotResource);
        }
예제 #5
0
        public ResultContract CreateSnapshot([FromBody] SnapshotPageIdsResourceContract snapshotPageIdsResourceContract)
        {
            var result = m_snapshotResourceManager.CreateSnapshotResource(snapshotPageIdsResourceContract);

            return(result);
        }