spCustomFormElement_AddUpdate
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | int | INOUT | |
@TypeID | int | IN | |
@SubTypeID | int | IN | |
@Title | nvarchar(200) | IN | |
@Label | nvarchar(max) | IN | |
@Description | nvarchar(1000) | IN | |
@Instruction | nvarchar(1000) | IN | |
@Guid | uniqueidentifier | IN | |
@FolderID | int | IN | |
@ParentID | uniqueidentifier | IN | |
@Sequence | int | IN | |
@DataSource | uniqueidentifier | IN | |
@OwnerID | int | IN | |
@Properties | xml | IN | |
@FieldTypeForValidation | int | IN | |
@MappingSchemaGuid | uniqueidentifier | IN | |
@MappingSchema | xml | IN | |
@DateCreated | datetime | IN | |
@IsComplete | bit | IN |
Definition
Copy
CREATE PROCEDURE [dbo].[spCustomFormElement_AddUpdate](
@ID int output,
@TypeID int,
@SubTypeID int,
@Title nvarchar(200),
@Label nvarchar(max),
@Description nvarchar(1000),
@Instruction nvarchar(1000),
@Guid uniqueidentifier,
@FolderID int,
@ParentID uniqueidentifier,
@Sequence int,
@DataSource uniqueidentifier,
@OwnerID int,
@Properties xml,
@FieldTypeForValidation int,
@MappingSchemaGuid uniqueidentifier,
@MappingSchema xml,
@DateCreated datetime,
@IsComplete bit
)
AS
BEGIN
SET @SubTypeID = nullif(@SubTypeID, dbo.fnGetIntMinValue())
SET @FolderID = nullif(@FolderID, dbo.fnGetIntMinValue())
SET @ParentID = nullif(@ParentID, dbo.fnGetGuidMinValue())
SET @DataSource = nullif(@DataSource, dbo.fnGetGuidMinValue())
SET @OwnerID = nullif(@OwnerID, dbo.fnGetIntMinValue())
SET @MappingSchemaGuid = nullif(@MappingSchemaGuid, dbo.fnGetGuidMinValue())
BEGIN TRANSACTION
UPDATE [dbo].[CustomFormElement]
SET
[TypeID] = @TypeId
,[SubTypeID] = @SubTypeId
,[Title] = @Title
,[Label] = @Label
,[Description] = @Description
,[Instruction] = @Instruction
,[Guid] = @Guid
,[ParentID] = @ParentID
,[Sequence] = @Sequence
,[Properties] = @Properties
,[FieldTypeForValidation] = @FieldTypeForValidation
,[DateCreated] = @DateCreated
,[IsComplete] = @IsComplete
WHERE CustomFormElement.ID = @ID or CustomFormElement.Guid = @Guid
IF @@ROWCOUNT = 0
BEGIN
INSERT INTO [dbo].[CustomFormElement]
(
[TypeID]
,[SubTypeID]
,[Title]
,[Label]
,[Description]
,[Instruction]
,[Guid]
,[ParentID]
,[Sequence]
,[OwnerID]
,[Properties]
,[FieldTypeForValidation]
,[DateCreated]
,[IsComplete]
)
VALUES
(
@TypeId
,@SubTypeId
,@Title
,@Label
,@Description
,@Instruction
,@Guid
,@ParentID
,@Sequence
,@OwnerID
,@Properties
,@FieldTypeForValidation
,@DateCreated
,@IsComplete
)
SELECT @ID = @@Identity
END
------ continue if adding / updating a FORM:
IF @TypeID = 1
BEGIN
-- 1. Store the Form Folder
-- delete: to handle pulling a form from a 0+ FolderID to 0
DELETE FROM [dbo].[CustomFormFolder]
WHERE CustomFormElementID = @ID
IF @FolderID IS NOT NULL AND @FolderID > 0
BEGIN
INSERT INTO [dbo].[CustomFormFolder]
(
[CustomFormElementID]
,[SiteFoldersID]
)
VALUES
(
@ID
,@FolderID
)
END
-- 2. Store the Form DataSource: None, Admission Office, etc.
IF @DataSource IS NOT NULL
BEGIN
UPDATE dbo.CustomFormDataSource
SET
DataSource = @DataSource
WHERE FormGuid = @Guid
IF @@ROWCOUNT = 0
BEGIN
INSERT INTO dbo.CustomFormDataSource
(
FormGuid,
DataSource
)
VALUES
(
@Guid,
@DataSource
)
END
END
-- 3. Store the Mapping Schema
IF @MappingSchemaGuid IS NOT NULL
BEGIN
UPDATE dbo.CustomFormMappingSchema
SET
FormGuid = @Guid
, MappingSchemaGuid = @MappingSchemaGuid
, MappingSchema = @MappingSchema
WHERE FormGuid = @Guid AND MappingSchemaGuid = @MappingSchemaGuid
IF @@ROWCOUNT = 0
BEGIN
INSERT INTO dbo.CustomFormMappingSchema
(
FormGuid
, MappingSchemaGuid
, MappingSchema
)
VALUES
(
@Guid,
@MappingSchemaGuid,
@MappingSchema
)
END
END
END
COMMIT TRANSACTION
END