CREATE PROCEDURE [dbo].[Search] (
@CompanyName VARCHAR(150) = NULL
,@CountryName VARCHAR(50) = NULL
,@StateName VARCHAR(50) = NULL
,@CityName VARCHAR(50) = NULL
,@AddressType VARCHAR(10) = NULL
,@zip VARCHAR(20) = NULL
,@OrderId VARCHAR(50) = NULL
)
AS
BEGIN
IF (LEN(@CountryName) = 0)
BEGIN
SET @CountryName = NULL
END
ELSE
BEGIN
SET @CountryName = '%' + @CountryName + '%'
END
IF (LEN(@OrderId) = 0)
BEGIN
SET @OrderId = NULL
END
IF (LEN(@StateName) = 0)
BEGIN
SET @StateName = NULL
END
ELSE
BEGIN
SET @StateName = '%' + @StateName + '%'
END
IF (LEN(@CityName) = 0)
BEGIN
SET @CityName = NULL
END
ELSE
BEGIN
SET @CityName = '%' + @CityName + '%'
END
IF (LEN(@CompanyName) = 0)
BEGIN
SET @CompanyName = NULL
END
ELSE
BEGIN
SET @CompanyName = '%' + @CompanyName + '%'
END
IF (LEN(@zip) = 0)
BEGIN
SET @zip = NULL
END
PRINT @AddressType
PRINT ISNULL(@AddressType, '@@@@AddressType is null')
SELECT Address1
,Address2
,City
,ZIP
,Phone
,Email
,AddressType
,cntc.CountryId
,CompanyName
,StateId
,OrderId
,CountryName
,ContactsId
,'Contact' AS TypeTable
FROM Contacts cntc WITH (NOLOCK)
INNER JOIN Country cntry WITH (NOLOCK) ON cntc.CountryId = cntry.CountryId
WHERE ISNULL(CompanyName, '') LIKE COALESCE(@CompanyName, CompanyName, '')
AND ISNULL(CountryName, '') LIKE COALESCE(@CountryName, CountryName, '')
AND ISNULL(StateId, '') LIKE COALESCE(@StateName, StateId, '')
AND ISNULL(City, '') LIKE COALESCE(@CityName, City, '')
AND ISNULL(ZIP, '') = COALESCE(@zip, ZIP, '')
AND OrderId = coalesce(@OrderId ,OrderId,''')
END
@CompanyName VARCHAR(150) = NULL
,@CountryName VARCHAR(50) = NULL
,@StateName VARCHAR(50) = NULL
,@CityName VARCHAR(50) = NULL
,@AddressType VARCHAR(10) = NULL
,@zip VARCHAR(20) = NULL
,@OrderId VARCHAR(50) = NULL
)
AS
BEGIN
IF (LEN(@CountryName) = 0)
BEGIN
SET @CountryName = NULL
END
ELSE
BEGIN
SET @CountryName = '%' + @CountryName + '%'
END
IF (LEN(@OrderId) = 0)
BEGIN
SET @OrderId = NULL
END
IF (LEN(@StateName) = 0)
BEGIN
SET @StateName = NULL
END
ELSE
BEGIN
SET @StateName = '%' + @StateName + '%'
END
IF (LEN(@CityName) = 0)
BEGIN
SET @CityName = NULL
END
ELSE
BEGIN
SET @CityName = '%' + @CityName + '%'
END
IF (LEN(@CompanyName) = 0)
BEGIN
SET @CompanyName = NULL
END
ELSE
BEGIN
SET @CompanyName = '%' + @CompanyName + '%'
END
IF (LEN(@zip) = 0)
BEGIN
SET @zip = NULL
END
PRINT @AddressType
PRINT ISNULL(@AddressType, '@@@@AddressType is null')
SELECT Address1
,Address2
,City
,ZIP
,Phone
,AddressType
,cntc.CountryId
,CompanyName
,StateId
,OrderId
,CountryName
,ContactsId
,'Contact' AS TypeTable
FROM Contacts cntc WITH (NOLOCK)
INNER JOIN Country cntry WITH (NOLOCK) ON cntc.CountryId = cntry.CountryId
WHERE ISNULL(CompanyName, '') LIKE COALESCE(@CompanyName, CompanyName, '')
AND ISNULL(CountryName, '') LIKE COALESCE(@CountryName, CountryName, '')
AND ISNULL(StateId, '') LIKE COALESCE(@StateName, StateId, '')
AND ISNULL(City, '') LIKE COALESCE(@CityName, City, '')
AND ISNULL(ZIP, '') = COALESCE(@zip, ZIP, '')
AND OrderId = coalesce(@OrderId ,OrderId,''')
END

