USP_DATAFORMTEMPLATE_VIEW_ADDRESSPAGEDATA

The load procedure used by the view dataform template "Address Page Expression View Form"

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter used to load the fields defined on the form.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@ATTRIBUTEDEFINED bit INOUT ATTRIBUTEDEFINED
@CONSTITUENTID uniqueidentifier INOUT CONSTITUENTID
@CONSTITUENTNAME nvarchar(154) INOUT CONSTITUENTNAME
@ADDRESSTYPE nvarchar(200) INOUT ADDRESSTYPE
@ISFORMER bit INOUT ISFORMER
@ISGEOCODED bit INOUT ISGEOCODED
@PENDINGGEOCODE bit INOUT PENDINGGEOCODE
@INVALIDGEOCODE bit INOUT INVALIDGEOCODE
@MAPCONTEXTID nvarchar(108) INOUT MAPCONTEXTID
@MAPPINGCREDENTIALSEXIST bit INOUT MAPPINGCREDENTIALSEXIST
@USER_GRANTED_ADDRESS_GEOCODE bit INOUT USER_GRANTED_ADDRESS_GEOCODE
@USER_GRANTED_ADDRESS_DELETE_FOR_CONSTIT bit INOUT USER_GRANTED_ADDRESS_DELETE_FOR_CONSTIT
@USER_GRANTED_CONSTITUENT_MAPENTITY bit INOUT USER_GRANTED_CONSTITUENT_MAPENTITY
@SHOWCONTEXTLINK bit INOUT

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_ADDRESSPAGEDATA
(
  @ID uniqueidentifier,
  @CURRENTAPPUSERID uniqueidentifier,
  @DATALOADED bit = 0 output,
  @ATTRIBUTEDEFINED bit = null output,
  @CONSTITUENTID uniqueidentifier = null output,
  @CONSTITUENTNAME nvarchar(154) = null output,
  @ADDRESSTYPE nvarchar(200) = null output,
  @ISFORMER bit = null output,
  @ISGEOCODED bit = null output,
  @PENDINGGEOCODE bit = null output,
  @INVALIDGEOCODE bit = null output,
  @MAPCONTEXTID nvarchar(108) = null output,
  @MAPPINGCREDENTIALSEXIST bit = null output,
  @USER_GRANTED_ADDRESS_GEOCODE bit = null output,
  @USER_GRANTED_ADDRESS_DELETE_FOR_CONSTIT bit = null output,
  @USER_GRANTED_CONSTITUENT_MAPENTITY bit = null output,
  @SHOWCONTEXTLINK bit = null output
)
as
  set nocount on;

  declare @CURRENTDATE date = getdate();

  declare @MAPENTITYID uniqueidentifier = N'645E6BE7-459C-402b-A03C-67587CA72B94';

  if (dbo.UFN_INSTALLEDPRODUCTS_PRODUCTIS('6f77d512-d0d1-444f-9b46-b8603a6fe5f1') = 1)
    set @MAPENTITYID = N'78102CE5-F217-4429-9175-D99A6B55A4EE';


  select
    @DATALOADED = 1,
    @ATTRIBUTEDEFINED = dbo.UFN_ATTRIBUTECATEGORY_DEFINEDFORRECORDTYPE_FORAPPUSER('ADDRESS', @CURRENTAPPUSERID),
    @CONSTITUENTID = CONSTITUENT.ID,
    @CONSTITUENTNAME = CONSTITUENT.NAME,
    @ADDRESSTYPE = dbo.UFN_ADDRESSTYPECODE_GETDESCRIPTION(ADDRESS.ADDRESSTYPECODEID),
    @ISFORMER = case
      when ((ADDRESS.HISTORICALENDDATE is null) or (ADDRESS.HISTORICALENDDATE > @CURRENTDATE)) then 0
      else 1
    end,
    @ISGEOCODED = case
      when ADDRESSCOORDINATES.ID is null or ADDRESSCOORDINATES.PENDINGGEOCODE = 1 or ADDRESSCOORDINATES.INVALIDGEOCODE = 1 then 0
      else 1
    end,
    @PENDINGGEOCODE = case
      when ADDRESSCOORDINATES.ID is null then 0
      else ADDRESSCOORDINATES.PENDINGGEOCODE
    end,
    @INVALIDGEOCODE = case
      when ADDRESSCOORDINATES.ID is null then 0
      else ADDRESSCOORDINATES.INVALIDGEOCODE
    end,
    @MAPCONTEXTID = dbo.UFN_MAPPING_BUILDCONTEXTRECORDID(@MAPENTITYID, ADDRESS.CONSTITUENTID, ADDRESS.ID),
    --Checking that Installed products except RP
    @SHOWCONTEXTLINK = case
      when dbo.UFN_INSTALLEDPRODUCTS_PRODUCTIS('3117d2c8-7f46-42f2-abeb-b654f2f63046') = 1 or dbo.UFN_INSTALLEDPRODUCTS_PRODUCTIS('42c15648-749e-4859-a56d-3a6474814cc7') = 1 or dbo.UFN_INSTALLEDPRODUCTS_PRODUCTIS('bb9873d7-f1ed-430a-8ab4-f09f47056538') = 1 or dbo.UFN_INSTALLEDPRODUCTS_PRODUCTIS('f5ac53c4-d0ce-4e20-bca6-aacdfc01b302') = 1 then 1
      else 0
    end
  from
    dbo.ADDRESS
  inner join
    dbo.CONSTITUENT on CONSTITUENT.ID = ADDRESS.CONSTITUENTID
  left join
    dbo.ADDRESSCOORDINATES on ADDRESSCOORDINATES.ADDRESSID = ADDRESS.ID
  where
    ADDRESS.ID = @ID

  if @DATALOADED = 0
    return 0;

  --Mapping credentials
  set @MAPPINGCREDENTIALSEXIST = 0;

  select top 1
    @MAPPINGCREDENTIALSEXIST = 1
  from
    dbo.MAPPINGCREDENTIALS
  where
    len([KEY]) > 0;

  --Security access to operations
  if dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1
  begin
    set @USER_GRANTED_ADDRESS_GEOCODE = 1;
    set @USER_GRANTED_ADDRESS_DELETE_FOR_CONSTIT = 1;
    set @USER_GRANTED_CONSTITUENT_MAPENTITY = 1;
  end
  else
  begin
    set @USER_GRANTED_ADDRESS_GEOCODE = dbo.UFN_SECURITY_APPUSER_GRANTED_RECORDOPERATION_IN_SYSTEMROLE(@CURRENTAPPUSERID,'1783224D-E771-437F-AAE4-A3981AE84543');
    set @USER_GRANTED_ADDRESS_DELETE_FOR_CONSTIT = case
      when dbo.UFN_SECURITY_APPUSER_GRANTED_RECORDOPERATION_IN_SYSTEMROLE(@CURRENTAPPUSERID,'0C2D6552-EC7F-4923-A4AF-AFC53114C32B') = 1 and
        dbo.UFN_SECURITY_APPUSER_GRANTED_RECORDOPERATION_FORCONSTIT(@CURRENTAPPUSERID,'0C2D6552-EC7F-4923-A4AF-AFC53114C32B',@CONSTITUENTID) = 1 and
        (select count(*) from dbo.UFN_SITEID_MAPFROM_CONSTITUENTID(@CONSTITUENTID) as SITES
        where dbo.UFN_SECURITY_APPUSER_GRANTED_RECORDOPERATION_FORSITE(@CURRENTAPPUSERID, '0C2D6552-EC7F-4923-A4AF-AFC53114C32B', SITEID) = 1) > 0
      then 1
      else 0
    end;
    set @USER_GRANTED_CONSTITUENT_MAPENTITY = dbo.UFN_SECURITY_APPUSER_GRANTED_MAPENTITY_IN_SYSTEMROLE(@CURRENTAPPUSERID, @MAPENTITYID);
  end

return 0;