mirror of
https://github.com/aaronpo97/the-biergarten-app.git
synced 2026-02-16 20:13:49 +00:00
Refactor repository and SQL procedures; add repo tests
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
CREATE OR ALTER PROCEDURE dbo.USP_CreateCity
|
||||
(
|
||||
CREATE OR ALTER PROCEDURE dbo.USP_CreateCity(
|
||||
@CityName NVARCHAR(100),
|
||||
@StateProvinceCode NVARCHAR(6)
|
||||
)
|
||||
@@ -8,23 +7,24 @@ BEGIN
|
||||
SET NOCOUNT ON;
|
||||
SET XACT_ABORT ON;
|
||||
|
||||
DECLARE @StateProvinceId UNIQUEIDENTIFIER = dbo.UDF_GetStateProvinceIdByCode(@StateProvinceCode);
|
||||
IF @StateProvinceId IS NULL
|
||||
BEGIN
|
||||
RAISERROR('State/province not found for code.', 16, 1);
|
||||
RETURN;
|
||||
END
|
||||
BEGIN TRANSACTION
|
||||
DECLARE @StateProvinceId UNIQUEIDENTIFIER = dbo.UDF_GetStateProvinceIdByCode(@StateProvinceCode);
|
||||
IF @StateProvinceId IS NULL
|
||||
BEGIN
|
||||
THROW 50001, 'State/province does not exist', 1;
|
||||
END
|
||||
|
||||
IF EXISTS (
|
||||
SELECT 1
|
||||
FROM dbo.City
|
||||
WHERE CityName = @CityName
|
||||
AND StateProvinceID = @StateProvinceId
|
||||
)
|
||||
RETURN;
|
||||
IF EXISTS (SELECT 1
|
||||
FROM dbo.City
|
||||
WHERE CityName = @CityName
|
||||
AND StateProvinceID = @StateProvinceId)
|
||||
BEGIN
|
||||
|
||||
INSERT INTO dbo.City
|
||||
(StateProvinceID, CityName)
|
||||
VALUES
|
||||
(@StateProvinceId, @CityName);
|
||||
THROW 50002, 'City already exists.', 1;
|
||||
END
|
||||
|
||||
INSERT INTO dbo.City
|
||||
(StateProvinceID, CityName)
|
||||
VALUES (@StateProvinceId, @CityName);
|
||||
COMMIT TRANSACTION
|
||||
END;
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
CREATE OR ALTER PROCEDURE dbo.USP_CreateCountry
|
||||
(
|
||||
CREATE OR ALTER PROCEDURE dbo.USP_CreateCountry(
|
||||
@CountryName NVARCHAR(100),
|
||||
@ISO3616_1 NVARCHAR(2)
|
||||
)
|
||||
@@ -7,16 +6,15 @@ AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
SET XACT_ABORT ON;
|
||||
BEGIN TRANSACTION;
|
||||
|
||||
IF EXISTS (
|
||||
SELECT 1
|
||||
FROM dbo.Country
|
||||
WHERE ISO3616_1 = @ISO3616_1
|
||||
)
|
||||
RETURN;
|
||||
IF EXISTS (SELECT 1
|
||||
FROM dbo.Country
|
||||
WHERE ISO3616_1 = @ISO3616_1)
|
||||
THROW 50001, 'Country already exists', 1;
|
||||
|
||||
INSERT INTO dbo.Country
|
||||
(CountryName, ISO3616_1)
|
||||
VALUES
|
||||
(@CountryName, @ISO3616_1);
|
||||
VALUES (@CountryName, @ISO3616_1);
|
||||
COMMIT TRANSACTION;
|
||||
END;
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
CREATE OR ALTER PROCEDURE dbo.USP_CreateStateProvince
|
||||
(
|
||||
CREATE OR ALTER PROCEDURE dbo.USP_CreateStateProvince(
|
||||
@StateProvinceName NVARCHAR(100),
|
||||
@ISO3616_2 NVARCHAR(6),
|
||||
@CountryCode NVARCHAR(2)
|
||||
@@ -9,22 +8,19 @@ BEGIN
|
||||
SET NOCOUNT ON;
|
||||
SET XACT_ABORT ON;
|
||||
|
||||
IF EXISTS (
|
||||
SELECT 1
|
||||
FROM dbo.StateProvince
|
||||
WHERE ISO3616_2 = @ISO3616_2
|
||||
)
|
||||
IF EXISTS (SELECT 1
|
||||
FROM dbo.StateProvince
|
||||
WHERE ISO3616_2 = @ISO3616_2)
|
||||
RETURN;
|
||||
|
||||
DECLARE @CountryId UNIQUEIDENTIFIER = dbo.UDF_GetCountryIdByCode(@CountryCode);
|
||||
IF @CountryId IS NULL
|
||||
BEGIN
|
||||
RAISERROR('Country not found for code.', 16, 1);
|
||||
RETURN;
|
||||
END
|
||||
BEGIN
|
||||
THROW 50001, 'Country does not exist', 1;
|
||||
|
||||
END
|
||||
|
||||
INSERT INTO dbo.StateProvince
|
||||
(StateProvinceName, ISO3616_2, CountryID)
|
||||
VALUES
|
||||
(@StateProvinceName, @ISO3616_2, @CountryId);
|
||||
VALUES (@StateProvinceName, @ISO3616_2, @CountryId);
|
||||
END;
|
||||
|
||||
Reference in New Issue
Block a user