USP_DATAFORMTEMPLATE_EDIT_BIOGRAPHICALDEMOGRAPHIC2

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@FIRSTNAME nvarchar(100) IN
@MIDDLENAME nvarchar(100) IN
@LASTNAME nvarchar(100) IN
@SUFFIXCODEID uniqueidentifier IN
@TITLECODEID uniqueidentifier IN
@BIRTHDATE UDT_FUZZYDATE IN
@MARITALSTATUSCODEID uniqueidentifier IN
@OCCUPATION nvarchar(100) IN
@CNOTES nvarchar(1024) IN
@HHMEMBERS xml IN

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_BIOGRAPHICALDEMOGRAPHIC2
(
      @ID uniqueidentifier,
      @CHANGEAGENTID uniqueidentifier = null,
      @FIRSTNAME nvarchar(100),
    @MIDDLENAME nvarchar(100),
    @LASTNAME nvarchar(100),
      @SUFFIXCODEID uniqueidentifier,
    @TITLECODEID uniqueidentifier,
    @BIRTHDATE dbo.UDT_FUZZYDATE,
    @MARITALSTATUSCODEID uniqueidentifier,
    @OCCUPATION nvarchar(100),
    @CNOTES nvarchar(1024),
    @HHMEMBERS xml
)
as

    set nocount on;

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

    declare @CURRENTDATE datetime
    set @CURRENTDATE = getdate()


  begin try

    declare @FULLNAME nvarchar(500);
    declare @EMPTYGUID uniqueidentifier = '00000000-0000-0000-0000-000000000000';

      if not exists(select * from dbo.WPBIOGRAPHICALDEMOGRAPHIC
                    where ID = @ID
                        and @FIRSTNAME = FIRSTNAME
                        and @MIDDLENAME = MIDDLENAME
                        and @LASTNAME = LASTNAME
                        and COALESCE(@SUFFIXCODEID,@EMPTYGUID) = COALESCE(SUFFIXCODEID,@EMPTYGUID)
                        and COALESCE(@TITLECODEID,@EMPTYGUID) = COALESCE(TITLECODEID,@EMPTYGUID)
              )
      begin
          set @FULLNAME = 
              case @TITLECODEID when null then '' else dbo.UFN_TITLECODE_GETDESCRIPTION(@TITLECODEID) + ' ' end
              +
              case @FIRSTNAME when '' then '' else @FIRSTNAME + ' ' end 
              +
              case @MIDDLENAME when '' then '' else @MIDDLENAME + ' ' end
              +
              case @LASTNAME when '' then '' else @LASTNAME end
              +
              case @SUFFIXCODEID when null then '' else ' ' + dbo.UFN_SUFFIXCODE_GETDESCRIPTION(@SUFFIXCODEID) end
      end

    update dbo.WPBIOGRAPHICALDEMOGRAPHIC set
      FULLNAME = COALESCE(NULLIF(@FULLNAME,''),FULLNAME),
      FIRSTNAME = @FIRSTNAME,
          MIDDLENAME = @MIDDLENAME,
      LASTNAME = @LASTNAME,
      SUFFIXCODEID = @SUFFIXCODEID,
      TITLECODEID = @TITLECODEID,
      BIRTHDATE = @BIRTHDATE,
      MARITALSTATUSCODEID = @MARITALSTATUSCODEID,
      OCCUPATION = @OCCUPATION,
      CNOTES = @CNOTES,
      CHANGEDBYID = @CHANGEAGENTID,
      DATECHANGED = @CURRENTDATE
    where ID = @ID;

    --Insert HHMembers
    exec dbo.USP_WPBIOGRAPHICAL_GETHHMEMBERS_UPDATEFROMXML @ID, @HHMEMBERS, @CHANGEAGENTID;

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

return 0;