USP_SMARTFIELD_EDITINSTANCE_2

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@NAME nvarchar(100) IN
@SMARTFIELDDATAFORMITEM xml IN
@USEVALUEGROUP bit IN
@SMARTFIELDVALUEGROUPS xml IN
@DATEVALUEGROUPUNITCODE tinyint IN
@SOURCEQUERYVIEWCATALOGID uniqueidentifier IN
@SITESSELECTED xml IN
@SITEFILTERENABLEDFORINSTANCE bit IN
@DESCRIPTION nvarchar(4000) IN
@CURRENTAPPUSERID uniqueidentifier IN
@FEATUREID uniqueidentifier IN
@FEATURETYPE tinyint IN
@CURRENCYID uniqueidentifier IN
@SMARTFIELDCATEGORYCODEID uniqueidentifier IN
@SHOWINFUNDRAISERONTHEGO bit IN

Definition

Copy


create procedure dbo.USP_SMARTFIELD_EDITINSTANCE_2
(
  @ID uniqueidentifier,
  @CHANGEAGENTID uniqueidentifier = null,
  @NAME nvarchar(100),
  @SMARTFIELDDATAFORMITEM xml,
  @USEVALUEGROUP bit,
  @SMARTFIELDVALUEGROUPS xml,
  @DATEVALUEGROUPUNITCODE tinyint = 0,
  @SOURCEQUERYVIEWCATALOGID uniqueidentifier = null,
  @SITESSELECTED xml = null,
  @SITEFILTERENABLEDFORINSTANCE bit = 0,
  @DESCRIPTION nvarchar(4000) = null,
  @CURRENTAPPUSERID uniqueidentifier = null,
  @FEATUREID uniqueidentifier = null,
  @FEATURETYPE tinyint = 0,
  @CURRENCYID uniqueidentifier = null,
  @SMARTFIELDCATEGORYCODEID uniqueidentifier = null,
  @SHOWINFUNDRAISERONTHEGO bit = 0
)
as
begin
  set nocount on;

  declare @CURRENTDATE datetime;
  set @CURRENTDATE = getdate();

  begin try
    if @CHANGEAGENTID is null
      exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

    update dbo.SMARTFIELD
    set
      NAME = @NAME,
      DESCRIPTION = isnull(@DESCRIPTION, DESCRIPTION),
      SMARTFIELDDATAFORMITEM = @SMARTFIELDDATAFORMITEM,
      USEVALUEGROUP = @USEVALUEGROUP,
      DATEVALUEGROUPUNITCODE = @DATEVALUEGROUPUNITCODE,
      CHANGEDBYID = @CHANGEAGENTID,
      DATECHANGED = @CURRENTDATE,
      SOURCEQUERYVIEWCATALOGID = @SOURCEQUERYVIEWCATALOGID,
      SITEFILTERENABLEDFORINSTANCE = @SITEFILTERENABLEDFORINSTANCE,
      CURRENCYID = @CURRENCYID,
      SMARTFIELDCATEGORYCODEID = @SMARTFIELDCATEGORYCODEID,
      SHOWINFUNDRAISERONTHEGO = @SHOWINFUNDRAISERONTHEGO
    where ID = @ID;

    set @SMARTFIELDVALUEGROUPS = dbo.UFN_SMARTFIELDVALUEGROUP_GETGROUPS_2_SETITEMLISTXMLDEFAULTVALUES(@SMARTFIELDVALUEGROUPS);
    exec dbo.USP_SMARTFIELDVALUEGROUP_GETGROUPS_2_UPDATEFROMXML @ID, @SMARTFIELDVALUEGROUPS, @CHANGEAGENTID, @CURRENTDATE;

    /* Update the smart field view. */
    exec dbo.USP_SMARTFIELD_UPDATESMARTFIELDVIEW @ID, @CHANGEAGENTID;

    if @SITEFILTERENABLEDFORINSTANCE = 1
    begin
      exec dbo.USP_SMARTFIELDSITES_GET_UPDATEFROMXML @ID, @SITESSELECTED, @CHANGEAGENTID, @CURRENTDATE
    end
    else
    begin
      declare @contextCache varbinary(128);
      set @contextCache = CONTEXT_INFO();
      set CONTEXT_INFO @CHANGEAGENTID;

      delete from dbo.SMARTFIELDSITE
      where SMARTFIELDID = @ID;

      if not @contextCache is null
        set CONTEXT_INFO @contextCache;
    end
  end try
  begin catch
    exec dbo.USP_RAISE_ERROR;
    return 1;
  end catch

  return 0;
end