USP_DATAFORMTEMPLATE_EDITSAVE_COUNTRY_7

The save procedure used by the edit dataform template "Country Edit Form 4".

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.
@DESCRIPTION nvarchar(100) IN Description
@ABBREVIATION nvarchar(5) IN Abbreviation
@COUNTRYADDRESSFORMATID uniqueidentifier IN Address format
@INACTIVE bit IN Inactive
@ALLOWVALIDATION bit IN Allow address validation
@VALIDATIONCOUNTRYCODE tinyint IN Validate as
@ADDRESSLABEL nvarchar(25) IN Address label
@CITYLABEL nvarchar(25) IN City label
@REGIONLABEL nvarchar(25) IN State label
@POSTCODELABEL nvarchar(25) IN Postcode label
@DPCLABEL nvarchar(25) IN DPC label
@CARTLABEL nvarchar(25) IN CART label
@LOTLABEL nvarchar(25) IN LOT label
@COUNTYLABEL nvarchar(25) IN County label
@CONGRESSIONALDISTRICTLABEL nvarchar(25) IN Congressional district label
@STATEHOUSEDISTRICTLABEL nvarchar(25) IN State house district label
@STATESENATEDISTRICTLABEL nvarchar(25) IN State senate district label
@LOCALPRECINCTLABEL nvarchar(25) IN Local precinct label
@PHONEFORMATCODE tinyint IN Phone format
@COUNTRYCODE nvarchar(10) IN Phone country code
@ISO3166 nvarchar(2) IN ISO 3166 two-letter code

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITSAVE_COUNTRY_7
(
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @DESCRIPTION nvarchar(100),
    @ABBREVIATION nvarchar(5),
    @COUNTRYADDRESSFORMATID uniqueidentifier,
    @INACTIVE bit,
    @ALLOWVALIDATION bit,
    @VALIDATIONCOUNTRYCODE tinyint,
    @ADDRESSLABEL nvarchar(25),
    @CITYLABEL nvarchar(25),
    @REGIONLABEL nvarchar(25),
    @POSTCODELABEL nvarchar(25),
    @DPCLABEL nvarchar(25),
    @CARTLABEL nvarchar(25),
    @LOTLABEL nvarchar(25),
    @COUNTYLABEL nvarchar(25),
    @CONGRESSIONALDISTRICTLABEL nvarchar(25),
    @STATEHOUSEDISTRICTLABEL nvarchar(25),
    @STATESENATEDISTRICTLABEL nvarchar(25),
    @LOCALPRECINCTLABEL nvarchar(25),
    @PHONEFORMATCODE tinyint,
    @COUNTRYCODE nvarchar(10),
    @ISO3166 nvarchar(2)
)
AS

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

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

begin try

    -- Strip leading plus symbol from country code, if exists
    if @COUNTRYCODE like '+%'
        set @COUNTRYCODE = replace(@COUNTRYCODE, '+', '');

    update dbo.Country set
        DESCRIPTION = @DESCRIPTION,
        ABBREVIATION = @ABBREVIATION,
        COUNTRYADDRESSFORMATID = @COUNTRYADDRESSFORMATID,
        ACTIVE = ~ @INACTIVE,
        PHONEFORMATCODE = @PHONEFORMATCODE,
        CHANGEDBYID = @CHANGEAGENTID,
        DATECHANGED = @CURRENTDATE,
        COUNTRYCODE = @COUNTRYCODE,
        ISO3166 = @ISO3166
    where ID = @ID;

    update dbo.COUNTRYADDRESSLABEL
    set
        ADDRESSLABEL = @ADDRESSLABEL,
        CITYLABEL = @CITYLABEL,
        REGIONLABEL = @REGIONLABEL,
        POSTCODELABEL = @POSTCODELABEL,
        DPCLABEL = @DPCLABEL,
        CARTLABEL = @CARTLABEL,
        LOTLABEL = @LOTLABEL,
        COUNTYLABEL = @COUNTYLABEL,
        CONGRESSIONALDISTRICTLABEL = @CONGRESSIONALDISTRICTLABEL,
        STATEHOUSEDISTRICTLABEL = @STATEHOUSEDISTRICTLABEL,
        STATESENATEDISTRICTLABEL = @STATESENATEDISTRICTLABEL,
        LOCALPRECINCTLABEL = @LOCALPRECINCTLABEL,
        CHANGEDBYID = @CHANGEAGENTID,
        DATECHANGED = @CURRENTDATE
    where COUNTRYID=@ID

    if @@ROWCOUNT < 1
    begin
        insert into dbo.[COUNTRYADDRESSLABEL]
            ([ID],[COUNTRYID],[ADDRESSLABEL],[CITYLABEL],[REGIONLABEL],[POSTCODELABEL],[DPCLABEL],[CARTLABEL],[LOTLABEL],[COUNTYLABEL],[CONGRESSIONALDISTRICTLABEL],[STATEHOUSEDISTRICTLABEL],[STATESENATEDISTRICTLABEL],[LOCALPRECINCTLABEL],[ADDEDBYID],[CHANGEDBYID],[DATEADDED],[DATECHANGED])
        values
            (newid(),@ID,@ADDRESSLABEL,@CITYLABEL,@REGIONLABEL,@POSTCODELABEL,@DPCLABEL,@CARTLABEL,@LOTLABEL,@COUNTYLABEL,@CONGRESSIONALDISTRICTLABEL,@STATEHOUSEDISTRICTLABEL,@STATESENATEDISTRICTLABEL,@LOCALPRECINCTLABEL,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE);
    end

    if @VALIDATIONCOUNTRYCODE is null or @ALLOWVALIDATION = 0
        set @VALIDATIONCOUNTRYCODE = 0;

    if exists(select ID from dbo.COUNTRYVALIDATIONINFO where ID = @ID)
        update dbo.COUNTRYVALIDATIONINFO set
            ALLOWVALIDATION = @ALLOWVALIDATION,
            VALIDATIONCOUNTRYCODE = @VALIDATIONCOUNTRYCODE,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CURRENTDATE
        where ID = @ID;
    else
        insert into dbo.COUNTRYVALIDATIONINFO
            (ID, ALLOWVALIDATION, VALIDATIONCOUNTRYCODE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
        values
            (@ID, @ALLOWVALIDATION, @VALIDATIONCOUNTRYCODE, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);

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

return 0;