You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
149 lines
2.8 KiB
149 lines
2.8 KiB
IF OBJECT_ID('[dbo].[TaxRate]') IS NULL |
|
BEGIN |
|
CREATE TABLE [dbo].[TaxRate] ( |
|
[Id] VARCHAR(40) NOT NULL, |
|
[Country] VARCHAR(50) NOT NULL, |
|
[State] VARCHAR(2) NULL, |
|
[PostalCode] VARCHAR(10) NOT NULL, |
|
[Rate] DECIMAL(5,2) NOT NULL, |
|
[Active] BIT NOT NULL, |
|
CONSTRAINT [PK_TaxRate] PRIMARY KEY CLUSTERED ([Id] ASC) |
|
); |
|
|
|
CREATE UNIQUE INDEX [IX_TaxRate_Country_PostalCode_Active_Uniqueness] |
|
ON [dbo].[TaxRate](Country, PostalCode) |
|
WHERE Active = 1; |
|
END |
|
GO |
|
|
|
IF OBJECT_ID('[dbo].[TaxRate_ReadById]') IS NOT NULL |
|
BEGIN |
|
DROP PROCEDURE [dbo].[TaxRate_ReadById] |
|
END |
|
GO |
|
|
|
CREATE PROCEDURE [dbo].[TaxRate_ReadById] |
|
@Id VARCHAR(40) |
|
AS |
|
BEGIN |
|
SET NOCOUNT ON |
|
|
|
SELECT * FROM [dbo].[TaxRate] |
|
WHERE Id = @Id |
|
END |
|
GO |
|
|
|
IF OBJECT_ID('[dbo].[TaxRate_Search]') IS NOT NULL |
|
BEGIN |
|
DROP PROCEDURE [dbo].[TaxRate_Search] |
|
END |
|
GO |
|
|
|
CREATE PROCEDURE [dbo].[TaxRate_Search] |
|
@Skip INT = 0, |
|
@Count INT = 25 |
|
AS |
|
BEGIN |
|
SET NOCOUNT ON |
|
|
|
SELECT * FROM [dbo].[TaxRate] |
|
WHERE Active = 1 |
|
ORDER BY Country, PostalCode DESC |
|
OFFSET @Skip ROWS |
|
FETCH NEXT @Count ROWS ONLY |
|
END |
|
GO |
|
|
|
IF OBJECT_ID('[dbo].[TaxRate_ReadAllActive]') IS NOT NULL |
|
BEGIN |
|
DROP PROCEDURE [dbo].[TaxRate_ReadAllActive] |
|
END |
|
GO |
|
|
|
CREATE PROCEDURE [dbo].[TaxRate_ReadAllActive] |
|
AS |
|
BEGIN |
|
SET NOCOUNT ON |
|
|
|
SELECT * FROM [dbo].[TaxRate] |
|
WHERE Active = 1 |
|
END |
|
GO |
|
|
|
IF OBJECT_ID('[dbo].[TaxRate_ReadByLocation]') IS NOT NULL |
|
BEGIN |
|
DROP PROCEDURE [dbo].[TaxRate_ReadByLocation] |
|
END |
|
GO |
|
|
|
CREATE PROCEDURE [dbo].[TaxRate_ReadByLocation] |
|
@Country VARCHAR(50), |
|
@PostalCode VARCHAR(10) |
|
AS |
|
BEGIN |
|
SET NOCOUNT ON |
|
|
|
SELECT * FROM [dbo].[TaxRate] |
|
WHERE Active = 1 |
|
AND [Country] = @Country |
|
AND [PostalCode] = @PostalCode |
|
END |
|
GO |
|
|
|
IF OBJECT_ID('[dbo].[TaxRate_Create]') IS NOT NULL |
|
BEGIN |
|
DROP PROCEDURE [dbo].[TaxRate_Create] |
|
END |
|
GO |
|
|
|
CREATE PROCEDURE [dbo].[TaxRate_Create] |
|
@Id VARCHAR(40), |
|
@Country VARCHAR(50), |
|
@State VARCHAR(2), |
|
@PostalCode VARCHAR(10), |
|
@Rate DECIMAL(5,2), |
|
@Active BIT |
|
AS |
|
BEGIN |
|
SET NOCOUNT ON |
|
|
|
INSERT INTO [dbo].[TaxRate] |
|
( |
|
[Id], |
|
[Country], |
|
[State], |
|
[PostalCode], |
|
[Rate], |
|
[Active] |
|
) |
|
VALUES |
|
( |
|
@Id, |
|
@Country, |
|
@State, |
|
@PostalCode, |
|
@Rate, |
|
1 |
|
) |
|
END |
|
GO |
|
|
|
IF OBJECT_ID('[dbo].[TaxRate_Archive]') IS NOT NULL |
|
BEGIN |
|
DROP PROCEDURE [dbo].[TaxRate_Archive] |
|
END |
|
GO |
|
|
|
CREATE PROCEDURE [dbo].[TaxRate_Archive] |
|
@Id VARCHAR(40) |
|
AS |
|
BEGIN |
|
SET NOCOUNT ON |
|
|
|
UPDATE |
|
[dbo].[TaxRate] |
|
SET |
|
[Active] = 0 |
|
WHERE |
|
[Id] = @Id |
|
END
|
|
|