spCloneSite_Images
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SourceClientSitesID | int | IN | |
@TargetClientSitesID | int | IN | |
@CurrentUserID | int | IN | |
@CopyBatchGUID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure [dbo].[spCloneSite_Images]
(
@SourceClientSitesID int,
@TargetClientSitesID int,
@CurrentUserID int,
@CopyBatchGUID uniqueidentifier
)
as
begin
set nocount on;
begin transaction
INSERT INTO SiteImages
(ClientSitesID, Name, Category, FileName, UploadFileName, ImageType, ImageSize, ImageContent, Guid, OwnerID, Deleted, Type, FolderID, Caption, Approved, Private, Photographer, PhotoDateTaken, CreateDate, CopySourceID, CopyBatchGUID, URL)
SELECT
@TargetClientSitesID,
Name,
Category,
FileName,
UploadFileName,
ImageType,
ImageSize,
ImageContent,
newid(),
SiteImages.OwnerID,
SiteImages.Deleted,
SiteImages.Type,
isnull(SiteFolders.FolderID,0),
Caption,
Approved,
Private,
Photographer,
PhotoDateTaken,
getutcdate(),
SiteImages.ID,
@CopyBatchGUID,
URL
FROM dbo.SiteImages
LEFT JOIN dbo.SiteFolders ON SiteFolders.CopySourceID = SiteImages.FolderID AND SiteFolders.CopyBatchGuid = @CopyBatchGuid
LEFT OUTER JOIN
(select PAGEMODELITEM.OBJECTGUID
from dbo.PAGEMODELITEM
inner join dbo.PAGEMODEL on PAGEMODEL.ID = PAGEMODELITEM.PAGEMODELID
where PAGEMODEL.LOCKARTIFACTS = 1
) PMI on PMI.OBJECTGUID = SiteImages.Guid
WHERE
SiteImages.ClientSitesID = @SourceClientSitesID AND
SiteImages.Deleted = 0 AND
SiteImages.Type = 0 AND
PMI.OBJECTGUID is null
-- copy over the tags for the images we have just copied
insert into dbo.SITEIMAGETAG (
SITEIMAGEID,
TAGCODEID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
) select
imageNew.ID,
tag.TAGCODEID,
tag.ADDEDBYID,
tag.CHANGEDBYID,
tag.DATEADDED,
tag.DATECHANGED
from dbo.SITEIMAGETAG tag
inner join dbo.SITEIMAGES imageOld on tag.SITEIMAGEID = imageOld.ID
inner join dbo.SITEIMAGES imageNew on imageNew.CopySourceID = imageOld.ID and imageNew.CopyBatchGuid = @CopyBatchGuid
commit transaction
end