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;