USP_DATAFORMTEMPLATE_EDIT_ORGANIZATION
The save procedure used by the edit dataform template "Organization Data Edit 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. |
@ORGANIZATIONNAME | nvarchar(100) | IN | Name |
@INDUSTRYCODEID | uniqueidentifier | IN | Industry |
@NUMEMPLOYEES | int | IN | No. of employees |
@NUMSUBSIDIARIES | int | IN | No. of subsidiaries |
@PARENTCORPID | uniqueidentifier | IN | Parent org |
@PICTURE | varbinary | IN | Image |
@PICTURETHUMBNAIL | varbinary | IN | Image thumbnail |
@PICTURECHANGED | bit | IN | Picture changed? |
@WEBADDRESS | UDT_WEBADDRESS | IN | Website |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_ORGANIZATION
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@ORGANIZATIONNAME nvarchar(100),
@INDUSTRYCODEID uniqueidentifier,
@NUMEMPLOYEES int,
@NUMSUBSIDIARIES int,
@PARENTCORPID uniqueidentifier,
@PICTURE varbinary(max),
@PICTURETHUMBNAIL varbinary(max),
@PICTURECHANGED bit,
@WEBADDRESS dbo.UDT_WEBADDRESS
) as
set nocount on;
declare @KEYNAME nvarchar(100);
declare @KEYNAMEPREFIX nvarchar(50);
declare @CURRENTDATE datetime;
exec dbo.USP_PARSE_ORGANIZATION_NAME @ORGANIZATIONNAME, @KEYNAME output, @KEYNAMEPREFIX output;
if @NUMEMPLOYEES is null
set @NUMEMPLOYEES = 0;
if @NUMSUBSIDIARIES is null
set @NUMSUBSIDIARIES = 0;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
set @CURRENTDATE = getdate();
begin try
if @PICTURECHANGED = 1
update CONSTITUENT set
KEYNAME = @KEYNAME,
KEYNAMEPREFIX = @KEYNAMEPREFIX,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE,
PICTURE = @PICTURE,
PICTURETHUMBNAIL = @PICTURETHUMBNAIL,
WEBADDRESS = @WEBADDRESS
from
dbo.CONSTITUENT
where
CONSTITUENT.ID = @ID;
else
update CONSTITUENT set
KEYNAME = @KEYNAME,
KEYNAMEPREFIX = @KEYNAMEPREFIX,
WEBADDRESS = @WEBADDRESS,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
from
dbo.CONSTITUENT
where
CONSTITUENT.ID = @ID;
update dbo.ORGANIZATIONDATA SET
ORGANIZATIONDATA.INDUSTRYCODEID = @INDUSTRYCODEID,
ORGANIZATIONDATA.NUMEMPLOYEES = @NUMEMPLOYEES,
ORGANIZATIONDATA.NUMSUBSIDIARIES = @NUMSUBSIDIARIES,
ORGANIZATIONDATA.PARENTCORPID = @PARENTCORPID,
ORGANIZATIONDATA.CHANGEDBYID = @CHANGEAGENTID,
ORGANIZATIONDATA.DATECHANGED = @CURRENTDATE
from
dbo.ORGANIZATIONDATA
where
ORGANIZATIONDATA.ID = @ID ;
if @@rowcount = 0
insert into dbo.[ORGANIZATIONDATA]
(
[ID],
[INDUSTRYCODEID],
[NUMEMPLOYEES],
[NUMSUBSIDIARIES],
[PARENTCORPID],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
) values (
@ID,
@INDUSTRYCODEID,
@NUMEMPLOYEES,
@NUMSUBSIDIARIES,
@PARENTCORPID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;