﻿-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date, ,>
-- Description:	<Description, ,>
-- =============================================
CREATE FUNCTION [dbo].[fds__getCompanyAddress]
(
	@companyid bigint
)
RETURNS nvarchar(1000)
AS
BEGIN
	DECLARE @locationid bigint,  @address nvarchar(1000);

	SELECT TOP(1) @locationid = cy.[Location#ID] from [dbo].[mfr__companies] as cy WHERE cy.id = @companyid;

	IF @locationid is null 
		SELECT TOP(1) @locationid = l.[ID], @address = [dbo].[fds__fn_combineAddress] (l.[AddressString], null, null
													  ,l.[Postal]
													  ,l.[City]
													  ,l.[State]
													  ,l.[Country])  FROM [mfr__#locations] as l JOIN [dbo].[mfr__companies] as cy on l.[Property] = 'Company:Location' AND l.[EntityId] = cy.[Id] WHERE cy.[id] = @companyid;

	-- Return the result of the function
	
	IF @address is null 
	SELECT TOP(1) @address = [dbo].[fds__fn_combineAddress] (loc.[AddressString], null, null
													  ,loc.[Postal]
													  ,loc.[City]
													  ,loc.[State]
													  ,loc.[Country]) 
					FROM [dbo].[mfr__#locations] as loc WHERE [id] = @locationid;

	RETURN @address;

END