USP_DATAFORMTEMPLATE_EDIT_FAF_GROUP

The save procedure used by the edit dataform template "FAF Group Edit Data Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@GROUPNAME nvarchar(100) IN Group name
@GROUPPAGEURL nvarchar(100) IN Group page URL
@PARENTGROUPID uniqueidentifier IN Parent group
@ORGANIZATIONID uniqueidentifier IN Organization
@FUNDRAISINGGOAL money IN Minimum fundraising goal
@TARGETFUNDRAISINGGOAL money IN Target fundraising goal
@PARTICIPANTRECRUITMENTGOAL int IN Number of participants to recruit
@DONORRETENTIONGOAL decimal(5, 2) IN Percentage of donors to retain
@COMMUNICATIONGOAL int IN Number of communications to send
@TEAMMEMBERSGOAL int IN Number of team members
@TEAMMEMBERSRETENTIONGOAL decimal(5, 2) IN Percentage of team members to retain
@TEAMSGOAL int IN Number of teams
@TEAMRETENTIONGOAL decimal(5, 2) IN Percentage of teams to retain
@GROUPVANITYID int IN
@GROUPPAGEURLORIGINAL nvarchar(100) IN

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_FAF_GROUP (
      @ID uniqueidentifier,
      @CHANGEAGENTID uniqueidentifier = null,
      @GROUPNAME nvarchar(100) ,
    @GROUPPAGEURL nvarchar(100),
    @PARENTGROUPID uniqueidentifier ,  
    @ORGANIZATIONID uniqueidentifier ,
    @FUNDRAISINGGOAL money ,
    @TARGETFUNDRAISINGGOAL money ,
    @PARTICIPANTRECRUITMENTGOAL int,
    @DONORRETENTIONGOAL decimal(5,2),
    @COMMUNICATIONGOAL int,    
    @TEAMMEMBERSGOAL int ,
      @TEAMMEMBERSRETENTIONGOAL decimal(5,2),
      @TEAMSGOAL int,
    @TEAMRETENTIONGOAL decimal(5,2),
      @GROUPVANITYID int,
    @GROUPPAGEURLORIGINAL nvarchar(100)
)
as

    set nocount on;

    if @CHANGEAGENTID is null  
        exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

    declare @CURRENTDATE datetime
    set @CURRENTDATE = getdate()

  declare @RELATIONSHIPTYPECODEID uniqueidentifier
  declare @RECIPROCALTYPECODEID uniqueidentifier
  declare @TEAMCONSTITUENTID uniqueidentifier
  declare @CURRENTORGID uniqueidentifier
  declare @RELATIONSHIPID uniqueidentifier
  declare @GROUPCODE tinyint

  SELECT @TEAMCONSTITUENTID = TEAMCONSTITUENTID, @GROUPCODE = TYPECODE from dbo.TEAMEXTENSION (NOLOCK) WHERE TEAMFUNDRAISINGTEAMID = @ID   

  SELECT @RELATIONSHIPTYPECODEID = ID from dbo.RELATIONSHIPTYPECODE (NOLOCK) WHERE DESCRIPTION = 'FAF Organization'

  IF @GROUPCODE = 1
  SELECT @RECIPROCALTYPECODEID = ID from dbo.RELATIONSHIPTYPECODE (NOLOCK) WHERE DESCRIPTION = 'FAF Team'

  IF @GROUPCODE = 2
  SELECT @RECIPROCALTYPECODEID = ID from dbo.RELATIONSHIPTYPECODE (NOLOCK) WHERE DESCRIPTION = 'FAF Company'

  SELECT @RELATIONSHIPID = R.ID, @CURRENTORGID = R.RELATIONSHIPCONSTITUENTID
  FROM dbo.RELATIONSHIP R (NOLOCK) 
            WHERE R.RELATIONSHIPTYPECODEID = @RELATIONSHIPTYPECODEID and RECIPROCALCONSTITUENTID = @TEAMCONSTITUENTID

    begin try
        -- handle updating the data
         if @GROUPPAGEURL <> @GROUPPAGEURLORIGINAL
      update dbo.[VanityURL]
        set VanityURL = @GROUPPAGEURL,
        DATECHANGED = @CURRENTDATE
        where ID = @GROUPVANITYID  


     update dbo.TEAMFUNDRAISINGTEAM       
      set 
        NAME = @GROUPNAME,
        GOAL = @FUNDRAISINGGOAL,
        PARENTTEAMID = @PARENTGROUPID,
        DATECHANGED = @CURRENTDATE,
        CHANGEDBYID = @CHANGEAGENTID
     where ID = @ID

      update dbo.TEAMEXTENSION
      set PARTICIPANTGOAL = @PARTICIPANTRECRUITMENTGOAL,
          TEAMMEMBERGOAL = @TEAMMEMBERSGOAL,
          PCTTEAMMEMBERRETENSION = @TEAMMEMBERSRETENTIONGOAL,
          TEAMRECRUITMENTGOAL = @TEAMSGOAL,
          PCTTEAMSRETENSION =  @TEAMRETENTIONGOAL,
          COMMUNICATIONGOAL = @COMMUNICATIONGOAL,
          DATECHANGED = @CURRENTDATE,
          CHANGEDBYID = @CHANGEAGENTID
      where TEAMFUNDRAISINGTEAMID = @ID   

      IF @ORGANIZATIONID IS NOT NULL AND @GROUPCODE IN (1,2)
      BEGIN

          IF @CURRENTORGID IS NULL      
            EXEC dbo.USP_DATAFORMTEMPLATE_ADD_ORGTOGROUP_RELATIONSHIP 
                          @ID = null
                          @CHANGEAGENTID = @CHANGEAGENTID,
                          @CONSTITUENTID = @ORGANIZATIONID,
                          @RECIPROCALCONSTITUENTID = @TEAMCONSTITUENTID,
                          @RELATIONSHIPTYPECODEID = @RELATIONSHIPTYPECODEID,
                          @RECIPROCALTYPECODEID = @RECIPROCALTYPECODEID,
                          @COMMENTS = ''

          ELSE
          BEGIN

              UPDATE dbo.RELATIONSHIP 
              SET RELATIONSHIPCONSTITUENTID = @ORGANIZATIONID, DATECHANGED = @CURRENTDATE, CHANGEDBYID = @CHANGEAGENTID
                    WHERE RELATIONSHIPTYPECODEID = @RELATIONSHIPTYPECODEID and RECIPROCALCONSTITUENTID = @TEAMCONSTITUENTID

              UPDATE dbo.RELATIONSHIP 
              SET RECIPROCALCONSTITUENTID = @ORGANIZATIONID, DATECHANGED = @CURRENTDATE, CHANGEDBYID = @CHANGEAGENTID
                    WHERE RELATIONSHIPTYPECODEID = @RECIPROCALTYPECODEID and RELATIONSHIPCONSTITUENTID = @TEAMCONSTITUENTID

              exec dbo.USP_RELATIONSHIPCONFIGURATION_CONFIGURE 
                                @ORGANIZATIONID
                                @TEAMCONSTITUENTID
                                @RELATIONSHIPTYPECODEID
                                @RECIPROCALTYPECODEID
                                @CHANGEAGENTID
                                @CURRENTDATE        


          END


      END
    end try
    begin catch
        exec dbo.USP_RAISE_ERROR
        return 1
    end catch

return 0;