110 lines
3.9 KiB
Transact-SQL
110 lines
3.9 KiB
Transact-SQL
SET ANSI_NULLS ON;
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.Onboarding_ManuscriptBuild_GetByPreview
|
|
@UserID int,
|
|
@PreviewID uniqueidentifier
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
DECLARE @BuildID int;
|
|
SELECT @BuildID = OnboardingManuscriptBuildID
|
|
FROM dbo.OnboardingManuscriptBuilds
|
|
WHERE PreviewID = @PreviewID
|
|
AND UserID = @UserID;
|
|
|
|
IF @BuildID IS NULL
|
|
RETURN;
|
|
|
|
SELECT OnboardingManuscriptBuildID AS BuildID, PreviewID, ProjectID, BookID, ManuscriptDocumentID, Status, MarkerStatus,
|
|
ChaptersCreated, ScenesCreated, CharactersCreated, CharactersReused, SceneAppearancesCreated,
|
|
CAST(1 AS bit) AS AlreadyBuilt,
|
|
CASE MarkerStatus
|
|
WHEN N'Completed' THEN N'This manuscript structure has already been built and saved.'
|
|
WHEN N'SaveNotRequired' THEN N'This manuscript structure has already been built; the expected Word markers were already present.'
|
|
WHEN N'UserConfirmedSave' THEN N'This manuscript structure has already been built and the Word save was confirmed.'
|
|
WHEN N'UserSaveRequired' THEN N'This manuscript structure has already been built. Save the Word document, then continue the import again.'
|
|
ELSE N'This manuscript structure has already been built into PlotDirector.'
|
|
END AS Message
|
|
FROM dbo.OnboardingManuscriptBuilds
|
|
WHERE OnboardingManuscriptBuildID = @BuildID;
|
|
|
|
SELECT TemporaryChapterKey, ChapterID
|
|
FROM dbo.OnboardingManuscriptBuildChapterMap
|
|
WHERE OnboardingManuscriptBuildID = @BuildID
|
|
ORDER BY TemporaryChapterKey;
|
|
|
|
SELECT TemporarySceneKey, SceneID
|
|
FROM dbo.OnboardingManuscriptBuildSceneMap
|
|
WHERE OnboardingManuscriptBuildID = @BuildID
|
|
ORDER BY TemporarySceneKey;
|
|
|
|
SELECT TemporaryCharacterKey, CharacterID, Created
|
|
FROM dbo.OnboardingManuscriptBuildCharacterMap
|
|
WHERE OnboardingManuscriptBuildID = @BuildID
|
|
ORDER BY TemporaryCharacterKey;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.Onboarding_ManuscriptBuild_MarkerSyncCompleted
|
|
@BuildID int,
|
|
@MarkerStatus nvarchar(40) = N'Completed',
|
|
@Message nvarchar(500) = NULL
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
IF @MarkerStatus NOT IN (N'Completed', N'SaveNotRequired', N'UserConfirmedSave')
|
|
SET @MarkerStatus = N'Completed';
|
|
|
|
UPDATE dbo.OnboardingManuscriptBuilds
|
|
SET MarkerStatus = @MarkerStatus,
|
|
MarkerSyncMessage = COALESCE(
|
|
LEFT(NULLIF(LTRIM(RTRIM(@Message)), N''), 500),
|
|
CASE @MarkerStatus
|
|
WHEN N'SaveNotRequired' THEN N'Scene markers already existed. No Word save was required.'
|
|
WHEN N'UserConfirmedSave' THEN N'Scene markers added; user confirmed the Word document was saved.'
|
|
ELSE N'Scene markers added and document saved.'
|
|
END),
|
|
MarkerSyncCompletedUtc = SYSUTCDATETIME(),
|
|
UpdatedUtc = SYSUTCDATETIME()
|
|
WHERE OnboardingManuscriptBuildID = @BuildID;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.Onboarding_ManuscriptBuild_MarkerSyncUserSaveRequired
|
|
@BuildID int,
|
|
@Message nvarchar(500) = NULL
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
UPDATE dbo.OnboardingManuscriptBuilds
|
|
SET MarkerStatus = N'UserSaveRequired',
|
|
MarkerSyncMessage = COALESCE(
|
|
LEFT(NULLIF(LTRIM(RTRIM(@Message)), N''), 500),
|
|
N'Scene markers have been added. Save the document in Word, then continue the import again.'),
|
|
UpdatedUtc = SYSUTCDATETIME()
|
|
WHERE OnboardingManuscriptBuildID = @BuildID;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.Onboarding_ManuscriptBuild_MarkerSyncFailed
|
|
@BuildID int,
|
|
@Message nvarchar(500) = NULL,
|
|
@Diagnostics nvarchar(max) = NULL
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
UPDATE dbo.OnboardingManuscriptBuilds
|
|
SET MarkerStatus = N'Failed',
|
|
MarkerSyncMessage = LEFT(NULLIF(LTRIM(RTRIM(@Message)), N''), 500),
|
|
UpdatedUtc = SYSUTCDATETIME()
|
|
WHERE OnboardingManuscriptBuildID = @BuildID;
|
|
END;
|
|
GO
|