USP_PARTIALINFORMATIONSEARCHCRITERIA_ADDORUPDATE
This procedure is used to add or update Prospect Quick Search criteria.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@SEARCHDATE | datetime | IN | |
@KEYNAME | nvarchar(100) | IN | |
@FIRSTNAME | nvarchar(50) | IN | |
@NICKNAME | nvarchar(50) | IN | |
@ADDRESSBLOCK | nvarchar(150) | IN | |
@UNITNUMBER | nvarchar(25) | IN | |
@CITY | nvarchar(50) | IN | |
@STATEID | uniqueidentifier | IN | |
@POSTCODE | nvarchar(50) | IN | |
@COMPANYNAME | nvarchar(100) | IN | |
@PHONENUMBER | nvarchar(100) | IN | |
@REALESTATESEARCH | bit | IN | |
@REALESTATEADDRESSSEARCHTYPECODE | tinyint | IN | |
@REALESTATESEARCHPROPERTYADDRESS | bit | IN | |
@REALESTATESEARCHMAILINGADDRESS | bit | IN | |
@REALESTATESEARCHBUYERADDRESS | bit | IN | |
@REALESTATESEARCHASSESSEEADDRESS | bit | IN | |
@BUSINESSOWNERSHIPSEARCH | bit | IN | |
@DATASOURCESEARCHTYPECODE | tinyint | IN |
Definition
Copy
CREATE procedure dbo.USP_PARTIALINFORMATIONSEARCHCRITERIA_ADDORUPDATE (
@ID uniqueidentifier = null output,
@CHANGEAGENTID uniqueidentifier = null,
@CURRENTAPPUSERID uniqueidentifier = null,
@SEARCHDATE datetime = null,
@KEYNAME nvarchar(100) = '',
@FIRSTNAME nvarchar(50) = '',
@NICKNAME nvarchar(50) = '',
@ADDRESSBLOCK nvarchar(150) = '',
@UNITNUMBER nvarchar(25) = '',
@CITY nvarchar(50) = '',
@STATEID uniqueidentifier = null,
@POSTCODE nvarchar(50) = '',
@COMPANYNAME nvarchar(100) = '',
@PHONENUMBER nvarchar(100) = '',
@REALESTATESEARCH bit = 0,
@REALESTATEADDRESSSEARCHTYPECODE tinyint = 0,
@REALESTATESEARCHPROPERTYADDRESS bit = 0,
@REALESTATESEARCHMAILINGADDRESS bit = 0,
@REALESTATESEARCHBUYERADDRESS bit = 0,
@REALESTATESEARCHASSESSEEADDRESS bit = 0,
@BUSINESSOWNERSHIPSEARCH bit = 0,
@DATASOURCESEARCHTYPECODE tinyint = 0
) as begin
set nocount on;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
--make sure we do not have any null strings
set @KEYNAME = coalesce(@KEYNAME, '');
set @FIRSTNAME = coalesce(@FIRSTNAME, '');
set @NICKNAME = coalesce(@NICKNAME, '');
set @ADDRESSBLOCK = coalesce(@ADDRESSBLOCK, '');
set @UNITNUMBER = coalesce(@UNITNUMBER, '');
set @CITY = coalesce(@CITY, '');
set @POSTCODE = coalesce(@POSTCODE, '');
set @COMPANYNAME = coalesce(@COMPANYNAME, '');
set @PHONENUMBER = coalesce(@PHONENUMBER, '');
set @REALESTATESEARCH = coalesce(@REALESTATESEARCH, 0);
set @REALESTATEADDRESSSEARCHTYPECODE = coalesce(@REALESTATEADDRESSSEARCHTYPECODE, 0);
set @REALESTATESEARCHPROPERTYADDRESS = coalesce(@REALESTATESEARCHPROPERTYADDRESS, 0);
set @REALESTATESEARCHMAILINGADDRESS = coalesce(@REALESTATESEARCHMAILINGADDRESS, 0);
set @REALESTATESEARCHBUYERADDRESS = coalesce(@REALESTATESEARCHBUYERADDRESS, 0);
set @REALESTATESEARCHASSESSEEADDRESS = coalesce(@REALESTATESEARCHASSESSEEADDRESS, 0);
set @BUSINESSOWNERSHIPSEARCH = coalesce(@BUSINESSOWNERSHIPSEARCH, 0);
set @DATASOURCESEARCHTYPECODE = coalesce(@DATASOURCESEARCHTYPECODE, 0);
--check as to whether the search criteria already exists for this application user
declare @EXISTINGID uniqueidentifier;
select
@EXISTINGID = PISC.[ID]
from
dbo.[PARTIALINFORMATIONSEARCHCRITERIA] PISC
where
PISC.[APPUSERID] = @CURRENTAPPUSERID and
PISC.[KEYNAME] = @KEYNAME and
PISC.[FIRSTNAME] = @FIRSTNAME and
PISC.[NICKNAME] = @NICKNAME and
PISC.[ADDRESSBLOCK] = @ADDRESSBLOCK and
PISC.[UNITNUMBER] = @UNITNUMBER and
PISC.[CITY] = @CITY and
(PISC.[STATEID] = @STATEID or (PISC.[STATEID] is null and @STATEID is null)) and
PISC.[POSTCODE] = @POSTCODE and
PISC.[COMPANYNAME] = @COMPANYNAME and
PISC.[PHONENUMBER] = @PHONENUMBER and
PISC.[REALESTATESEARCH] = @REALESTATESEARCH and
PISC.[REALESTATEADDRESSSEARCHTYPECODE] = @REALESTATEADDRESSSEARCHTYPECODE and
PISC.[REALESTATESEARCHPROPERTYADDRESS] = @REALESTATESEARCHPROPERTYADDRESS and
PISC.[REALESTATESEARCHMAILINGADDRESS] = @REALESTATESEARCHMAILINGADDRESS and
PISC.[REALESTATESEARCHBUYERADDRESS] = @REALESTATESEARCHBUYERADDRESS and
PISC.[REALESTATESEARCHASSESSEEADDRESS] = @REALESTATESEARCHASSESSEEADDRESS and
PISC.[BUSINESSOWNERSHIPSEARCH] = @BUSINESSOWNERSHIPSEARCH and
PISC.[DATASOURCESEARCHTYPECODE] = @DATASOURCESEARCHTYPECODE;
begin try
if @EXISTINGID is not null begin
set @ID = @EXISTINGID;
update
dbo.[PARTIALINFORMATIONSEARCHCRITERIA]
set
[SEARCHDATE] = @SEARCHDATE,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
where
[ID] = @ID;
end
else begin
if @ID is null
set @ID = newid();
insert into dbo.[PARTIALINFORMATIONSEARCHCRITERIA] (
[ID],
[APPUSERID],
[SEARCHDATE],
[KEYNAME],
[FIRSTNAME],
[NICKNAME],
[ADDRESSBLOCK],
[UNITNUMBER],
[CITY],
[STATEID],
[POSTCODE],
[COMPANYNAME],
[PHONENUMBER],
[REALESTATESEARCH],
[REALESTATEADDRESSSEARCHTYPECODE],
[REALESTATESEARCHPROPERTYADDRESS],
[REALESTATESEARCHMAILINGADDRESS],
[REALESTATESEARCHBUYERADDRESS],
[REALESTATESEARCHASSESSEEADDRESS],
[BUSINESSOWNERSHIPSEARCH],
[DATASOURCESEARCHTYPECODE],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values (
@ID,
@CURRENTAPPUSERID,
@SEARCHDATE,
@KEYNAME,
@FIRSTNAME,
@NICKNAME,
@ADDRESSBLOCK,
@UNITNUMBER,
@CITY,
@STATEID,
@POSTCODE,
@COMPANYNAME,
@PHONENUMBER,
@REALESTATESEARCH,
@REALESTATEADDRESSSEARCHTYPECODE,
@REALESTATESEARCHPROPERTYADDRESS,
@REALESTATESEARCHMAILINGADDRESS,
@REALESTATESEARCHBUYERADDRESS,
@REALESTATESEARCHASSESSEEADDRESS,
@BUSINESSOWNERSHIPSEARCH,
@DATASOURCESEARCHTYPECODE,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end
--remove old searches
declare @SAVEDSEARCHESPERAPPUSER integer;
select top 1
@SAVEDSEARCHESPERAPPUSER = PISC.[SAVEDSEARCHESPERAPPUSER]
from
dbo.[PARTIALINFORMATIONSEARCHCONFIGURATION] PISC;
--we want a default value of 100 if no row exists
set @SAVEDSEARCHESPERAPPUSER = coalesce(@SAVEDSEARCHESPERAPPUSER, 100);
delete
dbo.[PARTIALINFORMATIONSEARCHCRITERIA]
from
dbo.[PARTIALINFORMATIONSEARCHCRITERIA]
where
[APPUSERID] = @CURRENTAPPUSERID and
[ID] not in (
select top (@SAVEDSEARCHESPERAPPUSER)
PISC.[ID]
from
dbo.[PARTIALINFORMATIONSEARCHCRITERIA] PISC
where
PISC.[APPUSERID] = @CURRENTAPPUSERID
order by
PISC.[SEARCHDATE] desc
)
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;
end