Files
server/util/Setup/DbScripts/2018-03-21_00_AdminPortal.sql

94 lines
2.2 KiB
MySQL
Raw Normal View History

2018-03-21 17:41:14 -04:00
IF OBJECT_ID('[dbo].[User_Search]') IS NOT NULL
2018-03-21 16:24:10 -04:00
BEGIN
2018-03-21 17:41:14 -04:00
DROP PROCEDURE [dbo].[User_Search]
2018-03-21 16:24:10 -04:00
END
GO
2018-03-21 17:41:14 -04:00
CREATE PROCEDURE [dbo].[User_Search]
2018-03-21 16:24:10 -04:00
@Email NVARCHAR(50),
@Skip INT = 0,
@Take INT = 25
2018-03-24 19:56:48 -04:00
WITH RECOMPILE
2018-03-21 16:24:10 -04:00
AS
BEGIN
SET NOCOUNT ON
DECLARE @EmailLikeSearch NVARCHAR(55) = @Email + '%'
SELECT
*
FROM
[dbo].[UserView]
WHERE
(@Email IS NULL OR [Email] LIKE @EmailLikeSearch)
ORDER BY [Email] ASC
OFFSET @Skip ROWS
FETCH NEXT @Take ROWS ONLY
END
GO
2018-03-21 17:41:14 -04:00
IF OBJECT_ID('[dbo].[Organization_Search]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[Organization_Search]
END
GO
CREATE PROCEDURE [dbo].[Organization_Search]
@Name NVARCHAR(50),
@UserEmail NVARCHAR(50),
@Paid BIT,
@Skip INT = 0,
@Take INT = 25
2018-03-23 10:50:58 -04:00
WITH RECOMPILE
2018-03-21 17:41:14 -04:00
AS
BEGIN
SET NOCOUNT ON
DECLARE @NameLikeSearch NVARCHAR(55) = '%' + @Name + '%'
2018-03-22 21:10:10 -04:00
IF @UserEmail IS NOT NULL
BEGIN
SELECT
O.*
FROM
[dbo].[OrganizationView] O
INNER JOIN
[dbo].[OrganizationUser] OU ON O.[Id] = OU.[OrganizationId]
INNER JOIN
[dbo].[User] U ON U.[Id] = OU.[UserId]
WHERE
(@Name IS NULL OR O.[Name] LIKE @NameLikeSearch)
AND (@UserEmail IS NULL OR U.[Email] = @UserEmail)
AND
2018-03-21 17:41:14 -04:00
(
2018-03-22 21:10:10 -04:00
@Paid IS NULL OR
(
(@Paid = 1 AND O.[GatewaySubscriptionId] IS NOT NULL) OR
(@Paid = 0 AND O.[GatewaySubscriptionId] IS NULL)
)
2018-03-21 17:41:14 -04:00
)
2018-03-22 21:10:10 -04:00
ORDER BY O.[CreationDate] DESC
OFFSET @Skip ROWS
FETCH NEXT @Take ROWS ONLY
END
ELSE
BEGIN
SELECT
O.*
FROM
[dbo].[OrganizationView] O
WHERE
(@Name IS NULL OR O.[Name] LIKE @NameLikeSearch)
AND
(
@Paid IS NULL OR
(
(@Paid = 1 AND O.[GatewaySubscriptionId] IS NOT NULL) OR
(@Paid = 0 AND O.[GatewaySubscriptionId] IS NULL)
)
)
ORDER BY O.[CreationDate] DESC
OFFSET @Skip ROWS
FETCH NEXT @Take ROWS ONLY
END
2018-03-21 17:41:14 -04:00
END
GO