53 lines
1.5 KiB
Transact-SQL
53 lines
1.5 KiB
Transact-SQL
SET ANSI_NULLS ON;
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.WordCompanion_Runtime_CurrentScene_Validate
|
|
@UserID int,
|
|
@DocumentGuid uniqueidentifier,
|
|
@ProjectID int,
|
|
@BookID int,
|
|
@ChapterID int,
|
|
@SceneID int
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
IF @DocumentGuid IS NULL
|
|
OR @DocumentGuid = '00000000-0000-0000-0000-000000000000'
|
|
OR @ProjectID <= 0
|
|
OR @BookID <= 0
|
|
OR @ChapterID <= 0
|
|
OR @SceneID <= 0
|
|
RETURN;
|
|
|
|
SELECT p.ProjectID AS ProjectId,
|
|
b.BookID AS BookId,
|
|
c.ChapterID AS ChapterId,
|
|
s.SceneID AS SceneId,
|
|
CONCAT(N'/Scenes/Details/', s.SceneID) AS SceneUrl
|
|
FROM dbo.Projects p
|
|
INNER JOIN dbo.ProjectUserAccess pua ON pua.ProjectID = p.ProjectID
|
|
INNER JOIN dbo.Books b ON b.ProjectID = p.ProjectID
|
|
INNER JOIN dbo.Chapters c ON c.BookID = b.BookID
|
|
INNER JOIN dbo.Scenes s ON s.ChapterID = c.ChapterID
|
|
INNER JOIN dbo.ManuscriptDocuments md ON md.ProjectID = p.ProjectID
|
|
AND md.BookID = b.BookID
|
|
WHERE p.ProjectID = @ProjectID
|
|
AND b.BookID = @BookID
|
|
AND c.ChapterID = @ChapterID
|
|
AND s.SceneID = @SceneID
|
|
AND md.DocumentGuid = @DocumentGuid
|
|
AND md.IsActive = 1
|
|
AND s.IsLinkedToManuscript = 1
|
|
AND s.ManuscriptDocumentID = md.ManuscriptDocumentID
|
|
AND p.IsArchived = 0
|
|
AND b.IsArchived = 0
|
|
AND c.IsArchived = 0
|
|
AND s.IsArchived = 0
|
|
AND pua.UserID = @UserID
|
|
AND pua.IsActive = 1;
|
|
END;
|
|
GO
|