From 1d85917260d32ae97c421f59175f6676b5cb8df9 Mon Sep 17 00:00:00 2001 From: Jovan Popovic Date: Tue, 6 Feb 2018 09:54:40 +0100 Subject: [PATCH 01/22] Added WWI Website views and procedures Added new views and procedures for WWI WebSite: 1. Views that expose main entities 2. Create, Update, and Delete procedures for WWI tables. --- .../Stored Procedures/BuyingGroupsDelete.sql | 7 +++ .../BuyingGroupsInsertFromJson.sql | 9 +++ .../BuyingGroupsUpdateFromJson.sql | 12 ++++ .../Stored Procedures/CitiesDelete.sql | 6 ++ .../CitiesInsertFromJson.sql | 12 ++++ .../CitiesUpdateFromJson.sql | 17 +++++ .../Stored Procedures/ColorsDelete.sql | 7 +++ .../ColorsInsertFromJson.sql | 9 +++ .../ColorsUpdateFromJson.sql | 12 ++++ .../Stored Procedures/CountriesDelete.sql | 6 ++ .../CountriesInsertFromJson.sql | 18 ++++++ .../CountriesUpdateFromJson.sql | 27 ++++++++ .../CustomerCategoriesDelete.sql | 9 +++ .../CustomerCategoriesInsertFromJson.sql | 12 ++++ .../CustomerCategoriesUpdateFromJson.sql | 14 +++++ .../CustomerTransactionsUpdateFromJson.sql | 28 +++++++++ .../Stored Procedures/CustomersDelete.sql | 6 ++ .../CustomersInsertFromJson.sql | 35 +++++++++++ .../CustomersUpdateFromJson.sql | 62 +++++++++++++++++++ .../DeliveryMethodsDelete.sql | 9 +++ .../DeliveryMethodsInsertFromJson.sql | 9 +++ .../DeliveryMethodsUpdateFromJson.sql | 12 ++++ .../InvoicesUpdateFromJson.sql | 39 ++++++++++++ .../Stored Procedures/PackageTypesDelete.sql | 7 +++ .../PackageTypesInsertFromJson.sql | 9 +++ .../PackageTypesUpdateFromJson.sql | 12 ++++ .../PaymentMethodsDelete.sql | 6 ++ .../PaymentMethodsInsertFromJson.sql | 9 +++ .../PaymentMethodsUpdateFromJson.sql | 12 ++++ .../PurchaseOrdersUpdateFromJson.sql | 23 +++++++ .../SalesOrdersUpdateFromJson.sql | 28 +++++++++ .../SpecialDealsUpdateFromJson.sql | 32 ++++++++++ .../StateProvincesDelete.sql | 6 ++ .../StateProvincesInsertFromJson.sql | 14 +++++ .../StateProvincesUpdateFromJson.sql | 21 +++++++ .../Stored Procedures/StockGroupsDelete.sql | 6 ++ .../StockGroupsInsertFromJson.sql | 9 +++ .../StockGroupsUpdateFromJson.sql | 12 ++++ .../Stored Procedures/StockItemsDelete.sql | 6 ++ .../StockItemsInsertFromJson.sql | 28 +++++++++ .../StockItemsUpdateFromJson.sql | 50 +++++++++++++++ .../SupplierCategoriesDelete.sql | 6 ++ .../SupplierCategoriesInsertFromJson.sql | 9 +++ .../SupplierCategoriesUpdateFromJson.sql | 12 ++++ .../SupplierTransactionsUpdateFromJson.sql | 32 ++++++++++ .../Stored Procedures/SuppliersDelete.sql | 6 ++ .../SuppliersInsertFromJson.sql | 34 ++++++++++ .../SuppliersUpdateFromJson.sql | 59 ++++++++++++++++++ .../TransactionTypesDelete.sql | 6 ++ .../TransactionTypesInsertFromJson.sql | 9 +++ .../TransactionTypesUpdateFromJson.sql | 12 ++++ .../UpdateInvoicesFromJson.sql | 39 ++++++++++++ .../wwi-ssdt/Website/Views/Cities.sql | 12 ++++ .../Website/Views/CustomerTransactions.sql | 11 ++++ .../wwi-ssdt/Website/Views/Invoices.sql | 11 ++++ .../wwi-ssdt/Website/Views/SpecialDeals.sql | 12 ++++ .../wwi-ssdt/Website/Views/StateProvinces.sql | 18 ++++++ .../wwi-ssdt/Website/Views/StockItems.sql | 16 +++++ .../Website/Views/SupplierTransactions.sql | 10 +++ 59 files changed, 981 insertions(+) create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/BuyingGroupsDelete.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/BuyingGroupsInsertFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/BuyingGroupsUpdateFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CitiesDelete.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CitiesInsertFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CitiesUpdateFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/ColorsDelete.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/ColorsInsertFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/ColorsUpdateFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CountriesDelete.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CountriesInsertFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CountriesUpdateFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomerCategoriesDelete.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomerCategoriesInsertFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomerCategoriesUpdateFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomerTransactionsUpdateFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomersDelete.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomersInsertFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomersUpdateFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/DeliveryMethodsDelete.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/DeliveryMethodsInsertFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/DeliveryMethodsUpdateFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/InvoicesUpdateFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PackageTypesDelete.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PackageTypesInsertFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PackageTypesUpdateFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PaymentMethodsDelete.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PaymentMethodsInsertFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PaymentMethodsUpdateFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PurchaseOrdersUpdateFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SalesOrdersUpdateFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SpecialDealsUpdateFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StateProvincesDelete.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StateProvincesInsertFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StateProvincesUpdateFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockGroupsDelete.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockGroupsInsertFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockGroupsUpdateFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockItemsDelete.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockItemsInsertFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockItemsUpdateFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SupplierCategoriesDelete.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SupplierCategoriesInsertFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SupplierCategoriesUpdateFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SupplierTransactionsUpdateFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SuppliersDelete.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SuppliersInsertFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SuppliersUpdateFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/TransactionTypesDelete.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/TransactionTypesInsertFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/TransactionTypesUpdateFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/UpdateInvoicesFromJson.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/Cities.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/CustomerTransactions.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/Invoices.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/SpecialDeals.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/StateProvinces.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/StockItems.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/SupplierTransactions.sql diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/BuyingGroupsDelete.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/BuyingGroupsDelete.sql new file mode 100644 index 00000000..b27cf967 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/BuyingGroupsDelete.sql @@ -0,0 +1,7 @@ + +CREATE PROCEDURE [Website].[BuyingGroupsDelete](@BuyingGroupID int) +WITH EXECUTE AS OWNER +AS BEGIN + DELETE Sales.BuyingGroups + WHERE BuyingGroupID = @BuyingGroupID +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/BuyingGroupsInsertFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/BuyingGroupsInsertFromJson.sql new file mode 100644 index 00000000..5bceef8b --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/BuyingGroupsInsertFromJson.sql @@ -0,0 +1,9 @@ +CREATE PROCEDURE [Website].[BuyingGroupsInsertFromJson](@BuyingGroupsJson NVARCHAR(MAX), @UserID int) +WITH EXECUTE AS OWNER +AS BEGIN + INSERT INTO Sales.BuyingGroups(BuyingGroupName,LastEditedBy) + OUTPUT INSERTED.BuyingGroupID + SELECT BuyingGroupName,@UserID + FROM OPENJSON(@BuyingGroupsJson) + WITH (BuyingGroupName nvarchar(50)) +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/BuyingGroupsUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/BuyingGroupsUpdateFromJson.sql new file mode 100644 index 00000000..cbe08b45 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/BuyingGroupsUpdateFromJson.sql @@ -0,0 +1,12 @@ +CREATE PROCEDURE [Website].[BuyingGroupsUpdateFromJson](@BuyingGroupsJson NVARCHAR(MAX), @BuyingGroupID int,@UserID int) +WITH EXECUTE AS OWNER +AS BEGIN + UPDATE Sales.BuyingGroups SET + BuyingGroupName = json.BuyingGroupName, + LastEditedBy = @UserID + FROM OPENJSON (@BuyingGroupsJson) + WITH (BuyingGroupName nvarchar(50)) as json + WHERE + Sales.BuyingGroups.BuyingGroupID = @BuyingGroupID + +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CitiesDelete.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CitiesDelete.sql new file mode 100644 index 00000000..52067b8b --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CitiesDelete.sql @@ -0,0 +1,6 @@ +CREATE PROCEDURE Website.CitiesDelete(@CityID int) +WITH EXECUTE AS OWNER +AS BEGIN + DELETE Application.Cities + WHERE CityID = @CityID +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CitiesInsertFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CitiesInsertFromJson.sql new file mode 100644 index 00000000..aee720f2 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CitiesInsertFromJson.sql @@ -0,0 +1,12 @@ +CREATE PROCEDURE Website.CitiesInsertFromJson(@CitiesJson NVARCHAR(MAX), @UserID int) +WITH EXECUTE AS OWNER +AS BEGIN + INSERT INTO Application.Cities(CityName,StateProvinceID,LatestRecordedPopulation,LastEditedBy) + OUTPUT INSERTED.CityID + SELECT CityName,StateProvinceID,LatestRecordedPopulation,@UserID + FROM OPENJSON(@CitiesJson) + WITH ( + CityName nvarchar(50) N'strict $.CityName', + StateProvinceID int N'strict $.StateProvinceID', + LatestRecordedPopulation bigint) +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CitiesUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CitiesUpdateFromJson.sql new file mode 100644 index 00000000..3310b20f --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CitiesUpdateFromJson.sql @@ -0,0 +1,17 @@ +CREATE PROCEDURE [Website].[CitiesUpdateFromJson](@CitiesJson NVARCHAR(MAX), @CityID int,@UserID int) +WITH EXECUTE AS OWNER +AS BEGIN + UPDATE Application.Cities SET + CityName = json.CityName, + StateProvinceID = json.StateProvinceID, + LatestRecordedPopulation = json.LatestRecordedPopulation, + LastEditedBy = @UserID + FROM OPENJSON (@CitiesJson) + WITH ( + CityName nvarchar(50) N'strict $.CityName', + StateProvinceID int N'strict $.StateProvinceID', + LatestRecordedPopulation bigint) as json + WHERE + Application.Cities.CityID = @CityID + +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/ColorsDelete.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/ColorsDelete.sql new file mode 100644 index 00000000..b8c06154 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/ColorsDelete.sql @@ -0,0 +1,7 @@ + +CREATE PROCEDURE [Website].[ColorsDelete](@ColorID int) +WITH EXECUTE AS OWNER +AS BEGIN + DELETE Warehouse.Colors + WHERE ColorID = @ColorID +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/ColorsInsertFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/ColorsInsertFromJson.sql new file mode 100644 index 00000000..b8c86a7b --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/ColorsInsertFromJson.sql @@ -0,0 +1,9 @@ +CREATE PROCEDURE [Website].[ColorsInsertFromJson](@ColorsJson NVARCHAR(MAX), @UserID int) +WITH EXECUTE AS OWNER +AS BEGIN + INSERT INTO Warehouse.Colors(ColorName,LastEditedBy) + OUTPUT INSERTED.ColorID + SELECT ColorName,@UserID + FROM OPENJSON(@ColorsJson) + WITH (ColorName nvarchar(50)) +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/ColorsUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/ColorsUpdateFromJson.sql new file mode 100644 index 00000000..43f7c30c --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/ColorsUpdateFromJson.sql @@ -0,0 +1,12 @@ +CREATE PROCEDURE [Website].[ColorsUpdateFromJson](@ColorsJson NVARCHAR(MAX), @ColorID int,@UserID int) +WITH EXECUTE AS OWNER +AS BEGIN + UPDATE Warehouse.Colors SET + ColorName = json.ColorName, + LastEditedBy = @UserID + FROM OPENJSON (@ColorsJson) + WITH (ColorName nvarchar(50)) as json + WHERE + Warehouse.Colors.ColorID = @ColorID + +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CountriesDelete.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CountriesDelete.sql new file mode 100644 index 00000000..811722c8 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CountriesDelete.sql @@ -0,0 +1,6 @@ +CREATE PROCEDURE Website.CountriesDelete(@CountryID int) +WITH EXECUTE AS OWNER +AS BEGIN + DELETE Application.Countries + WHERE CountryID = @CountryID; +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CountriesInsertFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CountriesInsertFromJson.sql new file mode 100644 index 00000000..23780698 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CountriesInsertFromJson.sql @@ -0,0 +1,18 @@ +CREATE PROCEDURE [Website].[CountriesInsertFromJson](@Countries NVARCHAR(MAX), @UserID int) +WITH EXECUTE AS OWNER +AS BEGIN + INSERT INTO Application.Countries(CountryName,FormalName,IsoAlpha3Code,IsoNumericCode,CountryType,LatestRecordedPopulation,Continent,Region,Subregion, LastEditedBy) + OUTPUT INSERTED.CountryID + SELECT CountryName,FormalName,IsoAlpha3Code,IsoNumericCode,CountryType,LatestRecordedPopulation,Continent,Region,Subregion, @UserID + FROM OPENJSON (@Countries) + WITH ( + CountryName nvarchar(60) N'strict $.CountryName', + FormalName nvarchar(60) N'strict $.FormalName', + IsoAlpha3Code nvarchar(3), + IsoNumericCode int, + CountryType nvarchar(20), + LatestRecordedPopulation bigint, + Continent nvarchar(30) N'strict $.Continent', + Region nvarchar(30) N'strict $.Region', + Subregion nvarchar(30) N'strict $.Subregion') +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CountriesUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CountriesUpdateFromJson.sql new file mode 100644 index 00000000..fac3d343 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CountriesUpdateFromJson.sql @@ -0,0 +1,27 @@ +CREATE PROCEDURE [Website].[CountriesUpdateFromJson](@Countries NVARCHAR(MAX), @CountryID int, @UserID int) +WITH EXECUTE AS OWNER +AS BEGIN UPDATE Application.Countries SET + CountryName = json.CountryName, + FormalName = json.FormalName, + IsoAlpha3Code = json.IsoAlpha3Code, + IsoNumericCode = json.IsoNumericCode, + CountryType = json.CountryType, + LatestRecordedPopulation = json.LatestRecordedPopulation, + Continent = json.Continent, + Region = json.Region, + Subregion = json.Subregion, + LastEditedBy = @UserID + FROM OPENJSON (@Countries) + WITH ( + CountryName nvarchar(60) N'strict $.CountryName', + FormalName nvarchar(60) N'strict $.FormalName', + IsoAlpha3Code nvarchar(3), + IsoNumericCode int, + CountryType nvarchar(20), + LatestRecordedPopulation bigint, + Continent nvarchar(30) N'strict $.Continent', + Region nvarchar(30) N'strict $.Region', + Subregion nvarchar(30) N'strict $.Subregion') as json + WHERE + Application.Countries.CountryID = @CountryID +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomerCategoriesDelete.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomerCategoriesDelete.sql new file mode 100644 index 00000000..b50eb73d --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomerCategoriesDelete.sql @@ -0,0 +1,9 @@ + + + +CREATE PROCEDURE [Website].[CustomerCategoriesDelete](@CustomerCategoryID int) +WITH EXECUTE AS OWNER +AS BEGIN + DELETE Sales.CustomerCategories + WHERE CustomerCategoryID = @CustomerCategoryID +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomerCategoriesInsertFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomerCategoriesInsertFromJson.sql new file mode 100644 index 00000000..89452182 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomerCategoriesInsertFromJson.sql @@ -0,0 +1,12 @@ + + + +CREATE PROCEDURE [Website].[CustomerCategoriesInsertFromJson](@CustomerCategoriesJson NVARCHAR(MAX), @UserID int) +WITH EXECUTE AS OWNER +AS BEGIN + INSERT INTO Sales.CustomerCategories(CustomerCategoryName,LastEditedBy) + OUTPUT INSERTED.CustomerCategoryID + SELECT CustomerCategoryName,@UserID + FROM OPENJSON(@CustomerCategoriesJson) + WITH (CustomerCategoryName nvarchar(50)) +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomerCategoriesUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomerCategoriesUpdateFromJson.sql new file mode 100644 index 00000000..da3bd9a9 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomerCategoriesUpdateFromJson.sql @@ -0,0 +1,14 @@ + + +CREATE PROCEDURE [Website].[CustomerCategoriesUpdateFromJson](@CustomerCategoriesJson NVARCHAR(MAX), @CustomerCategoryID int, @UserID int) +WITH EXECUTE AS OWNER +AS BEGIN + UPDATE Sales.CustomerCategories SET + CustomerCategoryName = json.CustomerCategoryName, + LastEditedBy = @UserID + FROM OPENJSON (@CustomerCategoriesJson) + WITH (CustomerCategoryName nvarchar(50)) as json + WHERE + Sales.CustomerCategories.CustomerCategoryID = @CustomerCategoryID + +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomerTransactionsUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomerTransactionsUpdateFromJson.sql new file mode 100644 index 00000000..3b1c8a15 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomerTransactionsUpdateFromJson.sql @@ -0,0 +1,28 @@ +CREATE PROCEDURE Website.CustomerTransactionsUpdateFromJson(@CustomerTransactionsJson NVARCHAR(MAX), @CustomerTransactionID int, @UserID int) +WITH EXECUTE AS OWNER +AS BEGIN + UPDATE Sales.CustomerTransactions SET + TransactionTypeID = ISNULL(json.TransactionTypeID, Sales.CustomerTransactions.TransactionTypeID), + PaymentMethodID = ISNULL(json.PaymentMethodID, Sales.CustomerTransactions.PaymentMethodID), + TransactionDate = ISNULL(json.TransactionDate, Sales.CustomerTransactions.TransactionDate), + AmountExcludingTax = ISNULL(json.AmountExcludingTax, Sales.CustomerTransactions.AmountExcludingTax), + TaxAmount = ISNULL(json.TaxAmount, Sales.CustomerTransactions.TaxAmount), + TransactionAmount = ISNULL(json.TransactionAmount, Sales.CustomerTransactions.TransactionAmount), + OutstandingBalance = ISNULL(json.OutstandingBalance, Sales.CustomerTransactions.OutstandingBalance), + FinalizationDate = ISNULL(json.FinalizationDate, Sales.CustomerTransactions.FinalizationDate), + LastEditedBy = @UserID + FROM OPENJSON(@CustomerTransactionsJson) + WITH ( + TransactionTypeID int, + PaymentMethodID int, + TransactionDate date, + FinalizationDate date, + AmountExcludingTax decimal(18,2), + TaxAmount decimal(18,2), + TransactionAmount decimal(18,2), + OutstandingBalance decimal(18,2) + ) as json + WHERE + Sales.CustomerTransactions.CustomerTransactionID = @CustomerTransactionID + +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomersDelete.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomersDelete.sql new file mode 100644 index 00000000..8ffb383e --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomersDelete.sql @@ -0,0 +1,6 @@ +CREATE PROCEDURE Website.CustomersDelete(@CustomerID int) +WITH EXECUTE AS OWNER +AS BEGIN + DELETE Sales.Customers + WHERE CustomerID = @CustomerID; +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomersInsertFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomersInsertFromJson.sql new file mode 100644 index 00000000..df85234b --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomersInsertFromJson.sql @@ -0,0 +1,35 @@ +CREATE PROCEDURE [Website].[CustomersInsertFromJson](@Customers NVARCHAR(MAX), @UserID int) +WITH EXECUTE AS OWNER +AS BEGIN + INSERT INTO Sales.Customers(CustomerName,BillToCustomerID,CustomerCategoryID,BuyingGroupID,PrimaryContactPersonID,AlternateContactPersonID,DeliveryMethodID,DeliveryCityID,PostalCityID,CreditLimit,AccountOpenedDate,StandardDiscountPercentage,IsStatementSent,IsOnCreditHold,PaymentDays,PhoneNumber,FaxNumber,DeliveryRun,RunPosition,WebsiteURL,DeliveryAddressLine1,DeliveryAddressLine2,DeliveryPostalCode,PostalAddressLine1,PostalAddressLine2,PostalPostalCode,LastEditedBy) + OUTPUT INSERTED.CustomerID + SELECT CustomerName,BillToCustomerID,CustomerCategoryID,BuyingGroupID,PrimaryContactPersonID,AlternateContactPersonID,DeliveryMethodID,DeliveryCityID,PostalCityID,CreditLimit,AccountOpenedDate,StandardDiscountPercentage,IsStatementSent,IsOnCreditHold,PaymentDays,PhoneNumber,FaxNumber,DeliveryRun,RunPosition,WebsiteURL,DeliveryAddressLine1,DeliveryAddressLine2,DeliveryPostalCode,PostalAddressLine1,PostalAddressLine2,PostalPostalCode,@UserID + FROM OPENJSON (@Customers) + WITH ( + CustomerName nvarchar(100) N'strict $.CustomerName', + BillToCustomerID int N'strict $.BillToCustomerID', + CustomerCategoryID int N'strict $.CustomerCategoryID', + BuyingGroupID int, + PrimaryContactPersonID int N'strict $.PrimaryContactPersonID', + AlternateContactPersonID int, + DeliveryMethodID int N'strict $.DeliveryMethodID', + DeliveryCityID int N'strict $.DeliveryCityID', + PostalCityID int N'strict $.PostalCityID', + CreditLimit decimal(18,2), + AccountOpenedDate date N'strict $.AccountOpenedDate', + StandardDiscountPercentage decimal(18,3) N'strict $.StandardDiscountPercentage', + IsStatementSent bit N'strict $.IsStatementSent', + IsOnCreditHold bit N'strict $.IsOnCreditHold', + PaymentDays int N'strict $.PaymentDays', + PhoneNumber nvarchar(20) N'strict $.PhoneNumber', + FaxNumber nvarchar(20) N'strict $.FaxNumber', + DeliveryRun nvarchar(5), + RunPosition nvarchar(5), + WebsiteURL nvarchar(256) N'strict $.WebsiteURL', + DeliveryAddressLine1 nvarchar(60) N'strict $.DeliveryAddressLine1', + DeliveryAddressLine2 nvarchar(60), + DeliveryPostalCode nvarchar(10) N'strict $.DeliveryPostalCode', + PostalAddressLine1 nvarchar(60) N'strict $.PostalAddressLine1', + PostalAddressLine2 nvarchar(60), + PostalPostalCode nvarchar(10) N'strict $.PostalPostalCode') +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomersUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomersUpdateFromJson.sql new file mode 100644 index 00000000..010a3ccc --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomersUpdateFromJson.sql @@ -0,0 +1,62 @@ +CREATE PROCEDURE [Website].[CustomersUpdateFromJson](@Customers NVARCHAR(MAX), @CustomerID int, @UserID int) +WITH EXECUTE AS OWNER +AS BEGIN + UPDATE Sales.Customers SET + CustomerName = ISNULL(json.CustomerName, Sales.Customers.CustomerName), + BillToCustomerID = ISNULL(json.BillToCustomerID, Sales.Customers.BillToCustomerID), + CustomerCategoryID = ISNULL(json.CustomerCategoryID, Sales.Customers.CustomerCategoryID), + BuyingGroupID = json.BuyingGroupID, + PrimaryContactPersonID = ISNULL(json.PrimaryContactPersonID, Sales.Customers.PrimaryContactPersonID), + AlternateContactPersonID = ISNULL(json.AlternateContactPersonID, Sales.Customers.AlternateContactPersonID), + DeliveryMethodID = ISNULL(json.DeliveryMethodID, Sales.Customers.DeliveryMethodID), + DeliveryCityID = ISNULL(json.DeliveryCityID, Sales.Customers.DeliveryCityID), + PostalCityID = ISNULL(json.PostalCityID, Sales.Customers.PostalCityID), + CreditLimit = json.CreditLimit, + AccountOpenedDate = ISNULL(json.AccountOpenedDate, Sales.Customers.AccountOpenedDate), + StandardDiscountPercentage = ISNULL(json.StandardDiscountPercentage, Sales.Customers.StandardDiscountPercentage), + IsStatementSent = ISNULL(json.IsStatementSent, Sales.Customers.IsStatementSent), + IsOnCreditHold = ISNULL(json.IsOnCreditHold, Sales.Customers.IsOnCreditHold), + PaymentDays = ISNULL(json.PaymentDays, Sales.Customers.PaymentDays), + PhoneNumber = ISNULL(json.PhoneNumber, Sales.Customers.PhoneNumber), + FaxNumber = ISNULL(json.FaxNumber, Sales.Customers.FaxNumber), + DeliveryRun = json.DeliveryRun, + RunPosition = json.RunPosition, + WebsiteURL = ISNULL(json.WebsiteURL, Sales.Customers.WebsiteURL), + DeliveryAddressLine1 = ISNULL(json.DeliveryAddressLine1, Sales.Customers.DeliveryAddressLine1), + DeliveryAddressLine2 = json.DeliveryAddressLine2, + DeliveryPostalCode = ISNULL(json.DeliveryPostalCode, Sales.Customers.DeliveryPostalCode), + PostalAddressLine1 = ISNULL(json.PostalAddressLine1, Sales.Customers.PostalAddressLine1), + PostalAddressLine2 = json.PostalAddressLine2, + PostalPostalCode = ISNULL(json.PostalPostalCode, Sales.Customers.PostalPostalCode), + LastEditedBy = @UserID + FROM OPENJSON(@Customers) + WITH ( + CustomerName nvarchar(100), + BillToCustomerID int, + CustomerCategoryID int, + BuyingGroupID int, + PrimaryContactPersonID int, + AlternateContactPersonID int, + DeliveryMethodID int, + DeliveryCityID int, + PostalCityID int, + CreditLimit decimal(18,2), + AccountOpenedDate date, + StandardDiscountPercentage decimal(18,3), + IsStatementSent bit, + IsOnCreditHold bit, + PaymentDays int, + PhoneNumber nvarchar(20), + FaxNumber nvarchar(20), + DeliveryRun nvarchar(5), + RunPosition nvarchar(5), + WebsiteURL nvarchar(256), + DeliveryAddressLine1 nvarchar(60), + DeliveryAddressLine2 nvarchar(60), + DeliveryPostalCode nvarchar(10), + PostalAddressLine1 nvarchar(60), + PostalAddressLine2 nvarchar(60), + PostalPostalCode nvarchar(10)) as json + WHERE + Sales.Customers.CustomerID = @CustomerID +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/DeliveryMethodsDelete.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/DeliveryMethodsDelete.sql new file mode 100644 index 00000000..a526876e --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/DeliveryMethodsDelete.sql @@ -0,0 +1,9 @@ + + + +CREATE PROCEDURE [Website].[DeliveryMethodsDelete](@DeliveryMethodID int) +WITH EXECUTE AS OWNER +AS BEGIN + DELETE Application.DeliveryMethods + WHERE DeliveryMethodID = @DeliveryMethodID +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/DeliveryMethodsInsertFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/DeliveryMethodsInsertFromJson.sql new file mode 100644 index 00000000..f1d349dc --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/DeliveryMethodsInsertFromJson.sql @@ -0,0 +1,9 @@ +CREATE PROCEDURE [Website].[DeliveryMethodsInsertFromJson](@DeliveryMethodsJson NVARCHAR(MAX), @UserID int) +WITH EXECUTE AS OWNER +AS BEGIN + INSERT INTO Application.DeliveryMethods(DeliveryMethodName,LastEditedBy) + OUTPUT INSERTED.DeliveryMethodID + SELECT DeliveryMethodName,@UserID + FROM OPENJSON(@DeliveryMethodsJson) + WITH (DeliveryMethodName nvarchar(50)) +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/DeliveryMethodsUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/DeliveryMethodsUpdateFromJson.sql new file mode 100644 index 00000000..522ef02e --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/DeliveryMethodsUpdateFromJson.sql @@ -0,0 +1,12 @@ +CREATE PROCEDURE [Website].[DeliveryMethodsUpdateFromJson](@DeliveryMethodsJson NVARCHAR(MAX), @DeliveryMethodID int,@UserID int) +WITH EXECUTE AS OWNER +AS BEGIN + UPDATE Application.DeliveryMethods SET + DeliveryMethodName = json.DeliveryMethodName, + LastEditedBy = @UserID + FROM OPENJSON (@DeliveryMethodsJson) + WITH (DeliveryMethodName nvarchar(50)) as json + WHERE + Application.DeliveryMethods.DeliveryMethodID = @DeliveryMethodID + +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/InvoicesUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/InvoicesUpdateFromJson.sql new file mode 100644 index 00000000..5033ec39 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/InvoicesUpdateFromJson.sql @@ -0,0 +1,39 @@ +CREATE PROCEDURE Website.InvoicesUpdateFromJson(@InvoicesJson NVARCHAR(MAX), @InvoiceID int, @UserID int) +WITH EXECUTE AS OWNER +AS BEGIN UPDATE Sales.Invoices SET + CustomerID = ISNULL(json.CustomerID, Sales.Invoices.CustomerID), + BillToCustomerID = ISNULL(json.BillToCustomerID, Sales.Invoices.BillToCustomerID), + DeliveryMethodID = ISNULL(json.DeliveryMethodID, Sales.Invoices.DeliveryMethodID), + ContactPersonID = ISNULL(json.ContactPersonID, Sales.Invoices.ContactPersonID), + AccountsPersonID = ISNULL(json.AccountsPersonID, Sales.Invoices.AccountsPersonID), + SalespersonPersonID = ISNULL(json.SalespersonPersonID, Sales.Invoices.SalespersonPersonID), + PackedByPersonID = ISNULL(json.PackedByPersonID, Sales.Invoices.PackedByPersonID), + InvoiceDate = ISNULL(json.InvoiceDate, Sales.Invoices.InvoiceDate), + CustomerPurchaseOrderNumber = json.CustomerPurchaseOrderNumber, + IsCreditNote = ISNULL(json.IsCreditNote, Sales.Invoices.IsCreditNote), + TotalDryItems = ISNULL(json.TotalDryItems, Sales.Invoices.TotalDryItems), + TotalChillerItems = ISNULL(json.TotalChillerItems, Sales.Invoices.TotalChillerItems), + DeliveryRun = json.DeliveryRun, + RunPosition = json.RunPosition, + LastEditedBy = @UserID + FROM OPENJSON(@InvoicesJson) + WITH ( + CustomerID int, + BillToCustomerID int, + OrderID int, + DeliveryMethodID int, + ContactPersonID int, + AccountsPersonID int, + SalespersonPersonID int, + PackedByPersonID int, + InvoiceDate date, + CustomerPurchaseOrderNumber nvarchar(20), + IsCreditNote bit, + TotalDryItems int, + TotalChillerItems int, + DeliveryRun nvarchar(5), + RunPosition nvarchar(5)) as json + WHERE + Sales.Invoices.InvoiceID = @InvoiceID + +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PackageTypesDelete.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PackageTypesDelete.sql new file mode 100644 index 00000000..f8520541 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PackageTypesDelete.sql @@ -0,0 +1,7 @@ + +CREATE PROCEDURE [Website].[PackageTypesDelete](@PackageTypeID int) +WITH EXECUTE AS OWNER +AS BEGIN + DELETE Warehouse.PackageTypes + WHERE PackageTypeID = @PackageTypeID +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PackageTypesInsertFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PackageTypesInsertFromJson.sql new file mode 100644 index 00000000..9ef1dae8 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PackageTypesInsertFromJson.sql @@ -0,0 +1,9 @@ +CREATE PROCEDURE [Website].[PackageTypesInsertFromJson](@PackageTypesJson NVARCHAR(MAX), @UserID int) +WITH EXECUTE AS OWNER +AS BEGIN + INSERT INTO Warehouse.PackageTypes(PackageTypeName,LastEditedBy) + OUTPUT INSERTED.PackageTypeID + SELECT PackageTypeName,@UserID + FROM OPENJSON(@PackageTypesJson) + WITH (PackageTypeName nvarchar(50)) +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PackageTypesUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PackageTypesUpdateFromJson.sql new file mode 100644 index 00000000..f6465924 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PackageTypesUpdateFromJson.sql @@ -0,0 +1,12 @@ +CREATE PROCEDURE [Website].[PackageTypesUpdateFromJson](@PackageTypesJson NVARCHAR(MAX), @PackageTypeID int,@UserID int) +WITH EXECUTE AS OWNER +AS BEGIN + UPDATE Warehouse.PackageTypes SET + PackageTypeName = json.PackageTypeName, + LastEditedBy = @UserID + FROM OPENJSON (@PackageTypesJson) + WITH (PackageTypeName nvarchar(50)) as json + WHERE + Warehouse.PackageTypes.PackageTypeID = @PackageTypeID + +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PaymentMethodsDelete.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PaymentMethodsDelete.sql new file mode 100644 index 00000000..2116f713 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PaymentMethodsDelete.sql @@ -0,0 +1,6 @@ +CREATE PROCEDURE [Website].[PaymentMethodsDelete](@PaymentMethodID int) +WITH EXECUTE AS OWNER +AS BEGIN + DELETE Application.PaymentMethods + WHERE PaymentMethodID = @PaymentMethodID +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PaymentMethodsInsertFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PaymentMethodsInsertFromJson.sql new file mode 100644 index 00000000..fcee198b --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PaymentMethodsInsertFromJson.sql @@ -0,0 +1,9 @@ +CREATE PROCEDURE [Website].[PaymentMethodsInsertFromJson](@PaymentMethodsJson NVARCHAR(MAX), @UserID int) +WITH EXECUTE AS OWNER +AS BEGIN + INSERT INTO Application.PaymentMethods(PaymentMethodName,LastEditedBy) + OUTPUT INSERTED.PaymentMethodID + SELECT PaymentMethodName,@UserID + FROM OPENJSON(@PaymentMethodsJson) + WITH (PaymentMethodName nvarchar(50)) +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PaymentMethodsUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PaymentMethodsUpdateFromJson.sql new file mode 100644 index 00000000..f833784c --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PaymentMethodsUpdateFromJson.sql @@ -0,0 +1,12 @@ +CREATE PROCEDURE [Website].[PaymentMethodsUpdateFromJson](@PaymentMethodsJson NVARCHAR(MAX), @PaymentMethodID int,@UserID int) +WITH EXECUTE AS OWNER +AS BEGIN + UPDATE Application.PaymentMethods SET + PaymentMethodName = json.PaymentMethodName, + LastEditedBy = @UserID + FROM OPENJSON (@PaymentMethodsJson) + WITH (PaymentMethodName nvarchar(50)) as json + WHERE + Application.PaymentMethods.PaymentMethodID = @PaymentMethodID + +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PurchaseOrdersUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PurchaseOrdersUpdateFromJson.sql new file mode 100644 index 00000000..2b7e163d --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PurchaseOrdersUpdateFromJson.sql @@ -0,0 +1,23 @@ +CREATE PROCEDURE Website.PurchaseOrdersUpdateFromJson(@PurchaseOrders NVARCHAR(MAX), @PurchaseOrderID int, @UserID int) +WITH EXECUTE AS OWNER +AS BEGIN UPDATE Purchasing.PurchaseOrders SET + SupplierID = ISNULL(json.SupplierID,Purchasing.PurchaseOrders.SupplierID), + OrderDate = ISNULL(json.OrderDate,Purchasing.PurchaseOrders.OrderDate), + DeliveryMethodID = ISNULL(json.DeliveryMethodID,Purchasing.PurchaseOrders.DeliveryMethodID), + ContactPersonID = ISNULL(json.ContactPersonID,Purchasing.PurchaseOrders.ContactPersonID), + ExpectedDeliveryDate = ISNULL(json.ExpectedDeliveryDate,Purchasing.PurchaseOrders.ExpectedDeliveryDate), + SupplierReference = ISNULL(json.SupplierReference,Purchasing.PurchaseOrders.SupplierReference), + IsOrderFinalized = ISNULL(json.IsOrderFinalized,Purchasing.PurchaseOrders.IsOrderFinalized) + FROM OPENJSON(@PurchaseOrders) + WITH ( + SupplierID int, + OrderDate date, + DeliveryMethodID int, + ContactPersonID int, + ExpectedDeliveryDate date, + SupplierReference nvarchar(20), + IsOrderFinalized bit) as json + WHERE + Purchasing.PurchaseOrders.PurchaseOrderID = @PurchaseOrderID + +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SalesOrdersUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SalesOrdersUpdateFromJson.sql new file mode 100644 index 00000000..f4d1f4f6 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SalesOrdersUpdateFromJson.sql @@ -0,0 +1,28 @@ +CREATE PROCEDURE [Website].[SalesOrdersUpdateFromJson](@SalesOrders NVARCHAR(MAX), @SalesOrderID int, @UserID int) +WITH EXECUTE AS OWNER +AS BEGIN UPDATE Sales.Orders SET + SalespersonPersonID = ISNULL(json.SalespersonPersonID,Sales.Orders.SalespersonPersonID), + PickedByPersonID = ISNULL(json.PickedByPersonID,Sales.Orders.PickedByPersonID), + ContactPersonID = ISNULL(json.ContactPersonID,Sales.Orders.ContactPersonID), + BackorderOrderID = ISNULL(json.BackorderOrderID,Sales.Orders.BackorderOrderID), + OrderDate = ISNULL(json.OrderDate,Sales.Orders.OrderDate), + ExpectedDeliveryDate = ISNULL(json.ExpectedDeliveryDate,Sales.Orders.ExpectedDeliveryDate), + CustomerPurchaseOrderNumber = ISNULL(json.CustomerPurchaseOrderNumber,Sales.Orders.CustomerPurchaseOrderNumber), + IsUndersupplyBackordered = ISNULL(json.IsUndersupplyBackordered,Sales.Orders.IsUndersupplyBackordered), + PickingCompletedWhen = ISNULL(json.PickingCompletedWhen,Sales.Orders.PickingCompletedWhen), + LastEditedBy = @UserID + FROM OPENJSON(@SalesOrders) + WITH ( + SalespersonPersonID int, + PickedByPersonID int, + ContactPersonID int, + BackorderOrderID int, + OrderDate date, + ExpectedDeliveryDate date, + CustomerPurchaseOrderNumber nvarchar(20), + IsUndersupplyBackordered bit, + PickingCompletedWhen date) as json + WHERE + Sales.Orders.OrderID = @SalesOrderID + +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SpecialDealsUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SpecialDealsUpdateFromJson.sql new file mode 100644 index 00000000..38ae60e2 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SpecialDealsUpdateFromJson.sql @@ -0,0 +1,32 @@ +CREATE PROCEDURE Website.[SpecialDealsUpdateFromJson](@Deals NVARCHAR(MAX), @DealID int, @UserID int) +WITH EXECUTE AS OWNER +AS BEGIN UPDATE Sales.SpecialDeals SET + StockItemID = ISNULL(json.StockItemID,Sales.SpecialDeals.StockItemID), + CustomerID = ISNULL(json.CustomerID,Sales.SpecialDeals.CustomerID), + BuyingGroupID = ISNULL(json.BuyingGroupID,Sales.SpecialDeals.BuyingGroupID), + CustomerCategoryID = ISNULL(json.CustomerCategoryID,Sales.SpecialDeals.CustomerCategoryID), + StockGroupID = ISNULL(json.StockGroupID,Sales.SpecialDeals.StockGroupID), + DealDescription = ISNULL(json.DealDescription,Sales.SpecialDeals.DealDescription), + StartDate = ISNULL(json.StartDate,Sales.SpecialDeals.StartDate), + EndDate = ISNULL(json.EndDate,Sales.SpecialDeals.EndDate), + DiscountAmount = ISNULL(json.DiscountAmount,Sales.SpecialDeals.DiscountAmount), + DiscountPercentage = ISNULL(json.DiscountPercentage,Sales.SpecialDeals.DiscountPercentage), + UnitPrice = ISNULL(json.UnitPrice,Sales.SpecialDeals.UnitPrice), + LastEditedBy = @UserID + FROM OPENJSON(@Deals) + WITH ( + StockItemID int, + CustomerID int, + BuyingGroupID int, + CustomerCategoryID int, + StockGroupID int, + DealDescription nvarchar(30), + StartDate date, + EndDate date, + DiscountAmount decimal(18,2), + DiscountPercentage decimal(18,3), + UnitPrice decimal(18,2)) as json + WHERE + Sales.SpecialDeals.SpecialDealID = @DealID + +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StateProvincesDelete.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StateProvincesDelete.sql new file mode 100644 index 00000000..5867200a --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StateProvincesDelete.sql @@ -0,0 +1,6 @@ +CREATE PROCEDURE Website.StateProvincesDelete(@StateProvinceID int) +WITH EXECUTE AS OWNER +AS BEGIN + DELETE Application.StateProvinces + WHERE StateProvinceID = @StateProvinceID; +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StateProvincesInsertFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StateProvincesInsertFromJson.sql new file mode 100644 index 00000000..644e83cf --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StateProvincesInsertFromJson.sql @@ -0,0 +1,14 @@ +CREATE PROCEDURE [Website].[StateProvincesInsertFromJson](@StateProvinces NVARCHAR(MAX), @UserID int) +WITH EXECUTE AS OWNER +AS BEGIN + INSERT INTO Application.StateProvinces(StateProvinceCode,StateProvinceName,CountryID,SalesTerritory,LatestRecordedPopulation,LastEditedBy) + OUTPUT INSERTED.StateProvinceID + SELECT StateProvinceCode,StateProvinceName,CountryID,SalesTerritory,LatestRecordedPopulation,@UserID + FROM OPENJSON(@StateProvinces) + WITH ( + StateProvinceCode nvarchar(5) N'strict $.StateProvinceCode', + StateProvinceName nvarchar(50) N'strict $.StateProvinceName', + CountryID int N'strict $.CountryID', + SalesTerritory nvarchar(50) N'strict $.SalesTerritory', + LatestRecordedPopulation bigint) +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StateProvincesUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StateProvincesUpdateFromJson.sql new file mode 100644 index 00000000..0b992f2a --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StateProvincesUpdateFromJson.sql @@ -0,0 +1,21 @@ +CREATE PROCEDURE [Website].[StateProvincesUpdateFromJson](@StateProvinces NVARCHAR(MAX), @StateProvinceID int, @UserID int) +WITH EXECUTE AS OWNER +AS BEGIN + UPDATE Application.StateProvinces SET + StateProvinceCode = json.StateProvinceCode, + StateProvinceName = json.StateProvinceName, + CountryID = json.CountryID, + SalesTerritory = json.SalesTerritory, + LatestRecordedPopulation = json.LatestRecordedPopulation, + LastEditedBy = @UserID + FROM OPENJSON (@StateProvinces) + WITH ( + StateProvinceCode nvarchar(5) N'strict $.StateProvinceCode', + StateProvinceName nvarchar(50) N'strict $.StateProvinceName', + CountryID int N'strict $.CountryID', + SalesTerritory nvarchar(50) N'strict $.SalesTerritory', + LatestRecordedPopulation bigint) as json + WHERE + Application.StateProvinces.StateProvinceID = @StateProvinceID + +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockGroupsDelete.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockGroupsDelete.sql new file mode 100644 index 00000000..817ae042 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockGroupsDelete.sql @@ -0,0 +1,6 @@ +CREATE PROCEDURE [Website].[StockGroupsDelete](@StockGroupID int) +WITH EXECUTE AS OWNER +AS BEGIN + DELETE Warehouse.StockGroups + WHERE StockGroupID = @StockGroupID +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockGroupsInsertFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockGroupsInsertFromJson.sql new file mode 100644 index 00000000..c95b876b --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockGroupsInsertFromJson.sql @@ -0,0 +1,9 @@ +CREATE PROCEDURE [Website].[StockGroupsInsertFromJson](@StockGroupsJson NVARCHAR(MAX), @UserID int) +WITH EXECUTE AS OWNER +AS BEGIN + INSERT INTO Warehouse.StockGroups(StockGroupName,LastEditedBy) + OUTPUT INSERTED.StockGroupID + SELECT StockGroupName,@UserID + FROM OPENJSON(@StockGroupsJson) + WITH (StockGroupName nvarchar(50)) +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockGroupsUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockGroupsUpdateFromJson.sql new file mode 100644 index 00000000..60ae6193 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockGroupsUpdateFromJson.sql @@ -0,0 +1,12 @@ +CREATE PROCEDURE [Website].[StockGroupsUpdateFromJson](@StockGroupsJson NVARCHAR(MAX), @StockGroupID int,@UserID int) +WITH EXECUTE AS OWNER +AS BEGIN + UPDATE Warehouse.StockGroups SET + StockGroupName = json.StockGroupName, + LastEditedBy = @UserID + FROM OPENJSON (@StockGroupsJson) + WITH (StockGroupName nvarchar(50)) as json + WHERE + Warehouse.StockGroups.StockGroupID = @StockGroupID + +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockItemsDelete.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockItemsDelete.sql new file mode 100644 index 00000000..9763071a --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockItemsDelete.sql @@ -0,0 +1,6 @@ +CREATE PROCEDURE Website.StockItemsDelete(@StockItemID int) +WITH EXECUTE AS OWNER +AS BEGIN + DELETE Warehouse.StockItems + WHERE StockItemID = @StockItemID; +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockItemsInsertFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockItemsInsertFromJson.sql new file mode 100644 index 00000000..01dad348 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockItemsInsertFromJson.sql @@ -0,0 +1,28 @@ +CREATE PROCEDURE [Website].[StockItemsInsertFromJson](@StockItems NVARCHAR(MAX),@UserID int) +WITH EXECUTE AS OWNER +AS BEGIN + INSERT INTO Warehouse.StockItems(StockItemName,SupplierID,ColorID,UnitPackageID,OuterPackageID,Brand,Size,LeadTimeDays,QuantityPerOuter,IsChillerStock,Barcode,TaxRate,UnitPrice,RecommendedRetailPrice,TypicalWeightPerUnit,MarketingComments,InternalComments,Photo,CustomFields,LastEditedBy) + OUTPUT INSERTED.StockItemID + SELECT StockItemName,SupplierID,ColorID,UnitPackageID,OuterPackageID,Brand,Size,LeadTimeDays,QuantityPerOuter,IsChillerStock,Barcode,TaxRate,UnitPrice,RecommendedRetailPrice,TypicalWeightPerUnit,MarketingComments,InternalComments,Photo,CustomFields,@UserID + FROM OPENJSON (@StockItems) + WITH ( + StockItemName nvarchar(100) N'strict $.StockItemName', + SupplierID int N'strict $.SupplierID', + ColorID int, + UnitPackageID int N'strict $.UnitPackageID', + OuterPackageID int N'strict $.OuterPackageID', + Brand nvarchar(50), + Size nvarchar(20), + LeadTimeDays int N'strict $.LeadTimeDays', + QuantityPerOuter int N'strict $.QuantityPerOuter', + IsChillerStock bit N'strict $.IsChillerStock', + Barcode nvarchar(50), + TaxRate decimal(18,3) N'strict $.TaxRate', + UnitPrice decimal(18,2) N'strict $.UnitPrice', + RecommendedRetailPrice decimal(18,2), + TypicalWeightPerUnit decimal(18,3) N'strict $.TypicalWeightPerUnit', + MarketingComments nvarchar(MAX), + InternalComments nvarchar(MAX), + Photo varbinary(MAX), + CustomFields nvarchar(MAX) AS JSON) +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockItemsUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockItemsUpdateFromJson.sql new file mode 100644 index 00000000..4707db00 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockItemsUpdateFromJson.sql @@ -0,0 +1,50 @@ +CREATE PROCEDURE [Website].[StockItemsUpdateFromJson](@StockItems NVARCHAR(MAX), @StockItemID int, @UserID int) +WITH EXECUTE AS OWNER +AS BEGIN + + UPDATE Warehouse.StockItems SET + StockItemName = ISNULL(json.StockItemName, Warehouse.StockItems.StockItemName), + SupplierID = ISNULL(json.SupplierID, Warehouse.StockItems.SupplierID), + ColorID = json.ColorID, + UnitPackageID = ISNULL(json.UnitPackageID, Warehouse.StockItems.UnitPackageID), + OuterPackageID = ISNULL(json.OuterPackageID, Warehouse.StockItems.OuterPackageID), + Brand = json.Brand, + Size = json.Size, + LeadTimeDays = ISNULL(json.LeadTimeDays, Warehouse.StockItems.LeadTimeDays), + QuantityPerOuter = ISNULL(json.QuantityPerOuter, Warehouse.StockItems.QuantityPerOuter), + IsChillerStock = ISNULL(json.IsChillerStock, Warehouse.StockItems.IsChillerStock), + Barcode = json.Barcode, + TaxRate = ISNULL(json.TaxRate, Warehouse.StockItems.TaxRate), + UnitPrice = ISNULL(json.UnitPrice, Warehouse.StockItems.UnitPrice), + RecommendedRetailPrice = json.RecommendedRetailPrice, + TypicalWeightPerUnit = ISNULL(json.TypicalWeightPerUnit, Warehouse.StockItems.TypicalWeightPerUnit), + MarketingComments = json.MarketingComments, + InternalComments = json.InternalComments, + Photo = json.Photo, + CustomFields = json.CustomFields, + LastEditedBy = @UserID + FROM OPENJSON (@StockItems) + WITH ( + StockItemName nvarchar(100), + SupplierID int, + ColorID int, + UnitPackageID int, + OuterPackageID int, + Brand nvarchar(50), + Size nvarchar(20), + LeadTimeDays int, + QuantityPerOuter int, + IsChillerStock bit, + Barcode nvarchar(50), + TaxRate decimal(18,3), + UnitPrice decimal(18,2), + RecommendedRetailPrice decimal(18,2), + TypicalWeightPerUnit decimal(18,3), + MarketingComments nvarchar(MAX), + InternalComments nvarchar(MAX), + Photo varbinary(MAX), + CustomFields nvarchar(MAX) AS JSON) as json + WHERE + Warehouse.StockItems.StockItemID = @StockItemID + +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SupplierCategoriesDelete.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SupplierCategoriesDelete.sql new file mode 100644 index 00000000..042f38d2 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SupplierCategoriesDelete.sql @@ -0,0 +1,6 @@ +CREATE PROCEDURE [Website].[SupplierCategoriesDelete](@SupplierCategoryID int) +WITH EXECUTE AS OWNER +AS BEGIN + DELETE Purchasing.SupplierCategories + WHERE SupplierCategoryID = @SupplierCategoryID +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SupplierCategoriesInsertFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SupplierCategoriesInsertFromJson.sql new file mode 100644 index 00000000..9a64817b --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SupplierCategoriesInsertFromJson.sql @@ -0,0 +1,9 @@ +CREATE PROCEDURE [Website].[SupplierCategoriesInsertFromJson](@SupplierCategoriesJson NVARCHAR(MAX), @UserID int) +WITH EXECUTE AS OWNER +AS BEGIN + INSERT INTO Purchasing.SupplierCategories(SupplierCategoryName,LastEditedBy) + OUTPUT INSERTED.SupplierCategoryID + SELECT SupplierCategoryName,@UserID + FROM OPENJSON(@SupplierCategoriesJson) + WITH (SupplierCategoryName nvarchar(50)) +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SupplierCategoriesUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SupplierCategoriesUpdateFromJson.sql new file mode 100644 index 00000000..ce5b83da --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SupplierCategoriesUpdateFromJson.sql @@ -0,0 +1,12 @@ +CREATE PROCEDURE [Website].[SupplierCategoriesUpdateFromJson](@SupplierCategoriesJson NVARCHAR(MAX), @SupplierCategoryID int, @UserID int) +WITH EXECUTE AS OWNER +AS BEGIN + UPDATE Purchasing.SupplierCategories SET + SupplierCategoryName = json.SupplierCategoryName, + LastEditedBy = @UserID + FROM OPENJSON (@SupplierCategoriesJson) + WITH (SupplierCategoryName nvarchar(50)) as json + WHERE + Purchasing.SupplierCategories.SupplierCategoryID = @SupplierCategoryID + +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SupplierTransactionsUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SupplierTransactionsUpdateFromJson.sql new file mode 100644 index 00000000..849d1bfc --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SupplierTransactionsUpdateFromJson.sql @@ -0,0 +1,32 @@ +CREATE PROCEDURE Website.SupplierTransactionsUpdateFromJson(@SupplierTransactions NVARCHAR(MAX), @SupplierTransactionID int, @UserID int) +WITH EXECUTE AS OWNER +AS BEGIN UPDATE Purchasing.SupplierTransactions SET + SupplierID = ISNULL(json.SupplierID,Purchasing.SupplierTransactions.SupplierID), + TransactionTypeID = ISNULL(json.TransactionTypeID,Purchasing.SupplierTransactions.TransactionTypeID), + PurchaseOrderID = ISNULL(json.PurchaseOrderID,Purchasing.SupplierTransactions.PurchaseOrderID), + PaymentMethodID = ISNULL(json.PaymentMethodID,Purchasing.SupplierTransactions.PaymentMethodID), + SupplierInvoiceNumber = ISNULL(json.SupplierInvoiceNumber,Purchasing.SupplierTransactions.SupplierInvoiceNumber), + TransactionDate = ISNULL(json.TransactionDate,Purchasing.SupplierTransactions.TransactionDate), + AmountExcludingTax = ISNULL(json.AmountExcludingTax,Purchasing.SupplierTransactions.AmountExcludingTax), + TaxAmount = ISNULL(json.TaxAmount,Purchasing.SupplierTransactions.TaxAmount), + TransactionAmount = ISNULL(json.TransactionAmount,Purchasing.SupplierTransactions.TransactionAmount), + OutstandingBalance = ISNULL(json.OutstandingBalance,Purchasing.SupplierTransactions.OutstandingBalance), + FinalizationDate = ISNULL(json.FinalizationDate,Purchasing.SupplierTransactions.FinalizationDate), + LastEditedBy = @UserID + FROM OPENJSON(@SupplierTransactions) + WITH ( + SupplierID int, + TransactionTypeID int, + PurchaseOrderID int, + PaymentMethodID int, + SupplierInvoiceNumber nvarchar(20), + TransactionDate date, + AmountExcludingTax decimal(18,2), + TaxAmount decimal(18,2), + TransactionAmount decimal(18,2), + OutstandingBalance decimal(18,2), + FinalizationDate date) as json + WHERE + Purchasing.SupplierTransactions.SupplierTransactionID = @SupplierTransactionID + +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SuppliersDelete.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SuppliersDelete.sql new file mode 100644 index 00000000..e449df70 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SuppliersDelete.sql @@ -0,0 +1,6 @@ +CREATE PROCEDURE Website.SuppliersDelete(@SupplierID int) +WITH EXECUTE AS OWNER +AS BEGIN + DELETE Purchasing.Suppliers + WHERE SupplierID = @SupplierID; +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SuppliersInsertFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SuppliersInsertFromJson.sql new file mode 100644 index 00000000..349b9450 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SuppliersInsertFromJson.sql @@ -0,0 +1,34 @@ +CREATE PROCEDURE [Website].[SuppliersInsertFromJson](@Suppliers NVARCHAR(MAX), @UserID int) +WITH EXECUTE AS OWNER +AS BEGIN + INSERT INTO Purchasing.Suppliers(SupplierName,SupplierCategoryID,PrimaryContactPersonID,AlternateContactPersonID,DeliveryMethodID,DeliveryCityID,PostalCityID,SupplierReference,BankAccountName,BankAccountBranch,BankAccountCode,BankAccountNumber,BankInternationalCode,PaymentDays,InternalComments,PhoneNumber,FaxNumber,WebsiteURL,DeliveryAddressLine1,DeliveryAddressLine2,DeliveryPostalCode,PostalAddressLine1,PostalAddressLine2,PostalPostalCode, LastEditedBy) + OUTPUT INSERTED.SupplierID + SELECT SupplierName,SupplierCategoryID,PrimaryContactPersonID,AlternateContactPersonID,DeliveryMethodID,DeliveryCityID,PostalCityID,SupplierReference,BankAccountName,BankAccountBranch,BankAccountCode,BankAccountNumber,BankInternationalCode,PaymentDays,InternalComments,PhoneNumber,FaxNumber,WebsiteURL,DeliveryAddressLine1,DeliveryAddressLine2,DeliveryPostalCode,PostalAddressLine1,PostalAddressLine2,PostalPostalCode, @UserID + FROM OPENJSON (@Suppliers) + WITH ( + SupplierName nvarchar(100) N'strict $.SupplierName', + SupplierCategoryID int N'strict $.SupplierCategoryID', + PrimaryContactPersonID int N'strict $.PrimaryContactPersonID', + AlternateContactPersonID int N'strict $.AlternateContactPersonID', + DeliveryMethodID int, + DeliveryCityID int N'strict $.DeliveryCityID', + PostalCityID int N'strict $.PostalCityID', + SupplierReference nvarchar(20), + BankAccountName nvarchar(50), + BankAccountBranch nvarchar(50), + BankAccountCode nvarchar(20), + BankAccountNumber nvarchar(20), + BankInternationalCode nvarchar(20), + PaymentDays int N'strict $.PaymentDays', + InternalComments nvarchar(MAX), + PhoneNumber nvarchar(20) N'strict $.PhoneNumber', + FaxNumber nvarchar(20) N'strict $.FaxNumber', + WebsiteURL nvarchar(256) N'strict $.WebsiteURL', + DeliveryAddressLine1 nvarchar(60) N'strict $.DeliveryAddressLine1', + DeliveryAddressLine2 nvarchar(60), + DeliveryPostalCode nvarchar(10) N'strict $.DeliveryPostalCode', + PostalAddressLine1 nvarchar(60) N'strict $.PostalAddressLine1', + PostalAddressLine2 nvarchar(60), + PostalPostalCode nvarchar(10) N'strict $.PostalPostalCode') +END +GO \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SuppliersUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SuppliersUpdateFromJson.sql new file mode 100644 index 00000000..4fc2dc53 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SuppliersUpdateFromJson.sql @@ -0,0 +1,59 @@ +CREATE PROCEDURE [Website].[SuppliersUpdateFromJson](@Suppliers NVARCHAR(MAX), @SupplierID int, @UserID int) +WITH EXECUTE AS OWNER +AS BEGIN + UPDATE Purchasing.Suppliers SET + SupplierName = ISNULL(json.SupplierName, Purchasing.Suppliers.SupplierName), + SupplierCategoryID = ISNULL(json.SupplierCategoryID, Purchasing.Suppliers.SupplierCategoryID), + PrimaryContactPersonID = ISNULL(json.PrimaryContactPersonID, Purchasing.Suppliers.PrimaryContactPersonID), + AlternateContactPersonID = ISNULL(json.AlternateContactPersonID, Purchasing.Suppliers.AlternateContactPersonID), + DeliveryMethodID = json.DeliveryMethodID, + DeliveryCityID = ISNULL(json.DeliveryCityID, Purchasing.Suppliers.DeliveryCityID), + PostalCityID = ISNULL(json.PostalCityID, Purchasing.Suppliers.PostalCityID), + SupplierReference = json.SupplierReference, + BankAccountName = json.BankAccountName, + BankAccountBranch = json.BankAccountBranch, + BankAccountCode = json.BankAccountCode, + BankAccountNumber = json.BankAccountNumber, + BankInternationalCode = json.BankInternationalCode, + PaymentDays = ISNULL(json.PaymentDays, Purchasing.Suppliers.PaymentDays), + InternalComments = json.InternalComments, + PhoneNumber = ISNULL(json.PhoneNumber, Purchasing.Suppliers.PhoneNumber), + FaxNumber = ISNULL(json.FaxNumber, Purchasing.Suppliers.FaxNumber), + WebsiteURL = ISNULL(json.WebsiteURL, Purchasing.Suppliers.WebsiteURL), + DeliveryAddressLine1 = ISNULL(json.DeliveryAddressLine1, Purchasing.Suppliers.DeliveryAddressLine1), + DeliveryAddressLine2 = json.DeliveryAddressLine2, + DeliveryPostalCode = ISNULL(json.DeliveryPostalCode, Purchasing.Suppliers.DeliveryPostalCode), + PostalAddressLine1 = ISNULL(json.PostalAddressLine1, Purchasing.Suppliers.PostalAddressLine1), + PostalAddressLine2 = json.PostalAddressLine2, + PostalPostalCode = ISNULL(json.PostalPostalCode, Purchasing.Suppliers.PostalPostalCode), + LastEditedBy = @UserID + FROM OPENJSON (@Suppliers) + WITH ( + SupplierName nvarchar(100), + SupplierCategoryID int, + PrimaryContactPersonID int, + AlternateContactPersonID int, + DeliveryMethodID int, + DeliveryCityID int, + PostalCityID int, + SupplierReference nvarchar(20), + BankAccountName nvarchar(50), + BankAccountBranch nvarchar(50), + BankAccountCode nvarchar(20), + BankAccountNumber nvarchar(20), + BankInternationalCode nvarchar(20), + PaymentDays int, + InternalComments nvarchar(MAX), + PhoneNumber nvarchar(20), + FaxNumber nvarchar(20), + WebsiteURL nvarchar(256), + DeliveryAddressLine1 nvarchar(60), + DeliveryAddressLine2 nvarchar(60), + DeliveryPostalCode nvarchar(10), + PostalAddressLine1 nvarchar(60), + PostalAddressLine2 nvarchar(60), + PostalPostalCode nvarchar(10)) as json + WHERE + Purchasing.Suppliers.SupplierID = @SupplierID + +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/TransactionTypesDelete.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/TransactionTypesDelete.sql new file mode 100644 index 00000000..70985f12 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/TransactionTypesDelete.sql @@ -0,0 +1,6 @@ +CREATE PROCEDURE [Website].[TransactionTypesDelete](@TransactionTypeID int) +WITH EXECUTE AS OWNER +AS BEGIN + DELETE Application.TransactionTypes + WHERE TransactionTypeID = @TransactionTypeID +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/TransactionTypesInsertFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/TransactionTypesInsertFromJson.sql new file mode 100644 index 00000000..b11378f3 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/TransactionTypesInsertFromJson.sql @@ -0,0 +1,9 @@ +CREATE PROCEDURE [Website].[TransactionTypesInsertFromJson](@TransactionTypesJson NVARCHAR(MAX), @UserID int) +WITH EXECUTE AS OWNER +AS BEGIN + INSERT INTO Application.TransactionTypes(TransactionTypeName,LastEditedBy) + OUTPUT INSERTED.TransactionTypeID + SELECT TransactionTypeName,@UserID + FROM OPENJSON(@TransactionTypesJson) + WITH (TransactionTypeName nvarchar(50)) +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/TransactionTypesUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/TransactionTypesUpdateFromJson.sql new file mode 100644 index 00000000..961391a0 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/TransactionTypesUpdateFromJson.sql @@ -0,0 +1,12 @@ +CREATE PROCEDURE [Website].[TransactionTypesUpdateFromJson](@TransactionTypesJson NVARCHAR(MAX), @TransactionTypeID int,@UserID int) +WITH EXECUTE AS OWNER +AS BEGIN + UPDATE Application.TransactionTypes SET + TransactionTypeName = json.TransactionTypeName, + LastEditedBy = @UserID + FROM OPENJSON (@TransactionTypesJson) + WITH (TransactionTypeName nvarchar(50)) as json + WHERE + Application.TransactionTypes.TransactionTypeID = @TransactionTypeID + +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/UpdateInvoicesFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/UpdateInvoicesFromJson.sql new file mode 100644 index 00000000..be4998ef --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/UpdateInvoicesFromJson.sql @@ -0,0 +1,39 @@ +CREATE PROCEDURE Website.UpdateInvoicesFromJson(@InvoicesJson NVARCHAR(MAX), @InvoiceID int, @UserID int) +WITH EXECUTE AS OWNER +AS BEGIN UPDATE Sales.Invoices SET + CustomerID = ISNULL(json.CustomerID, Sales.Invoices.CustomerID), + BillToCustomerID = ISNULL(json.BillToCustomerID, Sales.Invoices.BillToCustomerID), + DeliveryMethodID = ISNULL(json.DeliveryMethodID, Sales.Invoices.DeliveryMethodID), + ContactPersonID = ISNULL(json.ContactPersonID, Sales.Invoices.ContactPersonID), + AccountsPersonID = ISNULL(json.AccountsPersonID, Sales.Invoices.AccountsPersonID), + SalespersonPersonID = ISNULL(json.SalespersonPersonID, Sales.Invoices.SalespersonPersonID), + PackedByPersonID = ISNULL(json.PackedByPersonID, Sales.Invoices.PackedByPersonID), + InvoiceDate = ISNULL(json.InvoiceDate, Sales.Invoices.InvoiceDate), + CustomerPurchaseOrderNumber = json.CustomerPurchaseOrderNumber, + IsCreditNote = ISNULL(json.IsCreditNote, Sales.Invoices.IsCreditNote), + TotalDryItems = ISNULL(json.TotalDryItems, Sales.Invoices.TotalDryItems), + TotalChillerItems = ISNULL(json.TotalChillerItems, Sales.Invoices.TotalChillerItems), + DeliveryRun = json.DeliveryRun, + RunPosition = json.RunPosition, + LastEditedBy = @UserID + FROM OPENJSON(@InvoicesJson) + WITH ( + CustomerID int, + BillToCustomerID int, + OrderID int, + DeliveryMethodID int, + ContactPersonID int, + AccountsPersonID int, + SalespersonPersonID int, + PackedByPersonID int, + InvoiceDate date, + CustomerPurchaseOrderNumber nvarchar(20), + IsCreditNote bit, + TotalDryItems int, + TotalChillerItems int, + DeliveryRun nvarchar(5), + RunPosition nvarchar(5)) as json + WHERE + Sales.Invoices.InvoiceID = @InvoiceID + +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/Cities.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/Cities.sql new file mode 100644 index 00000000..1c053076 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/Cities.sql @@ -0,0 +1,12 @@ + +CREATE VIEW Website.Cities +AS +SELECT c.CityID, c.CityName, c.LatestRecordedPopulation, c.StateProvinceID, sp.StateProvinceName, + Location = JSON_QUERY((SELECT + type = 'Feature', + [geometry.type] = 'Point', + [geometry.coordinates] = JSON_QUERY(CONCAT('[',c.Location.Long,',',c.Location.Lat ,']')) + FOR JSON PATH, WITHOUT_ARRAY_WRAPPER)) +FROM Application.Cities c + INNER JOIN Application.StateProvinces sp + ON c.StateProvinceID = sp.StateProvinceID \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/CustomerTransactions.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/CustomerTransactions.sql new file mode 100644 index 00000000..f6c4650b --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/CustomerTransactions.sql @@ -0,0 +1,11 @@ + +CREATE VIEW Website.CustomerTransactions +AS +SELECT ct.CustomerTransactionID, ct.TransactionDate, ct.AmountExcludingTax, ct.TaxAmount, ct.TransactionAmount, ct.OutstandingBalance, ct.FinalizationDate, ct.IsFinalized, + c.CustomerName, tt.TransactionTypeName, i.InvoiceDate, i.CustomerPurchaseOrderNumber, pm.PaymentMethodName, + ct.CustomerID, ct.TransactionTypeID, ct.InvoiceID, ct.PaymentMethodID +FROM Sales.CustomerTransactions AS ct + LEFT OUTER JOIN Sales.Invoices AS i ON ct.InvoiceID = i.InvoiceID + LEFT OUTER JOIN Application.TransactionTypes AS tt ON ct.TransactionTypeID = tt.TransactionTypeID + LEFT OUTER JOIN Sales.Customers AS c ON ct.CustomerID = c.CustomerID + LEFT OUTER JOIN Application.PaymentMethods AS pm ON ct.PaymentMethodID = pm.PaymentMethodID \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/Invoices.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/Invoices.sql new file mode 100644 index 00000000..95fa7a9d --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/Invoices.sql @@ -0,0 +1,11 @@ + +CREATE VIEW Website.[Invoices] +AS +SELECT inv.InvoiceID, inv.InvoiceDate, inv.CustomerPurchaseOrderNumber, inv.IsCreditNote, inv.TotalDryItems, inv.TotalChillerItems, inv.DeliveryRun, inv.RunPosition, inv.ReturnedDeliveryData, inv.ConfirmedDeliveryTime, + inv.ConfirmedReceivedBy, c.CustomerName, sp.FullName AS SalesPersonName, contact.FullName AS ContactName, contact.PhoneNumber AS ContactPhone, contact.EmailAddress AS ContactEmail, + sp.EmailAddress AS SalesPersonEmail, dm.DeliveryMethodName, inv.CustomerID, inv.OrderID, inv.DeliveryMethodID, inv.ContactPersonID, inv.AccountsPersonID, inv.SalespersonPersonID, inv.PackedByPersonID +FROM Sales.Invoices AS inv INNER JOIN + Sales.Customers AS c ON inv.CustomerID = c.CustomerID INNER JOIN + Application.DeliveryMethods AS dm ON inv.DeliveryMethodID = dm.DeliveryMethodID INNER JOIN + Application.People AS contact ON inv.ContactPersonID = contact.PersonID INNER JOIN + Application.People AS sp ON inv.SalespersonPersonID = sp.PersonID \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/SpecialDeals.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/SpecialDeals.sql new file mode 100644 index 00000000..e8c183bf --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/SpecialDeals.sql @@ -0,0 +1,12 @@ +CREATE VIEW Website.SpecialDeals +AS +SELECT deal.SpecialDealID, deal.DealDescription, deal.StartDate, deal.EndDate, deal.DiscountAmount, deal.DiscountPercentage, deal.UnitPrice, + si.StockItemName, si.Brand, si.Size, c.CustomerName, bg.BuyingGroupName, cat.CustomerCategoryName, + deal.StockItemID, deal.CustomerID, deal.BuyingGroupID, deal.CustomerCategoryID, deal.StockGroupID +FROM Sales.SpecialDeals AS deal + LEFT OUTER JOIN Warehouse.StockItems AS si ON deal.StockItemID = si.StockItemID + LEFT OUTER JOIN Sales.Customers AS c ON deal.CustomerID = c.CustomerID + LEFT OUTER JOIN Sales.CustomerCategories AS cat ON deal.CustomerCategoryID = cat.CustomerCategoryID + LEFT OUTER JOIN Sales.BuyingGroups AS bg ON deal.BuyingGroupID = bg.BuyingGroupID + + \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/StateProvinces.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/StateProvinces.sql new file mode 100644 index 00000000..b98793f9 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/StateProvinces.sql @@ -0,0 +1,18 @@ + +CREATE VIEW Website.StateProvinces +AS +SELECT sp.StateProvinceID, sp.StateProvinceCode, sp.StateProvinceName, sp.CountryID, sp.SalesTerritory, sp.LatestRecordedPopulation, + Border = JSON_QUERY('{"type": "Feature","geometry":{' + + (CASE sp.Border.STGeometryType() + WHEN 'POLYGON' THEN + '"type": "Polygon","coordinates":[' + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(sp.Border.ToString(),'POLYGON ',''),'(','['),')',']'),'], ',']],['),', ','],['),' ',',') + ']' + WHEN 'MULTIPOLYGON' THEN + '"type": "MultiPolygon","coordinates":[' + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(sp.Border.ToString(),'MULTIPOLYGON ',''),'(','['),')',']'),'], ',']],['),', ','],['),' ',',') + ']' + ELSE NULL + END) ++'}}'), + c.CountryName +FROM Application.StateProvinces AS sp + INNER JOIN Application.Countries AS c + ON c.CountryID = sp.CountryID + \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/StockItems.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/StockItems.sql new file mode 100644 index 00000000..cbf811c9 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/StockItems.sql @@ -0,0 +1,16 @@ + +CREATE VIEW Website.StockItems +AS +SELECT si.StockItemID, si.StockItemName, s.SupplierName, s.SupplierReference, c.ColorName, + opt.PackageTypeName AS OuterPackage, upt.PackageTypeName AS UnitPackage, + si.Brand, si.Size, si.LeadTimeDays, si.QuantityPerOuter, si.IsChillerStock, + si.Barcode, si.TaxRate, si.UnitPrice, si.RecommendedRetailPrice, si.TypicalWeightPerUnit, + si.MarketingComments, si.InternalComments, si.CustomFields, sih.QuantityOnHand, sih.BinLocation, + sih.LastStocktakeQuantity, sih.LastCostPrice, sih.ReorderLevel, sih.TargetStockLevel, + si.SupplierID, si.ColorID, si.UnitPackageID, si.OuterPackageID +FROM Warehouse.StockItems AS si + INNER JOIN Warehouse.StockItemHoldings AS sih ON si.StockItemID = sih.StockItemID + INNER JOIN Purchasing.Suppliers AS s ON si.SupplierID = s.SupplierID + INNER JOIN Warehouse.Colors AS c ON si.ColorID = c.ColorID + INNER JOIN Warehouse.PackageTypes AS opt ON si.OuterPackageID = opt.PackageTypeID + INNER JOIN Warehouse.PackageTypes AS upt ON si.UnitPackageID = upt.PackageTypeID diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/SupplierTransactions.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/SupplierTransactions.sql new file mode 100644 index 00000000..dbdf942c --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/SupplierTransactions.sql @@ -0,0 +1,10 @@ + +CREATE VIEW Website.SupplierTransactions +AS +SELECT st.SupplierTransactionID, st.TransactionDate, st.AmountExcludingTax, st.TaxAmount, st.TransactionAmount, st.OutstandingBalance, st.FinalizationDate, st.IsFinalized, s.SupplierName, tt.TransactionTypeName, + pm.PaymentMethodName, st.SupplierID, st.TransactionTypeID, st.PurchaseOrderID, st.PaymentMethodID, po.OrderDate, po.IsOrderFinalized, po.ExpectedDeliveryDate, po.SupplierReference +FROM Purchasing.SupplierTransactions AS st LEFT OUTER JOIN + Purchasing.PurchaseOrders AS po ON st.PurchaseOrderID = po.PurchaseOrderID LEFT OUTER JOIN + Application.TransactionTypes AS tt ON st.TransactionTypeID = tt.TransactionTypeID LEFT OUTER JOIN + Purchasing.Suppliers AS s ON st.SupplierID = s.SupplierID LEFT OUTER JOIN + Application.PaymentMethods AS pm ON st.PaymentMethodID = pm.PaymentMethodID \ No newline at end of file From 1d96a52243d5498371d970a9cea5b5953209409d Mon Sep 17 00:00:00 2001 From: Jovan Popovic Date: Tue, 6 Feb 2018 12:49:48 +0100 Subject: [PATCH 02/22] Added Website views/proc into sql project --- .../wwi-ssdt/WideWorldImporters.sqlproj | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj index bbb864df..01fe0797 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj @@ -699,6 +699,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 1e55a4b5099a354fb8f7ccd57c06824761b38999 Mon Sep 17 00:00:00 2001 From: Jovan Popovic Date: Thu, 22 Feb 2018 12:34:14 +0100 Subject: [PATCH 03/22] Refactored Web APi procedures and views --- .../wwi-ssdt/wwi-ssdt/Security/WebApi.sql | 9 + .../Stored Procedures/DeleteBuyingGroup.sql} | 2 +- .../Stored Procedures/DeleteCity.sql} | 2 +- .../Stored Procedures/DeleteColor.sql} | 2 +- .../Stored Procedures/DeleteCountry.sql} | 2 +- .../Stored Procedures/DeleteCustomer.sql} | 2 +- .../DeleteCustomerCategory.sql} | 5 +- .../DeleteDeliveryMethod.sql} | 2 +- .../Stored Procedures/DeletePackageType.sql} | 2 +- .../DeletePaymentMethod.sql} | 2 +- .../DeleteStateProvince.sql} | 2 +- .../Stored Procedures/DeleteStockGroup.sql} | 2 +- .../Stored Procedures/DeleteStockItem.sql} | 2 +- .../Stored Procedures/DeleteSupplier.sql} | 2 +- .../DeleteSupplierCategory.sql} | 2 +- .../DeleteTransactionType.sql} | 2 +- .../InsertBuyingGroupsFromJson.sql} | 4 +- .../InsertCitiesFromJson.sql} | 4 +- .../InsertColorsFromJson.sql} | 4 +- .../InsertCountriesFromJson.sql} | 2 +- .../InsertCustomerCategoriesFromJson.sql} | 4 +- .../InsertCustomersFromJson.sql} | 2 +- .../InsertDeliveryMethodsFromJson.sql} | 4 +- .../InsertPackageTypesFromJson.sql} | 4 +- .../InsertPaymentMethodsFromJson.sql} | 4 +- .../InsertStateProvincesFromJson.sql} | 2 +- .../InsertStockGroupsFromJson.sql} | 4 +- .../InsertStockItemsFromJson.sql} | 2 +- .../InsertSupplierCategoriesFromJson.sql} | 4 +- .../InsertSuppliersFromJson.sql} | 2 +- .../InsertTransactionTypesFromJson.sql} | 4 +- .../UpdateBuyingGroupFromJson.sql} | 4 +- .../Stored Procedures/UpdateCityFromJson.sql} | 4 +- .../UpdateColorFromJson.sql} | 4 +- .../UpdateCountryFromJson.sql} | 4 +- .../UpdateCustomerCategoryFromJson.sql} | 4 +- .../UpdateCustomerFromJson.sql} | 4 +- .../UpdateCustomerTransactionFromJson.sql} | 4 +- .../UpdateDeliveryMethodFromJson.sql} | 4 +- .../UpdateInvoiceFromJson.sql} | 4 +- .../UpdatePackageTypeFromJson.sql} | 4 +- .../UpdatePaumentMethodFromJson.sql} | 4 +- .../UpdatePurchaseOrderFromJson.sql} | 4 +- .../UpdateSalesOrderFromJson.sql} | 4 +- .../UpdateSpecialDealFromJson.sql} | 4 +- .../UpdateStateProvinceFromJson.sql} | 4 +- .../UpdateStockGroupFromJson.sql} | 4 +- .../UpdateStockItemFromJson.sql} | 4 +- .../UpdateSupplierCategoryFromJson.sql} | 4 +- .../UpdateSupplierFromJson.sql} | 4 +- .../UpdateSupplierTransactionFromJson.sql} | 4 +- .../UpdateTransactionTypeFromJson.sql} | 4 +- .../{Website => WebApi}/Views/Cities.sql | 2 +- .../Views/CustomerTransactions.sql | 2 +- .../wwi-ssdt/WebApi/Views/Customers.sql | 36 ++++ .../{Website => WebApi}/Views/Invoices.sql | 2 +- .../Views/PurchaseOrderLines.sql | 2 +- .../Views/PurchaseOrders.sql | 2 +- .../Views/SalesOrderLines.sql | 2 +- .../{Website => WebApi}/Views/SalesOrders.sql | 2 +- .../Views/SpecialDeals.sql | 2 +- .../Views/StateProvinces.sql | 2 +- .../{Website => WebApi}/Views/StockItems.sql | 2 +- .../Views/SupplierTransactions.sql | 2 +- .../wwi-ssdt/WebApi/Views/Suppliers.sql | 34 ++++ .../InvoicesUpdateFromJson.sql | 39 ----- .../wwi-ssdt/Website/Views/Customers.sql | 24 ++- .../wwi-ssdt/Website/Views/Suppliers.sql | 42 ++--- .../wwi-ssdt/WideWorldImporters.sqlproj | 156 ++++++++++-------- 69 files changed, 285 insertions(+), 244 deletions(-) create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Security/WebApi.sql rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/BuyingGroupsDelete.sql => WebApi/Stored Procedures/DeleteBuyingGroup.sql} (60%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/CitiesDelete.sql => WebApi/Stored Procedures/DeleteCity.sql} (61%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/ColorsDelete.sql => WebApi/Stored Procedures/DeleteColor.sql} (61%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/CountriesDelete.sql => WebApi/Stored Procedures/DeleteCountry.sql} (61%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/CustomersDelete.sql => WebApi/Stored Procedures/DeleteCustomer.sql} (59%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/CustomerCategoriesDelete.sql => WebApi/Stored Procedures/DeleteCustomerCategory.sql} (65%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/DeliveryMethodsDelete.sql => WebApi/Stored Procedures/DeleteDeliveryMethod.sql} (61%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/PackageTypesDelete.sql => WebApi/Stored Procedures/DeletePackageType.sql} (61%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/PaymentMethodsDelete.sql => WebApi/Stored Procedures/DeletePaymentMethod.sql} (59%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/StateProvincesDelete.sql => WebApi/Stored Procedures/DeleteStateProvince.sql} (61%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/StockGroupsDelete.sql => WebApi/Stored Procedures/DeleteStockGroup.sql} (59%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/StockItemsDelete.sql => WebApi/Stored Procedures/DeleteStockItem.sql} (60%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/SuppliersDelete.sql => WebApi/Stored Procedures/DeleteSupplier.sql} (61%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/SupplierCategoriesDelete.sql => WebApi/Stored Procedures/DeleteSupplierCategory.sql} (59%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/TransactionTypesDelete.sql => WebApi/Stored Procedures/DeleteTransactionType.sql} (59%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/BuyingGroupsInsertFromJson.sql => WebApi/Stored Procedures/InsertBuyingGroupsFromJson.sql} (59%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/CitiesInsertFromJson.sql => WebApi/Stored Procedures/InsertCitiesFromJson.sql} (76%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/ColorsInsertFromJson.sql => WebApi/Stored Procedures/InsertColorsFromJson.sql} (59%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/CountriesInsertFromJson.sql => WebApi/Stored Procedures/InsertCountriesFromJson.sql} (88%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/CustomerCategoriesInsertFromJson.sql => WebApi/Stored Procedures/InsertCustomerCategoriesFromJson.sql} (60%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/CustomersInsertFromJson.sql => WebApi/Stored Procedures/InsertCustomersFromJson.sql} (96%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/DeliveryMethodsInsertFromJson.sql => WebApi/Stored Procedures/InsertDeliveryMethodsFromJson.sql} (60%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/PackageTypesInsertFromJson.sql => WebApi/Stored Procedures/InsertPackageTypesFromJson.sql} (59%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/PaymentMethodsInsertFromJson.sql => WebApi/Stored Procedures/InsertPaymentMethodsFromJson.sql} (59%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/StateProvincesInsertFromJson.sql => WebApi/Stored Procedures/InsertStateProvincesFromJson.sql} (85%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/StockGroupsInsertFromJson.sql => WebApi/Stored Procedures/InsertStockGroupsFromJson.sql} (59%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/StockItemsInsertFromJson.sql => WebApi/Stored Procedures/InsertStockItemsFromJson.sql} (93%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/SupplierCategoriesInsertFromJson.sql => WebApi/Stored Procedures/InsertSupplierCategoriesFromJson.sql} (59%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/SuppliersInsertFromJson.sql => WebApi/Stored Procedures/InsertSuppliersFromJson.sql} (95%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/TransactionTypesInsertFromJson.sql => WebApi/Stored Procedures/InsertTransactionTypesFromJson.sql} (60%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/BuyingGroupsUpdateFromJson.sql => WebApi/Stored Procedures/UpdateBuyingGroupFromJson.sql} (60%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/CitiesUpdateFromJson.sql => WebApi/Stored Procedures/UpdateCityFromJson.sql} (75%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/ColorsUpdateFromJson.sql => WebApi/Stored Procedures/UpdateColorFromJson.sql} (60%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/CountriesUpdateFromJson.sql => WebApi/Stored Procedures/UpdateCountryFromJson.sql} (86%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/CustomerCategoriesUpdateFromJson.sql => WebApi/Stored Procedures/UpdateCustomerCategoryFromJson.sql} (60%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/CustomersUpdateFromJson.sql => WebApi/Stored Procedures/UpdateCustomerFromJson.sql} (95%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/CustomerTransactionsUpdateFromJson.sql => WebApi/Stored Procedures/UpdateCustomerTransactionFromJson.sql} (86%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/DeliveryMethodsUpdateFromJson.sql => WebApi/Stored Procedures/UpdateDeliveryMethodFromJson.sql} (61%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/UpdateInvoicesFromJson.sql => WebApi/Stored Procedures/UpdateInvoiceFromJson.sql} (91%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/PackageTypesUpdateFromJson.sql => WebApi/Stored Procedures/UpdatePackageTypeFromJson.sql} (60%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/PaymentMethodsUpdateFromJson.sql => WebApi/Stored Procedures/UpdatePaumentMethodFromJson.sql} (61%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/PurchaseOrdersUpdateFromJson.sql => WebApi/Stored Procedures/UpdatePurchaseOrderFromJson.sql} (86%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/SalesOrdersUpdateFromJson.sql => WebApi/Stored Procedures/UpdateSalesOrderFromJson.sql} (89%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/SpecialDealsUpdateFromJson.sql => WebApi/Stored Procedures/UpdateSpecialDealFromJson.sql} (91%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/StateProvincesUpdateFromJson.sql => WebApi/Stored Procedures/UpdateStateProvinceFromJson.sql} (81%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/StockGroupsUpdateFromJson.sql => WebApi/Stored Procedures/UpdateStockGroupFromJson.sql} (60%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/StockItemsUpdateFromJson.sql => WebApi/Stored Procedures/UpdateStockItemFromJson.sql} (92%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/SupplierCategoriesUpdateFromJson.sql => WebApi/Stored Procedures/UpdateSupplierCategoryFromJson.sql} (60%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/SuppliersUpdateFromJson.sql => WebApi/Stored Procedures/UpdateSupplierFromJson.sql} (94%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/SupplierTransactionsUpdateFromJson.sql => WebApi/Stored Procedures/UpdateSupplierTransactionFromJson.sql} (90%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website/Stored Procedures/TransactionTypesUpdateFromJson.sql => WebApi/Stored Procedures/UpdateTransactionTypeFromJson.sql} (61%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website => WebApi}/Views/Cities.sql (94%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website => WebApi}/Views/CustomerTransactions.sql (94%) create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Customers.sql rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website => WebApi}/Views/Invoices.sql (97%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website => WebApi}/Views/PurchaseOrderLines.sql (91%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website => WebApi}/Views/PurchaseOrders.sql (92%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website => WebApi}/Views/SalesOrderLines.sql (92%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website => WebApi}/Views/SalesOrders.sql (96%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website => WebApi}/Views/SpecialDeals.sql (95%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website => WebApi}/Views/StateProvinces.sql (95%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website => WebApi}/Views/StockItems.sql (97%) rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/{Website => WebApi}/Views/SupplierTransactions.sql (95%) create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Suppliers.sql delete mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/InvoicesUpdateFromJson.sql diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Security/WebApi.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Security/WebApi.sql new file mode 100644 index 00000000..702f4bb0 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Security/WebApi.sql @@ -0,0 +1,9 @@ +CREATE SCHEMA [WebApi] + AUTHORIZATION [dbo]; + + + + +GO +EXECUTE sp_addextendedproperty @name = N'Description', @value = N'Views and stored procedures that provide the only access for the application Web API', @level0type = N'SCHEMA', @level0name = N'WebApi'; + diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/BuyingGroupsDelete.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteBuyingGroup.sql similarity index 60% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/BuyingGroupsDelete.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteBuyingGroup.sql index b27cf967..285a2836 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/BuyingGroupsDelete.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteBuyingGroup.sql @@ -1,5 +1,5 @@  -CREATE PROCEDURE [Website].[BuyingGroupsDelete](@BuyingGroupID int) +CREATE PROCEDURE [WebApi].[DeleteBuyingGroup](@BuyingGroupID int) WITH EXECUTE AS OWNER AS BEGIN DELETE Sales.BuyingGroups diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CitiesDelete.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteCity.sql similarity index 61% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CitiesDelete.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteCity.sql index 52067b8b..775aecca 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CitiesDelete.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteCity.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE Website.CitiesDelete(@CityID int) +CREATE PROCEDURE [WebApi].DeleteCity(@CityID int) WITH EXECUTE AS OWNER AS BEGIN DELETE Application.Cities diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/ColorsDelete.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteColor.sql similarity index 61% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/ColorsDelete.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteColor.sql index b8c06154..24ecd0c4 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/ColorsDelete.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteColor.sql @@ -1,5 +1,5 @@  -CREATE PROCEDURE [Website].[ColorsDelete](@ColorID int) +CREATE PROCEDURE [WebApi].[DeleteColor](@ColorID int) WITH EXECUTE AS OWNER AS BEGIN DELETE Warehouse.Colors diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CountriesDelete.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteCountry.sql similarity index 61% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CountriesDelete.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteCountry.sql index 811722c8..332d0d0e 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CountriesDelete.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteCountry.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE Website.CountriesDelete(@CountryID int) +CREATE PROCEDURE WebApi.DeleteCountry(@CountryID int) WITH EXECUTE AS OWNER AS BEGIN DELETE Application.Countries diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomersDelete.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteCustomer.sql similarity index 59% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomersDelete.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteCustomer.sql index 8ffb383e..a3806d76 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomersDelete.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteCustomer.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE Website.CustomersDelete(@CustomerID int) +CREATE PROCEDURE WebApi.DeleteCustomer(@CustomerID int) WITH EXECUTE AS OWNER AS BEGIN DELETE Sales.Customers diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomerCategoriesDelete.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteCustomerCategory.sql similarity index 65% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomerCategoriesDelete.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteCustomerCategory.sql index b50eb73d..13f69b49 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomerCategoriesDelete.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteCustomerCategory.sql @@ -1,7 +1,4 @@ - - - -CREATE PROCEDURE [Website].[CustomerCategoriesDelete](@CustomerCategoryID int) +CREATE PROCEDURE [WebApi].[DeleteCustomerCategory](@CustomerCategoryID int) WITH EXECUTE AS OWNER AS BEGIN DELETE Sales.CustomerCategories diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/DeliveryMethodsDelete.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteDeliveryMethod.sql similarity index 61% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/DeliveryMethodsDelete.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteDeliveryMethod.sql index a526876e..4fe835fe 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/DeliveryMethodsDelete.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteDeliveryMethod.sql @@ -1,7 +1,7 @@  -CREATE PROCEDURE [Website].[DeliveryMethodsDelete](@DeliveryMethodID int) +CREATE PROCEDURE [WebApi].[DeleteDeliveryMethod](@DeliveryMethodID int) WITH EXECUTE AS OWNER AS BEGIN DELETE Application.DeliveryMethods diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PackageTypesDelete.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeletePackageType.sql similarity index 61% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PackageTypesDelete.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeletePackageType.sql index f8520541..76cee9ef 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PackageTypesDelete.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeletePackageType.sql @@ -1,5 +1,5 @@  -CREATE PROCEDURE [Website].[PackageTypesDelete](@PackageTypeID int) +CREATE PROCEDURE [WebApi].[DeletePackageType](@PackageTypeID int) WITH EXECUTE AS OWNER AS BEGIN DELETE Warehouse.PackageTypes diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PaymentMethodsDelete.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeletePaymentMethod.sql similarity index 59% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PaymentMethodsDelete.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeletePaymentMethod.sql index 2116f713..b224884c 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PaymentMethodsDelete.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeletePaymentMethod.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE [Website].[PaymentMethodsDelete](@PaymentMethodID int) +CREATE PROCEDURE [WebApi].[DeletePaymentMethod](@PaymentMethodID int) WITH EXECUTE AS OWNER AS BEGIN DELETE Application.PaymentMethods diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StateProvincesDelete.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteStateProvince.sql similarity index 61% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StateProvincesDelete.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteStateProvince.sql index 5867200a..360cb0f2 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StateProvincesDelete.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteStateProvince.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE Website.StateProvincesDelete(@StateProvinceID int) +CREATE PROCEDURE WebApi.DeleteStateProvince(@StateProvinceID int) WITH EXECUTE AS OWNER AS BEGIN DELETE Application.StateProvinces diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockGroupsDelete.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteStockGroup.sql similarity index 59% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockGroupsDelete.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteStockGroup.sql index 817ae042..28be578f 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockGroupsDelete.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteStockGroup.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE [Website].[StockGroupsDelete](@StockGroupID int) +CREATE PROCEDURE [WebApi].[DeleteStockGroup](@StockGroupID int) WITH EXECUTE AS OWNER AS BEGIN DELETE Warehouse.StockGroups diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockItemsDelete.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteStockItem.sql similarity index 60% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockItemsDelete.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteStockItem.sql index 9763071a..39e6b821 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockItemsDelete.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteStockItem.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE Website.StockItemsDelete(@StockItemID int) +CREATE PROCEDURE WebApi.DeleteStockItem(@StockItemID int) WITH EXECUTE AS OWNER AS BEGIN DELETE Warehouse.StockItems diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SuppliersDelete.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteSupplier.sql similarity index 61% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SuppliersDelete.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteSupplier.sql index e449df70..a1c00c7d 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SuppliersDelete.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteSupplier.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE Website.SuppliersDelete(@SupplierID int) +CREATE PROCEDURE WebApi.DeleteSupplier(@SupplierID int) WITH EXECUTE AS OWNER AS BEGIN DELETE Purchasing.Suppliers diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SupplierCategoriesDelete.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteSupplierCategory.sql similarity index 59% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SupplierCategoriesDelete.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteSupplierCategory.sql index 042f38d2..143e088a 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SupplierCategoriesDelete.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteSupplierCategory.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE [Website].[SupplierCategoriesDelete](@SupplierCategoryID int) +CREATE PROCEDURE [WebApi].[DeleteSupplierCategory](@SupplierCategoryID int) WITH EXECUTE AS OWNER AS BEGIN DELETE Purchasing.SupplierCategories diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/TransactionTypesDelete.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteTransactionType.sql similarity index 59% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/TransactionTypesDelete.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteTransactionType.sql index 70985f12..5d95005e 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/TransactionTypesDelete.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteTransactionType.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE [Website].[TransactionTypesDelete](@TransactionTypeID int) +CREATE PROCEDURE [WebApi].[DeleteTransactionType](@TransactionTypeID int) WITH EXECUTE AS OWNER AS BEGIN DELETE Application.TransactionTypes diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/BuyingGroupsInsertFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertBuyingGroupsFromJson.sql similarity index 59% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/BuyingGroupsInsertFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertBuyingGroupsFromJson.sql index 5bceef8b..81a8179f 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/BuyingGroupsInsertFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertBuyingGroupsFromJson.sql @@ -1,9 +1,9 @@ -CREATE PROCEDURE [Website].[BuyingGroupsInsertFromJson](@BuyingGroupsJson NVARCHAR(MAX), @UserID int) +CREATE PROCEDURE [WebApi].[InsertBuyingGroupsFromJson](@BuyingGroups NVARCHAR(MAX), @UserID int) WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Sales.BuyingGroups(BuyingGroupName,LastEditedBy) OUTPUT INSERTED.BuyingGroupID SELECT BuyingGroupName,@UserID - FROM OPENJSON(@BuyingGroupsJson) + FROM OPENJSON(@BuyingGroups) WITH (BuyingGroupName nvarchar(50)) END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CitiesInsertFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCitiesFromJson.sql similarity index 76% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CitiesInsertFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCitiesFromJson.sql index aee720f2..127e27a9 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CitiesInsertFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCitiesFromJson.sql @@ -1,10 +1,10 @@ -CREATE PROCEDURE Website.CitiesInsertFromJson(@CitiesJson NVARCHAR(MAX), @UserID int) +CREATE PROCEDURE WebApi.InsertCitiesFromJson(@Cities NVARCHAR(MAX), @UserID int) WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Application.Cities(CityName,StateProvinceID,LatestRecordedPopulation,LastEditedBy) OUTPUT INSERTED.CityID SELECT CityName,StateProvinceID,LatestRecordedPopulation,@UserID - FROM OPENJSON(@CitiesJson) + FROM OPENJSON(@Cities) WITH ( CityName nvarchar(50) N'strict $.CityName', StateProvinceID int N'strict $.StateProvinceID', diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/ColorsInsertFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertColorsFromJson.sql similarity index 59% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/ColorsInsertFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertColorsFromJson.sql index b8c86a7b..b9780ad9 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/ColorsInsertFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertColorsFromJson.sql @@ -1,9 +1,9 @@ -CREATE PROCEDURE [Website].[ColorsInsertFromJson](@ColorsJson NVARCHAR(MAX), @UserID int) +CREATE PROCEDURE [WebApi].[InsertColorsFromJson](@Colors NVARCHAR(MAX), @UserID int) WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Warehouse.Colors(ColorName,LastEditedBy) OUTPUT INSERTED.ColorID SELECT ColorName,@UserID - FROM OPENJSON(@ColorsJson) + FROM OPENJSON(@Colors) WITH (ColorName nvarchar(50)) END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CountriesInsertFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCountriesFromJson.sql similarity index 88% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CountriesInsertFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCountriesFromJson.sql index 23780698..1154d5e7 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CountriesInsertFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCountriesFromJson.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE [Website].[CountriesInsertFromJson](@Countries NVARCHAR(MAX), @UserID int) +CREATE PROCEDURE [WebApi].[InsertCountriesFromJson](@Countries NVARCHAR(MAX), @UserID int) WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Application.Countries(CountryName,FormalName,IsoAlpha3Code,IsoNumericCode,CountryType,LatestRecordedPopulation,Continent,Region,Subregion, LastEditedBy) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomerCategoriesInsertFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCustomerCategoriesFromJson.sql similarity index 60% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomerCategoriesInsertFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCustomerCategoriesFromJson.sql index 89452182..d05ca6e7 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomerCategoriesInsertFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCustomerCategoriesFromJson.sql @@ -1,12 +1,12 @@  -CREATE PROCEDURE [Website].[CustomerCategoriesInsertFromJson](@CustomerCategoriesJson NVARCHAR(MAX), @UserID int) +CREATE PROCEDURE [WebApi].[InsertCustomerCategoriesFromJson](@CustomerCategories NVARCHAR(MAX), @UserID int) WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Sales.CustomerCategories(CustomerCategoryName,LastEditedBy) OUTPUT INSERTED.CustomerCategoryID SELECT CustomerCategoryName,@UserID - FROM OPENJSON(@CustomerCategoriesJson) + FROM OPENJSON(@CustomerCategories) WITH (CustomerCategoryName nvarchar(50)) END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomersInsertFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCustomersFromJson.sql similarity index 96% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomersInsertFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCustomersFromJson.sql index df85234b..2f17bc38 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomersInsertFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCustomersFromJson.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE [Website].[CustomersInsertFromJson](@Customers NVARCHAR(MAX), @UserID int) +CREATE PROCEDURE [WebApi].[InsertCustomersFromJson](@Customers NVARCHAR(MAX), @UserID int) WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Sales.Customers(CustomerName,BillToCustomerID,CustomerCategoryID,BuyingGroupID,PrimaryContactPersonID,AlternateContactPersonID,DeliveryMethodID,DeliveryCityID,PostalCityID,CreditLimit,AccountOpenedDate,StandardDiscountPercentage,IsStatementSent,IsOnCreditHold,PaymentDays,PhoneNumber,FaxNumber,DeliveryRun,RunPosition,WebsiteURL,DeliveryAddressLine1,DeliveryAddressLine2,DeliveryPostalCode,PostalAddressLine1,PostalAddressLine2,PostalPostalCode,LastEditedBy) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/DeliveryMethodsInsertFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertDeliveryMethodsFromJson.sql similarity index 60% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/DeliveryMethodsInsertFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertDeliveryMethodsFromJson.sql index f1d349dc..81339cc3 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/DeliveryMethodsInsertFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertDeliveryMethodsFromJson.sql @@ -1,9 +1,9 @@ -CREATE PROCEDURE [Website].[DeliveryMethodsInsertFromJson](@DeliveryMethodsJson NVARCHAR(MAX), @UserID int) +CREATE PROCEDURE [WebApi].[InsertDeliveryMethodsFromJson](@DeliveryMethods NVARCHAR(MAX), @UserID int) WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Application.DeliveryMethods(DeliveryMethodName,LastEditedBy) OUTPUT INSERTED.DeliveryMethodID SELECT DeliveryMethodName,@UserID - FROM OPENJSON(@DeliveryMethodsJson) + FROM OPENJSON(@DeliveryMethods) WITH (DeliveryMethodName nvarchar(50)) END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PackageTypesInsertFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertPackageTypesFromJson.sql similarity index 59% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PackageTypesInsertFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertPackageTypesFromJson.sql index 9ef1dae8..f87b4f33 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PackageTypesInsertFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertPackageTypesFromJson.sql @@ -1,9 +1,9 @@ -CREATE PROCEDURE [Website].[PackageTypesInsertFromJson](@PackageTypesJson NVARCHAR(MAX), @UserID int) +CREATE PROCEDURE [WebApi].[InsertPackageTypesFromJson](@PackageTypes NVARCHAR(MAX), @UserID int) WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Warehouse.PackageTypes(PackageTypeName,LastEditedBy) OUTPUT INSERTED.PackageTypeID SELECT PackageTypeName,@UserID - FROM OPENJSON(@PackageTypesJson) + FROM OPENJSON(@PackageTypes) WITH (PackageTypeName nvarchar(50)) END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PaymentMethodsInsertFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertPaymentMethodsFromJson.sql similarity index 59% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PaymentMethodsInsertFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertPaymentMethodsFromJson.sql index fcee198b..48efa630 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PaymentMethodsInsertFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertPaymentMethodsFromJson.sql @@ -1,9 +1,9 @@ -CREATE PROCEDURE [Website].[PaymentMethodsInsertFromJson](@PaymentMethodsJson NVARCHAR(MAX), @UserID int) +CREATE PROCEDURE [WebApi].[InsertPaymentMethodsFromJson](@PaymentMethods NVARCHAR(MAX), @UserID int) WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Application.PaymentMethods(PaymentMethodName,LastEditedBy) OUTPUT INSERTED.PaymentMethodID SELECT PaymentMethodName,@UserID - FROM OPENJSON(@PaymentMethodsJson) + FROM OPENJSON(@PaymentMethods) WITH (PaymentMethodName nvarchar(50)) END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StateProvincesInsertFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertStateProvincesFromJson.sql similarity index 85% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StateProvincesInsertFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertStateProvincesFromJson.sql index 644e83cf..ce5e3008 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StateProvincesInsertFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertStateProvincesFromJson.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE [Website].[StateProvincesInsertFromJson](@StateProvinces NVARCHAR(MAX), @UserID int) +CREATE PROCEDURE [WebApi].[InsertStateProvincesFromJson](@StateProvinces NVARCHAR(MAX), @UserID int) WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Application.StateProvinces(StateProvinceCode,StateProvinceName,CountryID,SalesTerritory,LatestRecordedPopulation,LastEditedBy) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockGroupsInsertFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertStockGroupsFromJson.sql similarity index 59% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockGroupsInsertFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertStockGroupsFromJson.sql index c95b876b..a26d38b7 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockGroupsInsertFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertStockGroupsFromJson.sql @@ -1,9 +1,9 @@ -CREATE PROCEDURE [Website].[StockGroupsInsertFromJson](@StockGroupsJson NVARCHAR(MAX), @UserID int) +CREATE PROCEDURE [WebApi].[InsertStockGroupsFromJson](@StockGroups NVARCHAR(MAX), @UserID int) WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Warehouse.StockGroups(StockGroupName,LastEditedBy) OUTPUT INSERTED.StockGroupID SELECT StockGroupName,@UserID - FROM OPENJSON(@StockGroupsJson) + FROM OPENJSON(@StockGroups) WITH (StockGroupName nvarchar(50)) END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockItemsInsertFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertStockItemsFromJson.sql similarity index 93% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockItemsInsertFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertStockItemsFromJson.sql index 01dad348..f52c4c96 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockItemsInsertFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertStockItemsFromJson.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE [Website].[StockItemsInsertFromJson](@StockItems NVARCHAR(MAX),@UserID int) +CREATE PROCEDURE [WebApi].[InsertStockItemsFromJson](@StockItems NVARCHAR(MAX),@UserID int) WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Warehouse.StockItems(StockItemName,SupplierID,ColorID,UnitPackageID,OuterPackageID,Brand,Size,LeadTimeDays,QuantityPerOuter,IsChillerStock,Barcode,TaxRate,UnitPrice,RecommendedRetailPrice,TypicalWeightPerUnit,MarketingComments,InternalComments,Photo,CustomFields,LastEditedBy) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SupplierCategoriesInsertFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertSupplierCategoriesFromJson.sql similarity index 59% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SupplierCategoriesInsertFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertSupplierCategoriesFromJson.sql index 9a64817b..8f058898 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SupplierCategoriesInsertFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertSupplierCategoriesFromJson.sql @@ -1,9 +1,9 @@ -CREATE PROCEDURE [Website].[SupplierCategoriesInsertFromJson](@SupplierCategoriesJson NVARCHAR(MAX), @UserID int) +CREATE PROCEDURE [WebApi].[InsertSupplierCategoriesFromJson](@SupplierCategories NVARCHAR(MAX), @UserID int) WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Purchasing.SupplierCategories(SupplierCategoryName,LastEditedBy) OUTPUT INSERTED.SupplierCategoryID SELECT SupplierCategoryName,@UserID - FROM OPENJSON(@SupplierCategoriesJson) + FROM OPENJSON(@SupplierCategories) WITH (SupplierCategoryName nvarchar(50)) END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SuppliersInsertFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertSuppliersFromJson.sql similarity index 95% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SuppliersInsertFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertSuppliersFromJson.sql index 349b9450..52538306 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SuppliersInsertFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertSuppliersFromJson.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE [Website].[SuppliersInsertFromJson](@Suppliers NVARCHAR(MAX), @UserID int) +CREATE PROCEDURE [WebApi].[InsertSuppliersFromJson](@Suppliers NVARCHAR(MAX), @UserID int) WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Purchasing.Suppliers(SupplierName,SupplierCategoryID,PrimaryContactPersonID,AlternateContactPersonID,DeliveryMethodID,DeliveryCityID,PostalCityID,SupplierReference,BankAccountName,BankAccountBranch,BankAccountCode,BankAccountNumber,BankInternationalCode,PaymentDays,InternalComments,PhoneNumber,FaxNumber,WebsiteURL,DeliveryAddressLine1,DeliveryAddressLine2,DeliveryPostalCode,PostalAddressLine1,PostalAddressLine2,PostalPostalCode, LastEditedBy) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/TransactionTypesInsertFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertTransactionTypesFromJson.sql similarity index 60% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/TransactionTypesInsertFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertTransactionTypesFromJson.sql index b11378f3..e1ecb10e 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/TransactionTypesInsertFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertTransactionTypesFromJson.sql @@ -1,9 +1,9 @@ -CREATE PROCEDURE [Website].[TransactionTypesInsertFromJson](@TransactionTypesJson NVARCHAR(MAX), @UserID int) +CREATE PROCEDURE [WebApi].[InsertTransactionTypesFromJson](@TransactionTypes NVARCHAR(MAX), @UserID int) WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Application.TransactionTypes(TransactionTypeName,LastEditedBy) OUTPUT INSERTED.TransactionTypeID SELECT TransactionTypeName,@UserID - FROM OPENJSON(@TransactionTypesJson) + FROM OPENJSON(@TransactionTypes) WITH (TransactionTypeName nvarchar(50)) END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/BuyingGroupsUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateBuyingGroupFromJson.sql similarity index 60% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/BuyingGroupsUpdateFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateBuyingGroupFromJson.sql index cbe08b45..e6934fde 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/BuyingGroupsUpdateFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateBuyingGroupFromJson.sql @@ -1,10 +1,10 @@ -CREATE PROCEDURE [Website].[BuyingGroupsUpdateFromJson](@BuyingGroupsJson NVARCHAR(MAX), @BuyingGroupID int,@UserID int) +CREATE PROCEDURE [WebApi].[UpdateBuyingGroupFromJson](@BuyingGroup NVARCHAR(MAX), @BuyingGroupID int,@UserID int) WITH EXECUTE AS OWNER AS BEGIN UPDATE Sales.BuyingGroups SET BuyingGroupName = json.BuyingGroupName, LastEditedBy = @UserID - FROM OPENJSON (@BuyingGroupsJson) + FROM OPENJSON (@BuyingGroup) WITH (BuyingGroupName nvarchar(50)) as json WHERE Sales.BuyingGroups.BuyingGroupID = @BuyingGroupID diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CitiesUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCityFromJson.sql similarity index 75% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CitiesUpdateFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCityFromJson.sql index 3310b20f..ba6133d4 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CitiesUpdateFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCityFromJson.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE [Website].[CitiesUpdateFromJson](@CitiesJson NVARCHAR(MAX), @CityID int,@UserID int) +CREATE PROCEDURE [WebApi].[UpdateCityFromJson](@City NVARCHAR(MAX), @CityID int,@UserID int) WITH EXECUTE AS OWNER AS BEGIN UPDATE Application.Cities SET @@ -6,7 +6,7 @@ AS BEGIN StateProvinceID = json.StateProvinceID, LatestRecordedPopulation = json.LatestRecordedPopulation, LastEditedBy = @UserID - FROM OPENJSON (@CitiesJson) + FROM OPENJSON (@City) WITH ( CityName nvarchar(50) N'strict $.CityName', StateProvinceID int N'strict $.StateProvinceID', diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/ColorsUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateColorFromJson.sql similarity index 60% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/ColorsUpdateFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateColorFromJson.sql index 43f7c30c..72c4b819 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/ColorsUpdateFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateColorFromJson.sql @@ -1,10 +1,10 @@ -CREATE PROCEDURE [Website].[ColorsUpdateFromJson](@ColorsJson NVARCHAR(MAX), @ColorID int,@UserID int) +CREATE PROCEDURE [WebApi].[UpdateColorFromJson](@Color NVARCHAR(MAX), @ColorID int, @UserID int) WITH EXECUTE AS OWNER AS BEGIN UPDATE Warehouse.Colors SET ColorName = json.ColorName, LastEditedBy = @UserID - FROM OPENJSON (@ColorsJson) + FROM OPENJSON (@Color) WITH (ColorName nvarchar(50)) as json WHERE Warehouse.Colors.ColorID = @ColorID diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CountriesUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCountryFromJson.sql similarity index 86% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CountriesUpdateFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCountryFromJson.sql index fac3d343..527538be 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CountriesUpdateFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCountryFromJson.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE [Website].[CountriesUpdateFromJson](@Countries NVARCHAR(MAX), @CountryID int, @UserID int) +CREATE PROCEDURE [WebApi].[UpdateCountryFromJson](@Country NVARCHAR(MAX), @CountryID int, @UserID int) WITH EXECUTE AS OWNER AS BEGIN UPDATE Application.Countries SET CountryName = json.CountryName, @@ -11,7 +11,7 @@ AS BEGIN UPDATE Application.Countries SET Region = json.Region, Subregion = json.Subregion, LastEditedBy = @UserID - FROM OPENJSON (@Countries) + FROM OPENJSON (@Country) WITH ( CountryName nvarchar(60) N'strict $.CountryName', FormalName nvarchar(60) N'strict $.FormalName', diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomerCategoriesUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCustomerCategoryFromJson.sql similarity index 60% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomerCategoriesUpdateFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCustomerCategoryFromJson.sql index da3bd9a9..9c4df330 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomerCategoriesUpdateFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCustomerCategoryFromJson.sql @@ -1,12 +1,12 @@  -CREATE PROCEDURE [Website].[CustomerCategoriesUpdateFromJson](@CustomerCategoriesJson NVARCHAR(MAX), @CustomerCategoryID int, @UserID int) +CREATE PROCEDURE [WebApi].[UpdateCustomerCategoryFromJson](@CustomerCategory NVARCHAR(MAX), @CustomerCategoryID int, @UserID int) WITH EXECUTE AS OWNER AS BEGIN UPDATE Sales.CustomerCategories SET CustomerCategoryName = json.CustomerCategoryName, LastEditedBy = @UserID - FROM OPENJSON (@CustomerCategoriesJson) + FROM OPENJSON (@CustomerCategory) WITH (CustomerCategoryName nvarchar(50)) as json WHERE Sales.CustomerCategories.CustomerCategoryID = @CustomerCategoryID diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomersUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCustomerFromJson.sql similarity index 95% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomersUpdateFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCustomerFromJson.sql index 010a3ccc..724772e7 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomersUpdateFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCustomerFromJson.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE [Website].[CustomersUpdateFromJson](@Customers NVARCHAR(MAX), @CustomerID int, @UserID int) +CREATE PROCEDURE [WebApi].[UpdateCustomerFromJson](@Customer NVARCHAR(MAX), @CustomerID int, @UserID int) WITH EXECUTE AS OWNER AS BEGIN UPDATE Sales.Customers SET @@ -29,7 +29,7 @@ AS BEGIN PostalAddressLine2 = json.PostalAddressLine2, PostalPostalCode = ISNULL(json.PostalPostalCode, Sales.Customers.PostalPostalCode), LastEditedBy = @UserID - FROM OPENJSON(@Customers) + FROM OPENJSON(@Customer) WITH ( CustomerName nvarchar(100), BillToCustomerID int, diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomerTransactionsUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCustomerTransactionFromJson.sql similarity index 86% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomerTransactionsUpdateFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCustomerTransactionFromJson.sql index 3b1c8a15..b70b3c49 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/CustomerTransactionsUpdateFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCustomerTransactionFromJson.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE Website.CustomerTransactionsUpdateFromJson(@CustomerTransactionsJson NVARCHAR(MAX), @CustomerTransactionID int, @UserID int) +CREATE PROCEDURE WebApi.UpdateCustomerTransactionUpdateFromJson(@CustomerTransaction NVARCHAR(MAX), @CustomerTransactionID int, @UserID int) WITH EXECUTE AS OWNER AS BEGIN UPDATE Sales.CustomerTransactions SET @@ -11,7 +11,7 @@ AS BEGIN OutstandingBalance = ISNULL(json.OutstandingBalance, Sales.CustomerTransactions.OutstandingBalance), FinalizationDate = ISNULL(json.FinalizationDate, Sales.CustomerTransactions.FinalizationDate), LastEditedBy = @UserID - FROM OPENJSON(@CustomerTransactionsJson) + FROM OPENJSON(@CustomerTransaction) WITH ( TransactionTypeID int, PaymentMethodID int, diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/DeliveryMethodsUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateDeliveryMethodFromJson.sql similarity index 61% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/DeliveryMethodsUpdateFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateDeliveryMethodFromJson.sql index 522ef02e..a3006a8a 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/DeliveryMethodsUpdateFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateDeliveryMethodFromJson.sql @@ -1,10 +1,10 @@ -CREATE PROCEDURE [Website].[DeliveryMethodsUpdateFromJson](@DeliveryMethodsJson NVARCHAR(MAX), @DeliveryMethodID int,@UserID int) +CREATE PROCEDURE [WebApi].[UpdateDeliveryMethodFromJson](@DeliveryMethod NVARCHAR(MAX), @DeliveryMethodID int,@UserID int) WITH EXECUTE AS OWNER AS BEGIN UPDATE Application.DeliveryMethods SET DeliveryMethodName = json.DeliveryMethodName, LastEditedBy = @UserID - FROM OPENJSON (@DeliveryMethodsJson) + FROM OPENJSON (@DeliveryMethod) WITH (DeliveryMethodName nvarchar(50)) as json WHERE Application.DeliveryMethods.DeliveryMethodID = @DeliveryMethodID diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/UpdateInvoicesFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateInvoiceFromJson.sql similarity index 91% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/UpdateInvoicesFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateInvoiceFromJson.sql index be4998ef..db1b10e3 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/UpdateInvoicesFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateInvoiceFromJson.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE Website.UpdateInvoicesFromJson(@InvoicesJson NVARCHAR(MAX), @InvoiceID int, @UserID int) +CREATE PROCEDURE WebApi.UpdateInvoiceFromJson(@Invoice NVARCHAR(MAX), @InvoiceID int, @UserID int) WITH EXECUTE AS OWNER AS BEGIN UPDATE Sales.Invoices SET CustomerID = ISNULL(json.CustomerID, Sales.Invoices.CustomerID), @@ -16,7 +16,7 @@ AS BEGIN UPDATE Sales.Invoices SET DeliveryRun = json.DeliveryRun, RunPosition = json.RunPosition, LastEditedBy = @UserID - FROM OPENJSON(@InvoicesJson) + FROM OPENJSON(@Invoice) WITH ( CustomerID int, BillToCustomerID int, diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PackageTypesUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdatePackageTypeFromJson.sql similarity index 60% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PackageTypesUpdateFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdatePackageTypeFromJson.sql index f6465924..3f4b6973 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PackageTypesUpdateFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdatePackageTypeFromJson.sql @@ -1,10 +1,10 @@ -CREATE PROCEDURE [Website].[PackageTypesUpdateFromJson](@PackageTypesJson NVARCHAR(MAX), @PackageTypeID int,@UserID int) +CREATE PROCEDURE [WebApi].[UpdatePackageTypeFromJson](@PackageType NVARCHAR(MAX), @PackageTypeID int,@UserID int) WITH EXECUTE AS OWNER AS BEGIN UPDATE Warehouse.PackageTypes SET PackageTypeName = json.PackageTypeName, LastEditedBy = @UserID - FROM OPENJSON (@PackageTypesJson) + FROM OPENJSON (@PackageType) WITH (PackageTypeName nvarchar(50)) as json WHERE Warehouse.PackageTypes.PackageTypeID = @PackageTypeID diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PaymentMethodsUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdatePaumentMethodFromJson.sql similarity index 61% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PaymentMethodsUpdateFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdatePaumentMethodFromJson.sql index f833784c..9bf9cd5d 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PaymentMethodsUpdateFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdatePaumentMethodFromJson.sql @@ -1,10 +1,10 @@ -CREATE PROCEDURE [Website].[PaymentMethodsUpdateFromJson](@PaymentMethodsJson NVARCHAR(MAX), @PaymentMethodID int,@UserID int) +CREATE PROCEDURE [WebApi].[UpdatePaymentMethodFromJson](@PaymentMethod NVARCHAR(MAX), @PaymentMethodID int,@UserID int) WITH EXECUTE AS OWNER AS BEGIN UPDATE Application.PaymentMethods SET PaymentMethodName = json.PaymentMethodName, LastEditedBy = @UserID - FROM OPENJSON (@PaymentMethodsJson) + FROM OPENJSON (@PaymentMethod) WITH (PaymentMethodName nvarchar(50)) as json WHERE Application.PaymentMethods.PaymentMethodID = @PaymentMethodID diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PurchaseOrdersUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdatePurchaseOrderFromJson.sql similarity index 86% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PurchaseOrdersUpdateFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdatePurchaseOrderFromJson.sql index 2b7e163d..5a0e107d 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/PurchaseOrdersUpdateFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdatePurchaseOrderFromJson.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE Website.PurchaseOrdersUpdateFromJson(@PurchaseOrders NVARCHAR(MAX), @PurchaseOrderID int, @UserID int) +CREATE PROCEDURE WebApi.UpdatePurchaseOrderFromJson(@PurchaseOrder NVARCHAR(MAX), @PurchaseOrderID int, @UserID int) WITH EXECUTE AS OWNER AS BEGIN UPDATE Purchasing.PurchaseOrders SET SupplierID = ISNULL(json.SupplierID,Purchasing.PurchaseOrders.SupplierID), @@ -8,7 +8,7 @@ AS BEGIN UPDATE Purchasing.PurchaseOrders SET ExpectedDeliveryDate = ISNULL(json.ExpectedDeliveryDate,Purchasing.PurchaseOrders.ExpectedDeliveryDate), SupplierReference = ISNULL(json.SupplierReference,Purchasing.PurchaseOrders.SupplierReference), IsOrderFinalized = ISNULL(json.IsOrderFinalized,Purchasing.PurchaseOrders.IsOrderFinalized) - FROM OPENJSON(@PurchaseOrders) + FROM OPENJSON(@PurchaseOrder) WITH ( SupplierID int, OrderDate date, diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SalesOrdersUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSalesOrderFromJson.sql similarity index 89% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SalesOrdersUpdateFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSalesOrderFromJson.sql index f4d1f4f6..f96971a8 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SalesOrdersUpdateFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSalesOrderFromJson.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE [Website].[SalesOrdersUpdateFromJson](@SalesOrders NVARCHAR(MAX), @SalesOrderID int, @UserID int) +CREATE PROCEDURE [WebApi].[UpdateSalesOrderFromJson](@SalesOrder NVARCHAR(MAX), @SalesOrderID int, @UserID int) WITH EXECUTE AS OWNER AS BEGIN UPDATE Sales.Orders SET SalespersonPersonID = ISNULL(json.SalespersonPersonID,Sales.Orders.SalespersonPersonID), @@ -11,7 +11,7 @@ AS BEGIN UPDATE Sales.Orders SET IsUndersupplyBackordered = ISNULL(json.IsUndersupplyBackordered,Sales.Orders.IsUndersupplyBackordered), PickingCompletedWhen = ISNULL(json.PickingCompletedWhen,Sales.Orders.PickingCompletedWhen), LastEditedBy = @UserID - FROM OPENJSON(@SalesOrders) + FROM OPENJSON(@SalesOrder) WITH ( SalespersonPersonID int, PickedByPersonID int, diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SpecialDealsUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSpecialDealFromJson.sql similarity index 91% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SpecialDealsUpdateFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSpecialDealFromJson.sql index 38ae60e2..f8fdc183 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SpecialDealsUpdateFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSpecialDealFromJson.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE Website.[SpecialDealsUpdateFromJson](@Deals NVARCHAR(MAX), @DealID int, @UserID int) +CREATE PROCEDURE WebApi.[UpdateSpecialDealFromJson](@Deal NVARCHAR(MAX), @DealID int, @UserID int) WITH EXECUTE AS OWNER AS BEGIN UPDATE Sales.SpecialDeals SET StockItemID = ISNULL(json.StockItemID,Sales.SpecialDeals.StockItemID), @@ -13,7 +13,7 @@ AS BEGIN UPDATE Sales.SpecialDeals SET DiscountPercentage = ISNULL(json.DiscountPercentage,Sales.SpecialDeals.DiscountPercentage), UnitPrice = ISNULL(json.UnitPrice,Sales.SpecialDeals.UnitPrice), LastEditedBy = @UserID - FROM OPENJSON(@Deals) + FROM OPENJSON(@Deal) WITH ( StockItemID int, CustomerID int, diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StateProvincesUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateStateProvinceFromJson.sql similarity index 81% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StateProvincesUpdateFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateStateProvinceFromJson.sql index 0b992f2a..3985b478 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StateProvincesUpdateFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateStateProvinceFromJson.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE [Website].[StateProvincesUpdateFromJson](@StateProvinces NVARCHAR(MAX), @StateProvinceID int, @UserID int) +CREATE PROCEDURE [WebApi].[UpdateStateProvinceFromJson](@StateProvince NVARCHAR(MAX), @StateProvinceID int, @UserID int) WITH EXECUTE AS OWNER AS BEGIN UPDATE Application.StateProvinces SET @@ -8,7 +8,7 @@ AS BEGIN SalesTerritory = json.SalesTerritory, LatestRecordedPopulation = json.LatestRecordedPopulation, LastEditedBy = @UserID - FROM OPENJSON (@StateProvinces) + FROM OPENJSON (@StateProvince) WITH ( StateProvinceCode nvarchar(5) N'strict $.StateProvinceCode', StateProvinceName nvarchar(50) N'strict $.StateProvinceName', diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockGroupsUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateStockGroupFromJson.sql similarity index 60% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockGroupsUpdateFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateStockGroupFromJson.sql index 60ae6193..a0981611 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockGroupsUpdateFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateStockGroupFromJson.sql @@ -1,10 +1,10 @@ -CREATE PROCEDURE [Website].[StockGroupsUpdateFromJson](@StockGroupsJson NVARCHAR(MAX), @StockGroupID int,@UserID int) +CREATE PROCEDURE [WebApi].[UpdateStockGroupFromJson](@StockGroup NVARCHAR(MAX), @StockGroupID int,@UserID int) WITH EXECUTE AS OWNER AS BEGIN UPDATE Warehouse.StockGroups SET StockGroupName = json.StockGroupName, LastEditedBy = @UserID - FROM OPENJSON (@StockGroupsJson) + FROM OPENJSON (@StockGroup) WITH (StockGroupName nvarchar(50)) as json WHERE Warehouse.StockGroups.StockGroupID = @StockGroupID diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockItemsUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateStockItemFromJson.sql similarity index 92% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockItemsUpdateFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateStockItemFromJson.sql index 4707db00..408134a0 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/StockItemsUpdateFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateStockItemFromJson.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE [Website].[StockItemsUpdateFromJson](@StockItems NVARCHAR(MAX), @StockItemID int, @UserID int) +CREATE PROCEDURE [WebApi].[UpdateStockItemFromJson](@StockItem NVARCHAR(MAX), @StockItemID int, @UserID int) WITH EXECUTE AS OWNER AS BEGIN @@ -23,7 +23,7 @@ AS BEGIN Photo = json.Photo, CustomFields = json.CustomFields, LastEditedBy = @UserID - FROM OPENJSON (@StockItems) + FROM OPENJSON (@StockItem) WITH ( StockItemName nvarchar(100), SupplierID int, diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SupplierCategoriesUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierCategoryFromJson.sql similarity index 60% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SupplierCategoriesUpdateFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierCategoryFromJson.sql index ce5b83da..7d5f60df 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SupplierCategoriesUpdateFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierCategoryFromJson.sql @@ -1,10 +1,10 @@ -CREATE PROCEDURE [Website].[SupplierCategoriesUpdateFromJson](@SupplierCategoriesJson NVARCHAR(MAX), @SupplierCategoryID int, @UserID int) +CREATE PROCEDURE [WebApi].[UpdateSupplierCategoryFromJson](@SupplierCategory NVARCHAR(MAX), @SupplierCategoryID int, @UserID int) WITH EXECUTE AS OWNER AS BEGIN UPDATE Purchasing.SupplierCategories SET SupplierCategoryName = json.SupplierCategoryName, LastEditedBy = @UserID - FROM OPENJSON (@SupplierCategoriesJson) + FROM OPENJSON (@SupplierCategory) WITH (SupplierCategoryName nvarchar(50)) as json WHERE Purchasing.SupplierCategories.SupplierCategoryID = @SupplierCategoryID diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SuppliersUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierFromJson.sql similarity index 94% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SuppliersUpdateFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierFromJson.sql index 4fc2dc53..cc2b0a78 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SuppliersUpdateFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierFromJson.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE [Website].[SuppliersUpdateFromJson](@Suppliers NVARCHAR(MAX), @SupplierID int, @UserID int) +CREATE PROCEDURE [WebApi].[UpdateSupplierFromJson](@Supplier NVARCHAR(MAX), @SupplierID int, @UserID int) WITH EXECUTE AS OWNER AS BEGIN UPDATE Purchasing.Suppliers SET @@ -27,7 +27,7 @@ AS BEGIN PostalAddressLine2 = json.PostalAddressLine2, PostalPostalCode = ISNULL(json.PostalPostalCode, Purchasing.Suppliers.PostalPostalCode), LastEditedBy = @UserID - FROM OPENJSON (@Suppliers) + FROM OPENJSON (@Supplier) WITH ( SupplierName nvarchar(100), SupplierCategoryID int, diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SupplierTransactionsUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierTransactionFromJson.sql similarity index 90% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SupplierTransactionsUpdateFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierTransactionFromJson.sql index 849d1bfc..bdf55c66 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/SupplierTransactionsUpdateFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierTransactionFromJson.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE Website.SupplierTransactionsUpdateFromJson(@SupplierTransactions NVARCHAR(MAX), @SupplierTransactionID int, @UserID int) +CREATE PROCEDURE WebApi.UpdateSupplierTransactionFromJson(@SupplierTransaction NVARCHAR(MAX), @SupplierTransactionID int, @UserID int) WITH EXECUTE AS OWNER AS BEGIN UPDATE Purchasing.SupplierTransactions SET SupplierID = ISNULL(json.SupplierID,Purchasing.SupplierTransactions.SupplierID), @@ -13,7 +13,7 @@ AS BEGIN UPDATE Purchasing.SupplierTransactions SET OutstandingBalance = ISNULL(json.OutstandingBalance,Purchasing.SupplierTransactions.OutstandingBalance), FinalizationDate = ISNULL(json.FinalizationDate,Purchasing.SupplierTransactions.FinalizationDate), LastEditedBy = @UserID - FROM OPENJSON(@SupplierTransactions) + FROM OPENJSON(@SupplierTransaction) WITH ( SupplierID int, TransactionTypeID int, diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/TransactionTypesUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateTransactionTypeFromJson.sql similarity index 61% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/TransactionTypesUpdateFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateTransactionTypeFromJson.sql index 961391a0..bddff7bc 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/TransactionTypesUpdateFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateTransactionTypeFromJson.sql @@ -1,10 +1,10 @@ -CREATE PROCEDURE [Website].[TransactionTypesUpdateFromJson](@TransactionTypesJson NVARCHAR(MAX), @TransactionTypeID int,@UserID int) +CREATE PROCEDURE [WebApi].[UpdateTransactionTypeFromJson](@TransactionType NVARCHAR(MAX), @TransactionTypeID int,@UserID int) WITH EXECUTE AS OWNER AS BEGIN UPDATE Application.TransactionTypes SET TransactionTypeName = json.TransactionTypeName, LastEditedBy = @UserID - FROM OPENJSON (@TransactionTypesJson) + FROM OPENJSON (@TransactionType) WITH (TransactionTypeName nvarchar(50)) as json WHERE Application.TransactionTypes.TransactionTypeID = @TransactionTypeID diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/Cities.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Cities.sql similarity index 94% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/Cities.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Cities.sql index 1c053076..81df19ed 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/Cities.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Cities.sql @@ -1,5 +1,5 @@  -CREATE VIEW Website.Cities +CREATE VIEW WebApi.Cities AS SELECT c.CityID, c.CityName, c.LatestRecordedPopulation, c.StateProvinceID, sp.StateProvinceName, Location = JSON_QUERY((SELECT diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/CustomerTransactions.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/CustomerTransactions.sql similarity index 94% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/CustomerTransactions.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/CustomerTransactions.sql index f6c4650b..cba9b1c0 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/CustomerTransactions.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/CustomerTransactions.sql @@ -1,5 +1,5 @@  -CREATE VIEW Website.CustomerTransactions +CREATE VIEW WebApi.CustomerTransactions AS SELECT ct.CustomerTransactionID, ct.TransactionDate, ct.AmountExcludingTax, ct.TaxAmount, ct.TransactionAmount, ct.OutstandingBalance, ct.FinalizationDate, ct.IsFinalized, c.CustomerName, tt.TransactionTypeName, i.InvoiceDate, i.CustomerPurchaseOrderNumber, pm.PaymentMethodName, diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Customers.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Customers.sql new file mode 100644 index 00000000..3bc33b36 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Customers.sql @@ -0,0 +1,36 @@ + +CREATE VIEW WebApi.Customers +AS +SELECT s.CustomerID, + s.CustomerName, + sc.CustomerCategoryName, + pp.FullName AS PrimaryContact, + ap.FullName AS AlternateContact, + s.PhoneNumber, + s.FaxNumber, + s.WebsiteURL, + bg.BuyingGroupName, + DeliveryLocation = JSON_QUERY((SELECT + type = 'Feature', + [geometry.type] = 'Point', + [geometry.coordinates] = JSON_QUERY(CONCAT('[',s.DeliveryLocation.Long,',',s.DeliveryLocation.Lat ,']')), + [properties.DeliveryMethod] = DeliveryMethodName, + [properties.CityName] = c.CityName, + [properties.Province] = sp.StateProvinceName, + [properties.Territory] = sp.SalesTerritory + FOR JSON PATH, WITHOUT_ARRAY_WRAPPER)) +FROM Sales.Customers AS s +LEFT OUTER JOIN Sales.CustomerCategories AS sc +ON s.CustomerCategoryID = sc.CustomerCategoryID +LEFT OUTER JOIN [Application].People AS pp +ON s.PrimaryContactPersonID = pp.PersonID +LEFT OUTER JOIN [Application].People AS ap +ON s.AlternateContactPersonID = ap.PersonID +LEFT OUTER JOIN Sales.BuyingGroups AS bg +ON s.BuyingGroupID = bg.BuyingGroupID +LEFT OUTER JOIN [Application].DeliveryMethods AS dm +ON s.DeliveryMethodID = dm.DeliveryMethodID +LEFT OUTER JOIN [Application].Cities AS c +ON s.DeliveryCityID = c.CityID +LEFT OUTER JOIN [Application].StateProvinces AS sp +ON sp.StateProvinceID = c.StateProvinceID \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/Invoices.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Invoices.sql similarity index 97% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/Invoices.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Invoices.sql index 95fa7a9d..0fa76380 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/Invoices.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Invoices.sql @@ -1,5 +1,5 @@  -CREATE VIEW Website.[Invoices] +CREATE VIEW WebApi.[Invoices] AS SELECT inv.InvoiceID, inv.InvoiceDate, inv.CustomerPurchaseOrderNumber, inv.IsCreditNote, inv.TotalDryItems, inv.TotalChillerItems, inv.DeliveryRun, inv.RunPosition, inv.ReturnedDeliveryData, inv.ConfirmedDeliveryTime, inv.ConfirmedReceivedBy, c.CustomerName, sp.FullName AS SalesPersonName, contact.FullName AS ContactName, contact.PhoneNumber AS ContactPhone, contact.EmailAddress AS ContactEmail, diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/PurchaseOrderLines.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/PurchaseOrderLines.sql similarity index 91% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/PurchaseOrderLines.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/PurchaseOrderLines.sql index 28f05a7d..12329f83 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/PurchaseOrderLines.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/PurchaseOrderLines.sql @@ -1,5 +1,5 @@  -CREATE VIEW Website.PurchaseOrderLines +CREATE VIEW WebApi.PurchaseOrderLines AS SELECT ol.PurchaseOrderLineID, ol.PurchaseOrderID, ol.Description, ol.IsOrderLineFinalized, ProductName = si.StockItemName, si.Brand, si.Size, c.ColorName, pt.PackageTypeName diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/PurchaseOrders.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/PurchaseOrders.sql similarity index 92% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/PurchaseOrders.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/PurchaseOrders.sql index ee3af95e..a2fafd81 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/PurchaseOrders.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/PurchaseOrders.sql @@ -1,5 +1,5 @@  -CREATE VIEW Website.PurchaseOrders +CREATE VIEW WebApi.PurchaseOrders AS SELECT o.PurchaseOrderID, o.OrderDate, o.ExpectedDeliveryDate, o.SupplierReference, o.IsOrderFinalized, dm.DeliveryMethodName, o.SupplierID, diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/SalesOrderLines.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SalesOrderLines.sql similarity index 92% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/SalesOrderLines.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SalesOrderLines.sql index e76300ae..02580dd7 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/SalesOrderLines.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SalesOrderLines.sql @@ -1,5 +1,5 @@  -CREATE VIEW Website.SalesOrderLines +CREATE VIEW WebApi.SalesOrderLines AS SELECT ol.OrderLineID, ol.OrderID, ol.Description, ol.Quantity, ol.UnitPrice, ol.TaxRate, ProductName = si.StockItemName, si.Brand, si.Size, c.ColorName, pt.PackageTypeName diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/SalesOrders.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SalesOrders.sql similarity index 96% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/SalesOrders.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SalesOrders.sql index 6e8826e4..edac7094 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/SalesOrders.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SalesOrders.sql @@ -1,5 +1,5 @@  -CREATE VIEW Website.SalesOrders +CREATE VIEW WebApi.SalesOrders AS SELECT o.OrderID, o.OrderDate, OrderNumber = o.CustomerPurchaseOrderNumber, o.ExpectedDeliveryDate, o.PickingCompletedWhen, diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/SpecialDeals.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SpecialDeals.sql similarity index 95% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/SpecialDeals.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SpecialDeals.sql index e8c183bf..ff4aea4e 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/SpecialDeals.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SpecialDeals.sql @@ -1,4 +1,4 @@ -CREATE VIEW Website.SpecialDeals +CREATE VIEW WebApi.SpecialDeals AS SELECT deal.SpecialDealID, deal.DealDescription, deal.StartDate, deal.EndDate, deal.DiscountAmount, deal.DiscountPercentage, deal.UnitPrice, si.StockItemName, si.Brand, si.Size, c.CustomerName, bg.BuyingGroupName, cat.CustomerCategoryName, diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/StateProvinces.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/StateProvinces.sql similarity index 95% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/StateProvinces.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/StateProvinces.sql index b98793f9..fd4f4fea 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/StateProvinces.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/StateProvinces.sql @@ -1,5 +1,5 @@  -CREATE VIEW Website.StateProvinces +CREATE VIEW WebApi.StateProvinces AS SELECT sp.StateProvinceID, sp.StateProvinceCode, sp.StateProvinceName, sp.CountryID, sp.SalesTerritory, sp.LatestRecordedPopulation, Border = JSON_QUERY('{"type": "Feature","geometry":{' + diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/StockItems.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/StockItems.sql similarity index 97% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/StockItems.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/StockItems.sql index cbf811c9..b9ec4371 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/StockItems.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/StockItems.sql @@ -1,5 +1,5 @@  -CREATE VIEW Website.StockItems +CREATE VIEW WebApi.StockItems AS SELECT si.StockItemID, si.StockItemName, s.SupplierName, s.SupplierReference, c.ColorName, opt.PackageTypeName AS OuterPackage, upt.PackageTypeName AS UnitPackage, diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/SupplierTransactions.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SupplierTransactions.sql similarity index 95% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/SupplierTransactions.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SupplierTransactions.sql index dbdf942c..614fe54b 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/SupplierTransactions.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SupplierTransactions.sql @@ -1,5 +1,5 @@  -CREATE VIEW Website.SupplierTransactions +CREATE VIEW WebApi.SupplierTransactions AS SELECT st.SupplierTransactionID, st.TransactionDate, st.AmountExcludingTax, st.TaxAmount, st.TransactionAmount, st.OutstandingBalance, st.FinalizationDate, st.IsFinalized, s.SupplierName, tt.TransactionTypeName, pm.PaymentMethodName, st.SupplierID, st.TransactionTypeID, st.PurchaseOrderID, st.PaymentMethodID, po.OrderDate, po.IsOrderFinalized, po.ExpectedDeliveryDate, po.SupplierReference diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Suppliers.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Suppliers.sql new file mode 100644 index 00000000..14a9d7b5 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Suppliers.sql @@ -0,0 +1,34 @@ + +CREATE VIEW WebApi.Suppliers +AS +SELECT s.SupplierID, + s.SupplierName, + sc.SupplierCategoryName, + pp.FullName AS PrimaryContact, + ap.FullName AS AlternateContact, + s.PhoneNumber, + s.FaxNumber, + s.WebsiteURL, + s.SupplierReference, + DeliveryLocation = JSON_QUERY((SELECT + [type] = 'Feature', + [geometry.type] = 'Point', + [geometry.coordinates] = JSON_QUERY(CONCAT('[',s.DeliveryLocation.Long,',',s.DeliveryLocation.Lat ,']')), + [properties.DeliveryMethod] = dm.DeliveryMethodName, + [properties.City] = c.CityName, + [properties.Province] = sp.StateProvinceName, + [properties.Territory] = sp.SalesTerritory + FOR JSON PATH, WITHOUT_ARRAY_WRAPPER)) +FROM Purchasing.Suppliers AS s + LEFT OUTER JOIN Purchasing.SupplierCategories AS sc + ON s.SupplierCategoryID = sc.SupplierCategoryID + LEFT OUTER JOIN [Application].People AS pp + ON s.PrimaryContactPersonID = pp.PersonID + LEFT OUTER JOIN [Application].People AS ap + ON s.AlternateContactPersonID = ap.PersonID + LEFT OUTER JOIN [Application].DeliveryMethods AS dm + ON s.DeliveryMethodID = dm.DeliveryMethodID + LEFT OUTER JOIN [Application].Cities AS c + ON s.DeliveryCityID = c.CityID + LEFT OUTER JOIN [Application].StateProvinces AS sp + ON sp.StateProvinceID = c.StateProvinceID diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/InvoicesUpdateFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/InvoicesUpdateFromJson.sql deleted file mode 100644 index 5033ec39..00000000 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Stored Procedures/InvoicesUpdateFromJson.sql +++ /dev/null @@ -1,39 +0,0 @@ -CREATE PROCEDURE Website.InvoicesUpdateFromJson(@InvoicesJson NVARCHAR(MAX), @InvoiceID int, @UserID int) -WITH EXECUTE AS OWNER -AS BEGIN UPDATE Sales.Invoices SET - CustomerID = ISNULL(json.CustomerID, Sales.Invoices.CustomerID), - BillToCustomerID = ISNULL(json.BillToCustomerID, Sales.Invoices.BillToCustomerID), - DeliveryMethodID = ISNULL(json.DeliveryMethodID, Sales.Invoices.DeliveryMethodID), - ContactPersonID = ISNULL(json.ContactPersonID, Sales.Invoices.ContactPersonID), - AccountsPersonID = ISNULL(json.AccountsPersonID, Sales.Invoices.AccountsPersonID), - SalespersonPersonID = ISNULL(json.SalespersonPersonID, Sales.Invoices.SalespersonPersonID), - PackedByPersonID = ISNULL(json.PackedByPersonID, Sales.Invoices.PackedByPersonID), - InvoiceDate = ISNULL(json.InvoiceDate, Sales.Invoices.InvoiceDate), - CustomerPurchaseOrderNumber = json.CustomerPurchaseOrderNumber, - IsCreditNote = ISNULL(json.IsCreditNote, Sales.Invoices.IsCreditNote), - TotalDryItems = ISNULL(json.TotalDryItems, Sales.Invoices.TotalDryItems), - TotalChillerItems = ISNULL(json.TotalChillerItems, Sales.Invoices.TotalChillerItems), - DeliveryRun = json.DeliveryRun, - RunPosition = json.RunPosition, - LastEditedBy = @UserID - FROM OPENJSON(@InvoicesJson) - WITH ( - CustomerID int, - BillToCustomerID int, - OrderID int, - DeliveryMethodID int, - ContactPersonID int, - AccountsPersonID int, - SalespersonPersonID int, - PackedByPersonID int, - InvoiceDate date, - CustomerPurchaseOrderNumber nvarchar(20), - IsCreditNote bit, - TotalDryItems int, - TotalChillerItems int, - DeliveryRun nvarchar(5), - RunPosition nvarchar(5)) as json - WHERE - Sales.Invoices.InvoiceID = @InvoiceID - -END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/Customers.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/Customers.sql index 6b3b4799..d76246cd 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/Customers.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/Customers.sql @@ -1,5 +1,4 @@ - -CREATE VIEW Website.Customers +CREATE VIEW [Website].[Customers] AS SELECT s.CustomerID, s.CustomerName, @@ -8,17 +7,13 @@ SELECT s.CustomerID, ap.FullName AS AlternateContact, s.PhoneNumber, s.FaxNumber, + bg.BuyingGroupName, s.WebsiteURL, - bg.BuyingGroupName, - DeliveryLocation = JSON_QUERY((SELECT - type = 'Feature', - [geometry.type] = 'Point', - [geometry.coordinates] = JSON_QUERY(CONCAT('[',s.DeliveryLocation.Long,',',s.DeliveryLocation.Lat ,']')), - [properties.DeliveryMethod] = DeliveryMethodName, - [properties.CityName] = c.CityName, - [properties.Province] = sp.StateProvinceName, - [properties.Territory] = sp.SalesTerritory - FOR JSON PATH, WITHOUT_ARRAY_WRAPPER)) + dm.DeliveryMethodName AS DeliveryMethod, + c.CityName AS CityName, + s.DeliveryLocation AS DeliveryLocation, + s.DeliveryRun, + s.RunPosition FROM Sales.Customers AS s LEFT OUTER JOIN Sales.CustomerCategories AS sc ON s.CustomerCategoryID = sc.CustomerCategoryID @@ -32,5 +27,6 @@ LEFT OUTER JOIN [Application].DeliveryMethods AS dm ON s.DeliveryMethodID = dm.DeliveryMethodID LEFT OUTER JOIN [Application].Cities AS c ON s.DeliveryCityID = c.CityID -LEFT OUTER JOIN [Application].StateProvinces AS sp -ON sp.StateProvinceID = c.StateProvinceID \ No newline at end of file +GO + + diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/Suppliers.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/Suppliers.sql index 03ad3a76..6b8394d0 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/Suppliers.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/Suppliers.sql @@ -1,5 +1,4 @@ - -CREATE VIEW Website.Suppliers +CREATE VIEW [Website].[Suppliers] AS SELECT s.SupplierID, s.SupplierName, @@ -9,26 +8,21 @@ SELECT s.SupplierID, s.PhoneNumber, s.FaxNumber, s.WebsiteURL, - s.SupplierReference, - DeliveryLocation = JSON_QUERY((SELECT - [type] = 'Feature', - [geometry.type] = 'Point', - [geometry.coordinates] = JSON_QUERY(CONCAT('[',s.DeliveryLocation.Long,',',s.DeliveryLocation.Lat ,']')), - [properties.DeliveryMethod] = dm.DeliveryMethodName, - [properties.City] = c.CityName, - [properties.Province] = sp.StateProvinceName, - [properties.Territory] = sp.SalesTerritory - FOR JSON PATH, WITHOUT_ARRAY_WRAPPER)) + dm.DeliveryMethodName AS DeliveryMethod, + c.CityName AS CityName, + s.DeliveryLocation AS DeliveryLocation, + s.SupplierReference FROM Purchasing.Suppliers AS s - LEFT OUTER JOIN Purchasing.SupplierCategories AS sc - ON s.SupplierCategoryID = sc.SupplierCategoryID - LEFT OUTER JOIN [Application].People AS pp - ON s.PrimaryContactPersonID = pp.PersonID - LEFT OUTER JOIN [Application].People AS ap - ON s.AlternateContactPersonID = ap.PersonID - LEFT OUTER JOIN [Application].DeliveryMethods AS dm - ON s.DeliveryMethodID = dm.DeliveryMethodID - LEFT OUTER JOIN [Application].Cities AS c - ON s.DeliveryCityID = c.CityID - LEFT OUTER JOIN [Application].StateProvinces AS sp - ON sp.StateProvinceID = c.StateProvinceID +LEFT OUTER JOIN Purchasing.SupplierCategories AS sc +ON s.SupplierCategoryID = sc.SupplierCategoryID +LEFT OUTER JOIN [Application].People AS pp +ON s.PrimaryContactPersonID = pp.PersonID +LEFT OUTER JOIN [Application].People AS ap +ON s.AlternateContactPersonID = ap.PersonID +LEFT OUTER JOIN [Application].DeliveryMethods AS dm +ON s.DeliveryMethodID = dm.DeliveryMethodID +LEFT OUTER JOIN [Application].Cities AS c +ON s.DeliveryCityID = c.CityID +GO + + diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj index 01fe0797..e41aa211 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj @@ -148,6 +148,9 @@ + + + @@ -342,14 +345,6 @@ On On - - On - On - - - On - On - On On @@ -694,70 +689,86 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + On + On + + + + + + + + + + + + On + On + + + On + On + + + On + On + @@ -814,4 +825,7 @@ + + + \ No newline at end of file From 8c95c2409db20549441015be7f9ff4d2e3be180c Mon Sep 17 00:00:00 2001 From: "Jovan Popovic (MSFT)" Date: Thu, 22 Feb 2018 12:36:21 +0100 Subject: [PATCH 04/22] Update DeleteStateProvince.sql --- .../wwi-ssdt/WebApi/Stored Procedures/DeleteStateProvince.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteStateProvince.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteStateProvince.sql index 360cb0f2..9319844b 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteStateProvince.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteStateProvince.sql @@ -1,6 +1,6 @@ -CREATE PROCEDURE WebApi.DeleteStateProvince(@StateProvinceID int) +CREATE PROCEDURE [WebApi].[DeleteStateProvince](@StateProvinceID int) WITH EXECUTE AS OWNER AS BEGIN DELETE Application.StateProvinces WHERE StateProvinceID = @StateProvinceID; -END \ No newline at end of file +END From 178b8e49d9056be59f2ff1ed6f57782cd1bfb0f9 Mon Sep 17 00:00:00 2001 From: Jovan Popovic Date: Thu, 22 Feb 2018 13:08:15 +0100 Subject: [PATCH 05/22] Fixing style on views Added quoted identifiers everywhere. --- .../Stored Procedures/DeleteBuyingGroup.sql | 3 +- .../WebApi/Stored Procedures/DeleteCity.sql | 2 +- .../WebApi/Stored Procedures/DeleteColor.sql | 3 +- .../Stored Procedures/DeleteCountry.sql | 2 +- .../Stored Procedures/DeleteCustomer.sql | 2 +- .../DeleteDeliveryMethod.sql | 5 +-- .../Stored Procedures/DeletePackageType.sql | 3 +- .../Stored Procedures/DeleteStateProvince.sql | 2 +- .../Stored Procedures/DeleteStockItem.sql | 2 +- .../Stored Procedures/DeleteSupplier.sql | 2 +- .../InsertCitiesFromJson.sql | 2 +- .../InsertCustomerCategoriesFromJson.sql | 5 +-- .../Stored Procedures/SearchForStockItems.sql | 43 +++++++++++++++++++ .../UpdateBuyingGroupFromJson.sql | 1 - .../UpdateCustomerCategoryFromJson.sql | 5 +-- .../UpdateCustomerTransactionFromJson.sql | 2 +- .../UpdateInvoiceFromJson.sql | 2 +- ...on.sql => UpdatePaymentMethodFromJson.sql} | 0 .../UpdatePurchaseOrderFromJson.sql | 2 +- .../UpdateSpecialDealFromJson.sql | 4 +- .../UpdateSupplierTransactionFromJson.sql | 2 +- .../Website/Views/VehicleTemperatures.sql | 3 +- .../wwi-ssdt/WideWorldImporters.sqlproj | 6 ++- 23 files changed, 68 insertions(+), 35 deletions(-) create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/SearchForStockItems.sql rename samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/{UpdatePaumentMethodFromJson.sql => UpdatePaymentMethodFromJson.sql} (100%) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteBuyingGroup.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteBuyingGroup.sql index 285a2836..713dc2ef 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteBuyingGroup.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteBuyingGroup.sql @@ -1,5 +1,4 @@ - -CREATE PROCEDURE [WebApi].[DeleteBuyingGroup](@BuyingGroupID int) +CREATE PROCEDURE [WebApi].[DeleteBuyingGroup](@BuyingGroupID int) WITH EXECUTE AS OWNER AS BEGIN DELETE Sales.BuyingGroups diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteCity.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteCity.sql index 775aecca..90f38814 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteCity.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteCity.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE [WebApi].DeleteCity(@CityID int) +CREATE PROCEDURE [WebApi].[DeleteCity](@CityID int) WITH EXECUTE AS OWNER AS BEGIN DELETE Application.Cities diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteColor.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteColor.sql index 24ecd0c4..36112edd 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteColor.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteColor.sql @@ -1,5 +1,4 @@ - -CREATE PROCEDURE [WebApi].[DeleteColor](@ColorID int) +CREATE PROCEDURE [WebApi].[DeleteColor](@ColorID int) WITH EXECUTE AS OWNER AS BEGIN DELETE Warehouse.Colors diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteCountry.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteCountry.sql index 332d0d0e..59309bab 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteCountry.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteCountry.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE WebApi.DeleteCountry(@CountryID int) +CREATE PROCEDURE [WebApi].[DeleteCountry](@CountryID int) WITH EXECUTE AS OWNER AS BEGIN DELETE Application.Countries diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteCustomer.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteCustomer.sql index a3806d76..d685f2fc 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteCustomer.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteCustomer.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE WebApi.DeleteCustomer(@CustomerID int) +CREATE PROCEDURE [WebApi].[DeleteCustomer](@CustomerID int) WITH EXECUTE AS OWNER AS BEGIN DELETE Sales.Customers diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteDeliveryMethod.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteDeliveryMethod.sql index 4fe835fe..fa8a764a 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteDeliveryMethod.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteDeliveryMethod.sql @@ -1,7 +1,4 @@ - - - -CREATE PROCEDURE [WebApi].[DeleteDeliveryMethod](@DeliveryMethodID int) +CREATE PROCEDURE [WebApi].[DeleteDeliveryMethod](@DeliveryMethodID int) WITH EXECUTE AS OWNER AS BEGIN DELETE Application.DeliveryMethods diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeletePackageType.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeletePackageType.sql index 76cee9ef..16379c6d 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeletePackageType.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeletePackageType.sql @@ -1,5 +1,4 @@ - -CREATE PROCEDURE [WebApi].[DeletePackageType](@PackageTypeID int) +CREATE PROCEDURE [WebApi].[DeletePackageType](@PackageTypeID int) WITH EXECUTE AS OWNER AS BEGIN DELETE Warehouse.PackageTypes diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteStateProvince.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteStateProvince.sql index 360cb0f2..4dec3bcb 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteStateProvince.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteStateProvince.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE WebApi.DeleteStateProvince(@StateProvinceID int) +CREATE PROCEDURE [WebApi].[DeleteStateProvince](@StateProvinceID int) WITH EXECUTE AS OWNER AS BEGIN DELETE Application.StateProvinces diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteStockItem.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteStockItem.sql index 39e6b821..2d202b86 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteStockItem.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteStockItem.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE WebApi.DeleteStockItem(@StockItemID int) +CREATE PROCEDURE [WebApi].[DeleteStockItem](@StockItemID int) WITH EXECUTE AS OWNER AS BEGIN DELETE Warehouse.StockItems diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteSupplier.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteSupplier.sql index a1c00c7d..0377e1e6 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteSupplier.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/DeleteSupplier.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE WebApi.DeleteSupplier(@SupplierID int) +CREATE PROCEDURE [WebApi].[DeleteSupplier](@SupplierID int) WITH EXECUTE AS OWNER AS BEGIN DELETE Purchasing.Suppliers diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCitiesFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCitiesFromJson.sql index 127e27a9..a40f5f31 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCitiesFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCitiesFromJson.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE WebApi.InsertCitiesFromJson(@Cities NVARCHAR(MAX), @UserID int) +CREATE PROCEDURE [WebApi].[InsertCitiesFromJson](@Cities NVARCHAR(MAX), @UserID int) WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Application.Cities(CityName,StateProvinceID,LatestRecordedPopulation,LastEditedBy) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCustomerCategoriesFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCustomerCategoriesFromJson.sql index d05ca6e7..386f6a02 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCustomerCategoriesFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCustomerCategoriesFromJson.sql @@ -1,7 +1,4 @@ - - - -CREATE PROCEDURE [WebApi].[InsertCustomerCategoriesFromJson](@CustomerCategories NVARCHAR(MAX), @UserID int) +CREATE PROCEDURE [WebApi].[InsertCustomerCategoriesFromJson](@CustomerCategories NVARCHAR(MAX), @UserID int) WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Sales.CustomerCategories(CustomerCategoryName,LastEditedBy) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/SearchForStockItems.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/SearchForStockItems.sql new file mode 100644 index 00000000..8aab482d --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/SearchForStockItems.sql @@ -0,0 +1,43 @@ +CREATE PROCEDURE [WebApi].[SearchForStockItems] +@Name nvarchar(100), +@Tag nvarchar(100), +@MinPrice decimal(18,2), +@MaxPrice decimal(18,2), +@StockGroupID int, +@MaximumRowsToReturn int +WITH EXECUTE AS OWNER +AS +BEGIN + WITH value AS + (SELECT + si.StockItemID, + si.StockItemName, + si.Brand, + si.ColorName, + si.UnitPrice, + si.TaxRate, + si.Size, + si.MarketingComments, + si.CustomFields + FROM Website.StockItems AS si + WHERE (@Name IS NULL OR si.StockItemName LIKE ('%' + @Name + '%')) + AND (@MinPrice IS NULL OR si.UnitPrice > @MinPrice) + AND (@MaxPrice IS NULL OR si.UnitPrice < @MaxPrice) + ) + SELECT + value = (SELECT TOP(@MaximumRowsToReturn) v.StockItemID,v.StockItemName,v.Brand,v.ColorName,v.UnitPrice,v.TaxRate,v.Size,v.MarketingComments + FROM value v + WHERE (@Tag IS NULL OR EXISTS (SELECT * FROM OPENJSON (CustomFields, '$.Tags') WITH (Tag nvarchar(20) '$') WHERE Tag = @Tag) ) + AND (@StockGroupID IS NULL OR EXISTS (SELECT * FROM Warehouse.StockItemStockGroups sisg WHERE sisg.StockItemID = StockItemID AND sisg.StockGroupID = @StockGroupID) ) + FOR JSON PATH), + tags = (SELECT Tag, Items = COUNT(*) + FROM value + CROSS APPLY OPENJSON (CustomFields, '$.Tags') + WITH (Tag NVARCHAR(20) '$') + GROUP BY Tag + FOR JSON PATH) + FOR JSON PATH, WITHOUT_ARRAY_WRAPPER +END; +GO + + diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateBuyingGroupFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateBuyingGroupFromJson.sql index e6934fde..6053880c 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateBuyingGroupFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateBuyingGroupFromJson.sql @@ -8,5 +8,4 @@ AS BEGIN WITH (BuyingGroupName nvarchar(50)) as json WHERE Sales.BuyingGroups.BuyingGroupID = @BuyingGroupID - END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCustomerCategoryFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCustomerCategoryFromJson.sql index 9c4df330..0a849de2 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCustomerCategoryFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCustomerCategoryFromJson.sql @@ -1,6 +1,4 @@ - - -CREATE PROCEDURE [WebApi].[UpdateCustomerCategoryFromJson](@CustomerCategory NVARCHAR(MAX), @CustomerCategoryID int, @UserID int) +CREATE PROCEDURE [WebApi].[UpdateCustomerCategoryFromJson](@CustomerCategory NVARCHAR(MAX), @CustomerCategoryID int, @UserID int) WITH EXECUTE AS OWNER AS BEGIN UPDATE Sales.CustomerCategories SET @@ -10,5 +8,4 @@ AS BEGIN WITH (CustomerCategoryName nvarchar(50)) as json WHERE Sales.CustomerCategories.CustomerCategoryID = @CustomerCategoryID - END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCustomerTransactionFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCustomerTransactionFromJson.sql index b70b3c49..610a12a6 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCustomerTransactionFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCustomerTransactionFromJson.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE WebApi.UpdateCustomerTransactionUpdateFromJson(@CustomerTransaction NVARCHAR(MAX), @CustomerTransactionID int, @UserID int) +CREATE PROCEDURE [WebApi].[UpdateCustomerTransactionFromJson](@CustomerTransaction NVARCHAR(MAX), @CustomerTransactionID int, @UserID int) WITH EXECUTE AS OWNER AS BEGIN UPDATE Sales.CustomerTransactions SET diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateInvoiceFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateInvoiceFromJson.sql index db1b10e3..e338b275 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateInvoiceFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateInvoiceFromJson.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE WebApi.UpdateInvoiceFromJson(@Invoice NVARCHAR(MAX), @InvoiceID int, @UserID int) +CREATE PROCEDURE [WebApi].UpdateInvoiceFromJson(@Invoice NVARCHAR(MAX), @InvoiceID int, @UserID int) WITH EXECUTE AS OWNER AS BEGIN UPDATE Sales.Invoices SET CustomerID = ISNULL(json.CustomerID, Sales.Invoices.CustomerID), diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdatePaumentMethodFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdatePaymentMethodFromJson.sql similarity index 100% rename from samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdatePaumentMethodFromJson.sql rename to samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdatePaymentMethodFromJson.sql diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdatePurchaseOrderFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdatePurchaseOrderFromJson.sql index 5a0e107d..0546431d 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdatePurchaseOrderFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdatePurchaseOrderFromJson.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE WebApi.UpdatePurchaseOrderFromJson(@PurchaseOrder NVARCHAR(MAX), @PurchaseOrderID int, @UserID int) +CREATE PROCEDURE [WebApi].[UpdatePurchaseOrderFromJson](@PurchaseOrder NVARCHAR(MAX), @PurchaseOrderID int, @UserID int) WITH EXECUTE AS OWNER AS BEGIN UPDATE Purchasing.PurchaseOrders SET SupplierID = ISNULL(json.SupplierID,Purchasing.PurchaseOrders.SupplierID), diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSpecialDealFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSpecialDealFromJson.sql index f8fdc183..38321c1b 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSpecialDealFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSpecialDealFromJson.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE WebApi.[UpdateSpecialDealFromJson](@Deal NVARCHAR(MAX), @DealID int, @UserID int) +CREATE PROCEDURE [WebApi].[UpdateSpecialDealFromJson](@SpecialDeal NVARCHAR(MAX), @DealID int, @UserID int) WITH EXECUTE AS OWNER AS BEGIN UPDATE Sales.SpecialDeals SET StockItemID = ISNULL(json.StockItemID,Sales.SpecialDeals.StockItemID), @@ -13,7 +13,7 @@ AS BEGIN UPDATE Sales.SpecialDeals SET DiscountPercentage = ISNULL(json.DiscountPercentage,Sales.SpecialDeals.DiscountPercentage), UnitPrice = ISNULL(json.UnitPrice,Sales.SpecialDeals.UnitPrice), LastEditedBy = @UserID - FROM OPENJSON(@Deal) + FROM OPENJSON(@SpecialDeal) WITH ( StockItemID int, CustomerID int, diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierTransactionFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierTransactionFromJson.sql index bdf55c66..267dda7f 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierTransactionFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierTransactionFromJson.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE WebApi.UpdateSupplierTransactionFromJson(@SupplierTransaction NVARCHAR(MAX), @SupplierTransactionID int, @UserID int) +CREATE PROCEDURE [WebApi].[UpdateSupplierTransactionFromJson](@SupplierTransaction NVARCHAR(MAX), @SupplierTransactionID int, @UserID int) WITH EXECUTE AS OWNER AS BEGIN UPDATE Purchasing.SupplierTransactions SET SupplierID = ISNULL(json.SupplierID,Purchasing.SupplierTransactions.SupplierID), diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/VehicleTemperatures.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/VehicleTemperatures.sql index 4df1b5fd..4c7d326d 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/VehicleTemperatures.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Website/Views/VehicleTemperatures.sql @@ -1,5 +1,4 @@ - -CREATE VIEW Website.VehicleTemperatures +CREATE VIEW Website.VehicleTemperatures AS SELECT vt.VehicleTemperatureID, vt.VehicleRegistration, diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj index e41aa211..59fad01e 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj @@ -739,7 +739,7 @@ - + @@ -769,6 +769,10 @@ On On + + On + On + From e1513b3271f701582618542d7819c1b333f2e3de Mon Sep 17 00:00:00 2001 From: Jovan Popovic Date: Thu, 22 Feb 2018 13:21:02 +0100 Subject: [PATCH 06/22] Added quoted identifiers on WebApi views --- .../UpdateSupplierTransactionFromJson.sql | 57 ++++++++++--------- .../wwi-ssdt/wwi-ssdt/WebApi/Views/Cities.sql | 3 +- .../WebApi/Views/CustomerTransactions.sql | 3 +- .../wwi-ssdt/WebApi/Views/Customers.sql | 3 +- .../wwi-ssdt/WebApi/Views/Invoices.sql | 3 +- .../WebApi/Views/PurchaseOrderLines.sql | 3 +- .../wwi-ssdt/WebApi/Views/PurchaseOrders.sql | 3 +- .../wwi-ssdt/WebApi/Views/SalesOrderLines.sql | 3 +- .../wwi-ssdt/WebApi/Views/SalesOrders.sql | 3 +- .../wwi-ssdt/WebApi/Views/SpecialDeals.sql | 2 +- .../wwi-ssdt/WebApi/Views/StateProvinces.sql | 3 +- .../wwi-ssdt/WebApi/Views/StockItems.sql | 3 +- .../WebApi/Views/SupplierTransactions.sql | 3 +- .../wwi-ssdt/WebApi/Views/Suppliers.sql | 3 +- 14 files changed, 42 insertions(+), 53 deletions(-) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierTransactionFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierTransactionFromJson.sql index 267dda7f..eaff82b4 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierTransactionFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierTransactionFromJson.sql @@ -1,32 +1,33 @@ CREATE PROCEDURE [WebApi].[UpdateSupplierTransactionFromJson](@SupplierTransaction NVARCHAR(MAX), @SupplierTransactionID int, @UserID int) WITH EXECUTE AS OWNER -AS BEGIN UPDATE Purchasing.SupplierTransactions SET - SupplierID = ISNULL(json.SupplierID,Purchasing.SupplierTransactions.SupplierID), - TransactionTypeID = ISNULL(json.TransactionTypeID,Purchasing.SupplierTransactions.TransactionTypeID), - PurchaseOrderID = ISNULL(json.PurchaseOrderID,Purchasing.SupplierTransactions.PurchaseOrderID), - PaymentMethodID = ISNULL(json.PaymentMethodID,Purchasing.SupplierTransactions.PaymentMethodID), - SupplierInvoiceNumber = ISNULL(json.SupplierInvoiceNumber,Purchasing.SupplierTransactions.SupplierInvoiceNumber), - TransactionDate = ISNULL(json.TransactionDate,Purchasing.SupplierTransactions.TransactionDate), - AmountExcludingTax = ISNULL(json.AmountExcludingTax,Purchasing.SupplierTransactions.AmountExcludingTax), - TaxAmount = ISNULL(json.TaxAmount,Purchasing.SupplierTransactions.TaxAmount), - TransactionAmount = ISNULL(json.TransactionAmount,Purchasing.SupplierTransactions.TransactionAmount), - OutstandingBalance = ISNULL(json.OutstandingBalance,Purchasing.SupplierTransactions.OutstandingBalance), - FinalizationDate = ISNULL(json.FinalizationDate,Purchasing.SupplierTransactions.FinalizationDate), - LastEditedBy = @UserID - FROM OPENJSON(@SupplierTransaction) - WITH ( - SupplierID int, - TransactionTypeID int, - PurchaseOrderID int, - PaymentMethodID int, - SupplierInvoiceNumber nvarchar(20), - TransactionDate date, - AmountExcludingTax decimal(18,2), - TaxAmount decimal(18,2), - TransactionAmount decimal(18,2), - OutstandingBalance decimal(18,2), - FinalizationDate date) as json - WHERE - Purchasing.SupplierTransactions.SupplierTransactionID = @SupplierTransactionID +AS BEGIN + UPDATE Purchasing.SupplierTransactions SET + SupplierID = ISNULL(json.SupplierID,Purchasing.SupplierTransactions.SupplierID), + TransactionTypeID = ISNULL(json.TransactionTypeID,Purchasing.SupplierTransactions.TransactionTypeID), + PurchaseOrderID = ISNULL(json.PurchaseOrderID,Purchasing.SupplierTransactions.PurchaseOrderID), + PaymentMethodID = ISNULL(json.PaymentMethodID,Purchasing.SupplierTransactions.PaymentMethodID), + SupplierInvoiceNumber = ISNULL(json.SupplierInvoiceNumber,Purchasing.SupplierTransactions.SupplierInvoiceNumber), + TransactionDate = ISNULL(json.TransactionDate,Purchasing.SupplierTransactions.TransactionDate), + AmountExcludingTax = ISNULL(json.AmountExcludingTax,Purchasing.SupplierTransactions.AmountExcludingTax), + TaxAmount = ISNULL(json.TaxAmount,Purchasing.SupplierTransactions.TaxAmount), + TransactionAmount = ISNULL(json.TransactionAmount,Purchasing.SupplierTransactions.TransactionAmount), + OutstandingBalance = ISNULL(json.OutstandingBalance,Purchasing.SupplierTransactions.OutstandingBalance), + FinalizationDate = ISNULL(json.FinalizationDate,Purchasing.SupplierTransactions.FinalizationDate), + LastEditedBy = @UserID + FROM OPENJSON(@SupplierTransaction) + WITH ( + SupplierID int, + TransactionTypeID int, + PurchaseOrderID int, + PaymentMethodID int, + SupplierInvoiceNumber nvarchar(20), + TransactionDate date, + AmountExcludingTax decimal(18,2), + TaxAmount decimal(18,2), + TransactionAmount decimal(18,2), + OutstandingBalance decimal(18,2), + FinalizationDate date) as json + WHERE + Purchasing.SupplierTransactions.SupplierTransactionID = @SupplierTransactionID END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Cities.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Cities.sql index 81df19ed..341b91f2 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Cities.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Cities.sql @@ -1,5 +1,4 @@ - -CREATE VIEW WebApi.Cities +CREATE VIEW [WebApi].[Cities] AS SELECT c.CityID, c.CityName, c.LatestRecordedPopulation, c.StateProvinceID, sp.StateProvinceName, Location = JSON_QUERY((SELECT diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/CustomerTransactions.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/CustomerTransactions.sql index cba9b1c0..b3bb45af 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/CustomerTransactions.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/CustomerTransactions.sql @@ -1,5 +1,4 @@ - -CREATE VIEW WebApi.CustomerTransactions +CREATE VIEW [WebApi].[CustomerTransactions] AS SELECT ct.CustomerTransactionID, ct.TransactionDate, ct.AmountExcludingTax, ct.TaxAmount, ct.TransactionAmount, ct.OutstandingBalance, ct.FinalizationDate, ct.IsFinalized, c.CustomerName, tt.TransactionTypeName, i.InvoiceDate, i.CustomerPurchaseOrderNumber, pm.PaymentMethodName, diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Customers.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Customers.sql index 3bc33b36..3cab65f0 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Customers.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Customers.sql @@ -1,5 +1,4 @@ - -CREATE VIEW WebApi.Customers +CREATE VIEW [WebApi].[Customers] AS SELECT s.CustomerID, s.CustomerName, diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Invoices.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Invoices.sql index 0fa76380..83523655 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Invoices.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Invoices.sql @@ -1,5 +1,4 @@ - -CREATE VIEW WebApi.[Invoices] +CREATE VIEW [WebApi].[Invoices] AS SELECT inv.InvoiceID, inv.InvoiceDate, inv.CustomerPurchaseOrderNumber, inv.IsCreditNote, inv.TotalDryItems, inv.TotalChillerItems, inv.DeliveryRun, inv.RunPosition, inv.ReturnedDeliveryData, inv.ConfirmedDeliveryTime, inv.ConfirmedReceivedBy, c.CustomerName, sp.FullName AS SalesPersonName, contact.FullName AS ContactName, contact.PhoneNumber AS ContactPhone, contact.EmailAddress AS ContactEmail, diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/PurchaseOrderLines.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/PurchaseOrderLines.sql index 12329f83..31ad07eb 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/PurchaseOrderLines.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/PurchaseOrderLines.sql @@ -1,5 +1,4 @@ - -CREATE VIEW WebApi.PurchaseOrderLines +CREATE VIEW [WebApi].[PurchaseOrderLines] AS SELECT ol.PurchaseOrderLineID, ol.PurchaseOrderID, ol.Description, ol.IsOrderLineFinalized, ProductName = si.StockItemName, si.Brand, si.Size, c.ColorName, pt.PackageTypeName diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/PurchaseOrders.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/PurchaseOrders.sql index a2fafd81..11180208 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/PurchaseOrders.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/PurchaseOrders.sql @@ -1,5 +1,4 @@ - -CREATE VIEW WebApi.PurchaseOrders +CREATE VIEW [WebApi].[PurchaseOrders] AS SELECT o.PurchaseOrderID, o.OrderDate, o.ExpectedDeliveryDate, o.SupplierReference, o.IsOrderFinalized, dm.DeliveryMethodName, o.SupplierID, diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SalesOrderLines.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SalesOrderLines.sql index 02580dd7..c979535b 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SalesOrderLines.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SalesOrderLines.sql @@ -1,5 +1,4 @@ - -CREATE VIEW WebApi.SalesOrderLines +CREATE VIEW [WebApi].[SalesOrderLines] AS SELECT ol.OrderLineID, ol.OrderID, ol.Description, ol.Quantity, ol.UnitPrice, ol.TaxRate, ProductName = si.StockItemName, si.Brand, si.Size, c.ColorName, pt.PackageTypeName diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SalesOrders.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SalesOrders.sql index edac7094..67ab66b7 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SalesOrders.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SalesOrders.sql @@ -1,5 +1,4 @@ - -CREATE VIEW WebApi.SalesOrders +CREATE VIEW [WebApi].[SalesOrders] AS SELECT o.OrderID, o.OrderDate, OrderNumber = o.CustomerPurchaseOrderNumber, o.ExpectedDeliveryDate, o.PickingCompletedWhen, diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SpecialDeals.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SpecialDeals.sql index ff4aea4e..058c9e1d 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SpecialDeals.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SpecialDeals.sql @@ -1,4 +1,4 @@ -CREATE VIEW WebApi.SpecialDeals +CREATE VIEW [WebApi].[SpecialDeals] AS SELECT deal.SpecialDealID, deal.DealDescription, deal.StartDate, deal.EndDate, deal.DiscountAmount, deal.DiscountPercentage, deal.UnitPrice, si.StockItemName, si.Brand, si.Size, c.CustomerName, bg.BuyingGroupName, cat.CustomerCategoryName, diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/StateProvinces.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/StateProvinces.sql index fd4f4fea..5a72a7a4 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/StateProvinces.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/StateProvinces.sql @@ -1,5 +1,4 @@ - -CREATE VIEW WebApi.StateProvinces +CREATE VIEW [WebApi].[StateProvinces] AS SELECT sp.StateProvinceID, sp.StateProvinceCode, sp.StateProvinceName, sp.CountryID, sp.SalesTerritory, sp.LatestRecordedPopulation, Border = JSON_QUERY('{"type": "Feature","geometry":{' + diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/StockItems.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/StockItems.sql index b9ec4371..cd76911c 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/StockItems.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/StockItems.sql @@ -1,5 +1,4 @@ - -CREATE VIEW WebApi.StockItems +CREATE VIEW [WebApi].[StockItems] AS SELECT si.StockItemID, si.StockItemName, s.SupplierName, s.SupplierReference, c.ColorName, opt.PackageTypeName AS OuterPackage, upt.PackageTypeName AS UnitPackage, diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SupplierTransactions.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SupplierTransactions.sql index 614fe54b..5fa5927b 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SupplierTransactions.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SupplierTransactions.sql @@ -1,5 +1,4 @@ - -CREATE VIEW WebApi.SupplierTransactions +CREATE VIEW [WebApi].[SupplierTransactions] AS SELECT st.SupplierTransactionID, st.TransactionDate, st.AmountExcludingTax, st.TaxAmount, st.TransactionAmount, st.OutstandingBalance, st.FinalizationDate, st.IsFinalized, s.SupplierName, tt.TransactionTypeName, pm.PaymentMethodName, st.SupplierID, st.TransactionTypeID, st.PurchaseOrderID, st.PaymentMethodID, po.OrderDate, po.IsOrderFinalized, po.ExpectedDeliveryDate, po.SupplierReference diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Suppliers.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Suppliers.sql index 14a9d7b5..801c2016 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Suppliers.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Suppliers.sql @@ -1,5 +1,4 @@ - -CREATE VIEW WebApi.Suppliers +CREATE VIEW [WebApi].[Suppliers] AS SELECT s.SupplierID, s.SupplierName, From 60494d7b0ba1c6bbf2f501ec9fc7c2c9ae034319 Mon Sep 17 00:00:00 2001 From: Jovan Popovic Date: Thu, 22 Feb 2018 14:52:58 +0100 Subject: [PATCH 07/22] Removed refactor log from project --- .../wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj | 3 --- 1 file changed, 3 deletions(-) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj index 59fad01e..c48f7211 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj @@ -829,7 +829,4 @@ - - - \ No newline at end of file From 9c4601a8c2bd27dd252288fa4d162e78ea5e500b Mon Sep 17 00:00:00 2001 From: Jovan Popovic Date: Wed, 14 Mar 2018 22:15:51 +0100 Subject: [PATCH 08/22] Addressing UC's comment changed INSERTED to inserted SearchForStockItems uses correct view in webApi schema --- .../WebApi/Stored Procedures/InsertBuyingGroupsFromJson.sql | 2 +- .../wwi-ssdt/WebApi/Stored Procedures/InsertCitiesFromJson.sql | 2 +- .../wwi-ssdt/WebApi/Stored Procedures/InsertColorsFromJson.sql | 2 +- .../WebApi/Stored Procedures/InsertCountriesFromJson.sql | 2 +- .../Stored Procedures/InsertCustomerCategoriesFromJson.sql | 2 +- .../WebApi/Stored Procedures/InsertCustomersFromJson.sql | 2 +- .../WebApi/Stored Procedures/InsertDeliveryMethodsFromJson.sql | 2 +- .../WebApi/Stored Procedures/InsertPackageTypesFromJson.sql | 2 +- .../WebApi/Stored Procedures/InsertPaymentMethodsFromJson.sql | 2 +- .../WebApi/Stored Procedures/InsertStateProvincesFromJson.sql | 2 +- .../WebApi/Stored Procedures/InsertStockGroupsFromJson.sql | 2 +- .../WebApi/Stored Procedures/InsertStockItemsFromJson.sql | 2 +- .../Stored Procedures/InsertSupplierCategoriesFromJson.sql | 2 +- .../WebApi/Stored Procedures/InsertSuppliersFromJson.sql | 2 +- .../WebApi/Stored Procedures/InsertTransactionTypesFromJson.sql | 2 +- .../wwi-ssdt/WebApi/Stored Procedures/SearchForStockItems.sql | 2 +- 16 files changed, 16 insertions(+), 16 deletions(-) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertBuyingGroupsFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertBuyingGroupsFromJson.sql index 81a8179f..539f5920 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertBuyingGroupsFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertBuyingGroupsFromJson.sql @@ -2,7 +2,7 @@ WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Sales.BuyingGroups(BuyingGroupName,LastEditedBy) - OUTPUT INSERTED.BuyingGroupID + OUTPUT inserted.BuyingGroupID SELECT BuyingGroupName,@UserID FROM OPENJSON(@BuyingGroups) WITH (BuyingGroupName nvarchar(50)) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCitiesFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCitiesFromJson.sql index a40f5f31..41a5bc4e 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCitiesFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCitiesFromJson.sql @@ -2,7 +2,7 @@ WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Application.Cities(CityName,StateProvinceID,LatestRecordedPopulation,LastEditedBy) - OUTPUT INSERTED.CityID + OUTPUT inserted.CityID SELECT CityName,StateProvinceID,LatestRecordedPopulation,@UserID FROM OPENJSON(@Cities) WITH ( diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertColorsFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertColorsFromJson.sql index b9780ad9..1ef27468 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertColorsFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertColorsFromJson.sql @@ -2,7 +2,7 @@ WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Warehouse.Colors(ColorName,LastEditedBy) - OUTPUT INSERTED.ColorID + OUTPUT inserted.ColorID SELECT ColorName,@UserID FROM OPENJSON(@Colors) WITH (ColorName nvarchar(50)) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCountriesFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCountriesFromJson.sql index 1154d5e7..64514fd7 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCountriesFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCountriesFromJson.sql @@ -2,7 +2,7 @@ WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Application.Countries(CountryName,FormalName,IsoAlpha3Code,IsoNumericCode,CountryType,LatestRecordedPopulation,Continent,Region,Subregion, LastEditedBy) - OUTPUT INSERTED.CountryID + OUTPUT inserted.CountryID SELECT CountryName,FormalName,IsoAlpha3Code,IsoNumericCode,CountryType,LatestRecordedPopulation,Continent,Region,Subregion, @UserID FROM OPENJSON (@Countries) WITH ( diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCustomerCategoriesFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCustomerCategoriesFromJson.sql index 386f6a02..2ebe8c4d 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCustomerCategoriesFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCustomerCategoriesFromJson.sql @@ -2,7 +2,7 @@ WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Sales.CustomerCategories(CustomerCategoryName,LastEditedBy) - OUTPUT INSERTED.CustomerCategoryID + OUTPUT inserted.CustomerCategoryID SELECT CustomerCategoryName,@UserID FROM OPENJSON(@CustomerCategories) WITH (CustomerCategoryName nvarchar(50)) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCustomersFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCustomersFromJson.sql index 2f17bc38..4111275b 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCustomersFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertCustomersFromJson.sql @@ -2,7 +2,7 @@ WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Sales.Customers(CustomerName,BillToCustomerID,CustomerCategoryID,BuyingGroupID,PrimaryContactPersonID,AlternateContactPersonID,DeliveryMethodID,DeliveryCityID,PostalCityID,CreditLimit,AccountOpenedDate,StandardDiscountPercentage,IsStatementSent,IsOnCreditHold,PaymentDays,PhoneNumber,FaxNumber,DeliveryRun,RunPosition,WebsiteURL,DeliveryAddressLine1,DeliveryAddressLine2,DeliveryPostalCode,PostalAddressLine1,PostalAddressLine2,PostalPostalCode,LastEditedBy) - OUTPUT INSERTED.CustomerID + OUTPUT inserted.CustomerID SELECT CustomerName,BillToCustomerID,CustomerCategoryID,BuyingGroupID,PrimaryContactPersonID,AlternateContactPersonID,DeliveryMethodID,DeliveryCityID,PostalCityID,CreditLimit,AccountOpenedDate,StandardDiscountPercentage,IsStatementSent,IsOnCreditHold,PaymentDays,PhoneNumber,FaxNumber,DeliveryRun,RunPosition,WebsiteURL,DeliveryAddressLine1,DeliveryAddressLine2,DeliveryPostalCode,PostalAddressLine1,PostalAddressLine2,PostalPostalCode,@UserID FROM OPENJSON (@Customers) WITH ( diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertDeliveryMethodsFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertDeliveryMethodsFromJson.sql index 81339cc3..3566cb7e 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertDeliveryMethodsFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertDeliveryMethodsFromJson.sql @@ -2,7 +2,7 @@ WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Application.DeliveryMethods(DeliveryMethodName,LastEditedBy) - OUTPUT INSERTED.DeliveryMethodID + OUTPUT inserted.DeliveryMethodID SELECT DeliveryMethodName,@UserID FROM OPENJSON(@DeliveryMethods) WITH (DeliveryMethodName nvarchar(50)) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertPackageTypesFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertPackageTypesFromJson.sql index f87b4f33..087a1300 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertPackageTypesFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertPackageTypesFromJson.sql @@ -2,7 +2,7 @@ WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Warehouse.PackageTypes(PackageTypeName,LastEditedBy) - OUTPUT INSERTED.PackageTypeID + OUTPUT inserted.PackageTypeID SELECT PackageTypeName,@UserID FROM OPENJSON(@PackageTypes) WITH (PackageTypeName nvarchar(50)) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertPaymentMethodsFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertPaymentMethodsFromJson.sql index 48efa630..4f0ff202 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertPaymentMethodsFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertPaymentMethodsFromJson.sql @@ -2,7 +2,7 @@ WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Application.PaymentMethods(PaymentMethodName,LastEditedBy) - OUTPUT INSERTED.PaymentMethodID + OUTPUT inserted.PaymentMethodID SELECT PaymentMethodName,@UserID FROM OPENJSON(@PaymentMethods) WITH (PaymentMethodName nvarchar(50)) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertStateProvincesFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertStateProvincesFromJson.sql index ce5e3008..26dea4fc 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertStateProvincesFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertStateProvincesFromJson.sql @@ -2,7 +2,7 @@ WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Application.StateProvinces(StateProvinceCode,StateProvinceName,CountryID,SalesTerritory,LatestRecordedPopulation,LastEditedBy) - OUTPUT INSERTED.StateProvinceID + OUTPUT inserted.StateProvinceID SELECT StateProvinceCode,StateProvinceName,CountryID,SalesTerritory,LatestRecordedPopulation,@UserID FROM OPENJSON(@StateProvinces) WITH ( diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertStockGroupsFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertStockGroupsFromJson.sql index a26d38b7..dde3311a 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertStockGroupsFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertStockGroupsFromJson.sql @@ -2,7 +2,7 @@ WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Warehouse.StockGroups(StockGroupName,LastEditedBy) - OUTPUT INSERTED.StockGroupID + OUTPUT inserted.StockGroupID SELECT StockGroupName,@UserID FROM OPENJSON(@StockGroups) WITH (StockGroupName nvarchar(50)) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertStockItemsFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertStockItemsFromJson.sql index f52c4c96..de811b3d 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertStockItemsFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertStockItemsFromJson.sql @@ -2,7 +2,7 @@ WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Warehouse.StockItems(StockItemName,SupplierID,ColorID,UnitPackageID,OuterPackageID,Brand,Size,LeadTimeDays,QuantityPerOuter,IsChillerStock,Barcode,TaxRate,UnitPrice,RecommendedRetailPrice,TypicalWeightPerUnit,MarketingComments,InternalComments,Photo,CustomFields,LastEditedBy) - OUTPUT INSERTED.StockItemID + OUTPUT inserted.StockItemID SELECT StockItemName,SupplierID,ColorID,UnitPackageID,OuterPackageID,Brand,Size,LeadTimeDays,QuantityPerOuter,IsChillerStock,Barcode,TaxRate,UnitPrice,RecommendedRetailPrice,TypicalWeightPerUnit,MarketingComments,InternalComments,Photo,CustomFields,@UserID FROM OPENJSON (@StockItems) WITH ( diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertSupplierCategoriesFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertSupplierCategoriesFromJson.sql index 8f058898..5fd43155 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertSupplierCategoriesFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertSupplierCategoriesFromJson.sql @@ -2,7 +2,7 @@ WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Purchasing.SupplierCategories(SupplierCategoryName,LastEditedBy) - OUTPUT INSERTED.SupplierCategoryID + OUTPUT inserted.SupplierCategoryID SELECT SupplierCategoryName,@UserID FROM OPENJSON(@SupplierCategories) WITH (SupplierCategoryName nvarchar(50)) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertSuppliersFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertSuppliersFromJson.sql index 52538306..ccfd06e3 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertSuppliersFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertSuppliersFromJson.sql @@ -2,7 +2,7 @@ WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Purchasing.Suppliers(SupplierName,SupplierCategoryID,PrimaryContactPersonID,AlternateContactPersonID,DeliveryMethodID,DeliveryCityID,PostalCityID,SupplierReference,BankAccountName,BankAccountBranch,BankAccountCode,BankAccountNumber,BankInternationalCode,PaymentDays,InternalComments,PhoneNumber,FaxNumber,WebsiteURL,DeliveryAddressLine1,DeliveryAddressLine2,DeliveryPostalCode,PostalAddressLine1,PostalAddressLine2,PostalPostalCode, LastEditedBy) - OUTPUT INSERTED.SupplierID + OUTPUT inserted.SupplierID SELECT SupplierName,SupplierCategoryID,PrimaryContactPersonID,AlternateContactPersonID,DeliveryMethodID,DeliveryCityID,PostalCityID,SupplierReference,BankAccountName,BankAccountBranch,BankAccountCode,BankAccountNumber,BankInternationalCode,PaymentDays,InternalComments,PhoneNumber,FaxNumber,WebsiteURL,DeliveryAddressLine1,DeliveryAddressLine2,DeliveryPostalCode,PostalAddressLine1,PostalAddressLine2,PostalPostalCode, @UserID FROM OPENJSON (@Suppliers) WITH ( diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertTransactionTypesFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertTransactionTypesFromJson.sql index e1ecb10e..378bb5c8 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertTransactionTypesFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/InsertTransactionTypesFromJson.sql @@ -2,7 +2,7 @@ WITH EXECUTE AS OWNER AS BEGIN INSERT INTO Application.TransactionTypes(TransactionTypeName,LastEditedBy) - OUTPUT INSERTED.TransactionTypeID + OUTPUT inserted.TransactionTypeID SELECT TransactionTypeName,@UserID FROM OPENJSON(@TransactionTypes) WITH (TransactionTypeName nvarchar(50)) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/SearchForStockItems.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/SearchForStockItems.sql index 8aab482d..161ac1b1 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/SearchForStockItems.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/SearchForStockItems.sql @@ -19,7 +19,7 @@ BEGIN si.Size, si.MarketingComments, si.CustomFields - FROM Website.StockItems AS si + FROM WebApi.StockItems AS si WHERE (@Name IS NULL OR si.StockItemName LIKE ('%' + @Name + '%')) AND (@MinPrice IS NULL OR si.UnitPrice > @MinPrice) AND (@MaxPrice IS NULL OR si.UnitPrice < @MaxPrice) From 4478c0bdb1bcb7014989fda41094972e87ef1704 Mon Sep 17 00:00:00 2001 From: Jovan Popovic Date: Thu, 15 Mar 2018 00:28:06 +0100 Subject: [PATCH 09/22] Removed unnesecary alias in SalesOrders view --- .../wwi-ssdt/wwi-ssdt/WebApi/Views/SalesOrders.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SalesOrders.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SalesOrders.sql index 67ab66b7..86c78f08 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SalesOrders.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SalesOrders.sql @@ -1,6 +1,6 @@ CREATE VIEW [WebApi].[SalesOrders] AS -SELECT o.OrderID, o.OrderDate, OrderNumber = o.CustomerPurchaseOrderNumber, +SELECT o.OrderID, o.OrderDate, o.CustomerPurchaseOrderNumber, o.ExpectedDeliveryDate, o.PickingCompletedWhen, o.CustomerID, c.CustomerName, c.PhoneNumber, c.FaxNumber, c.WebsiteURL, DeliveryLocation = JSON_QUERY((SELECT From 7ea805e7fe69946ad9a1aadaca1a05a08fd63f3b Mon Sep 17 00:00:00 2001 From: Jovan Popovic Date: Thu, 15 Mar 2018 10:07:07 +0100 Subject: [PATCH 10/22] Fixed bugs in SpecialDeals and Customers Added columns in customers view. Changed parameter name in SpecialDeals procedure. --- .../UpdateSpecialDealFromJson.sql | 4 +- .../wwi-ssdt/WebApi/Views/Customers.sql | 51 ++++++++++++------- 2 files changed, 36 insertions(+), 19 deletions(-) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSpecialDealFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSpecialDealFromJson.sql index 38321c1b..b476db34 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSpecialDealFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSpecialDealFromJson.sql @@ -1,4 +1,4 @@ -CREATE PROCEDURE [WebApi].[UpdateSpecialDealFromJson](@SpecialDeal NVARCHAR(MAX), @DealID int, @UserID int) +CREATE PROCEDURE [WebApi].[UpdateSpecialDealFromJson](@SpecialDeal NVARCHAR(MAX), @SpecialDealID int, @UserID int) WITH EXECUTE AS OWNER AS BEGIN UPDATE Sales.SpecialDeals SET StockItemID = ISNULL(json.StockItemID,Sales.SpecialDeals.StockItemID), @@ -27,6 +27,6 @@ AS BEGIN UPDATE Sales.SpecialDeals SET DiscountPercentage decimal(18,3), UnitPrice decimal(18,2)) as json WHERE - Sales.SpecialDeals.SpecialDealID = @DealID + Sales.SpecialDeals.SpecialDealID = @SpecialDealID END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Customers.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Customers.sql index 3cab65f0..76aafa81 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Customers.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Customers.sql @@ -1,35 +1,52 @@ CREATE VIEW [WebApi].[Customers] AS -SELECT s.CustomerID, - s.CustomerName, +SELECT c.CustomerID, + c.CustomerName, sc.CustomerCategoryName, pp.FullName AS PrimaryContact, ap.FullName AS AlternateContact, - s.PhoneNumber, - s.FaxNumber, - s.WebsiteURL, + c.PhoneNumber, + c.FaxNumber, + c.WebsiteURL, + c.PostalAddressLine1, + c.PostalAddressLine2, + c.PostalPostalCode, + c.PostalCityID, + PostalCity = pc.CityName, + c.AccountOpenedDate, + c.CreditLimit, + c.IsOnCreditHold, + c.IsStatementSent, + c.PaymentDays, + c.RunPosition, + c.StandardDiscountPercentage, bg.BuyingGroupName, DeliveryLocation = JSON_QUERY((SELECT type = 'Feature', [geometry.type] = 'Point', - [geometry.coordinates] = JSON_QUERY(CONCAT('[',s.DeliveryLocation.Long,',',s.DeliveryLocation.Lat ,']')), + [geometry.coordinates] = JSON_QUERY(CONCAT('[',c.DeliveryLocation.Long,',',c.DeliveryLocation.Lat ,']')), [properties.DeliveryMethod] = DeliveryMethodName, - [properties.CityName] = c.CityName, + [properties.CityName] = pc.CityName, [properties.Province] = sp.StateProvinceName, [properties.Territory] = sp.SalesTerritory - FOR JSON PATH, WITHOUT_ARRAY_WRAPPER)) -FROM Sales.Customers AS s + FOR JSON PATH, WITHOUT_ARRAY_WRAPPER)), + c.PrimaryContactPersonID, + c.AlternateContactPersonID, + c.BillToCustomerID, + c.BuyingGroupID, + c.CustomerCategoryID +FROM Sales.Customers AS c LEFT OUTER JOIN Sales.CustomerCategories AS sc -ON s.CustomerCategoryID = sc.CustomerCategoryID +ON c.CustomerCategoryID = sc.CustomerCategoryID LEFT OUTER JOIN [Application].People AS pp -ON s.PrimaryContactPersonID = pp.PersonID +ON c.PrimaryContactPersonID = pp.PersonID LEFT OUTER JOIN [Application].People AS ap -ON s.AlternateContactPersonID = ap.PersonID +ON c.AlternateContactPersonID = ap.PersonID LEFT OUTER JOIN Sales.BuyingGroups AS bg -ON s.BuyingGroupID = bg.BuyingGroupID +ON c.BuyingGroupID = bg.BuyingGroupID LEFT OUTER JOIN [Application].DeliveryMethods AS dm -ON s.DeliveryMethodID = dm.DeliveryMethodID -LEFT OUTER JOIN [Application].Cities AS c -ON s.DeliveryCityID = c.CityID +ON c.DeliveryMethodID = dm.DeliveryMethodID +LEFT OUTER JOIN [Application].Cities AS pc +ON c.PostalCityID = pc.CityID LEFT OUTER JOIN [Application].StateProvinces AS sp -ON sp.StateProvinceID = c.StateProvinceID \ No newline at end of file +ON sp.StateProvinceID = pc.StateProvinceID \ No newline at end of file From c4061a3ddc42af4efcb65a98f4ca467f1afbe10a Mon Sep 17 00:00:00 2001 From: Jovan Popovic Date: Sat, 17 Mar 2018 11:05:22 +0100 Subject: [PATCH 11/22] Added quoted identifier_on in insert customer/supplier transactions and missing columns in purchase order lines view. --- .../Stored Procedures/UpdateCustomerTransactionFromJson.sql | 1 + .../Stored Procedures/UpdateSupplierTransactionFromJson.sql | 1 + .../wwi-ssdt/wwi-ssdt/WebApi/Views/PurchaseOrderLines.sql | 5 +++-- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCustomerTransactionFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCustomerTransactionFromJson.sql index 610a12a6..8e7ac606 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCustomerTransactionFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCustomerTransactionFromJson.sql @@ -1,6 +1,7 @@ CREATE PROCEDURE [WebApi].[UpdateCustomerTransactionFromJson](@CustomerTransaction NVARCHAR(MAX), @CustomerTransactionID int, @UserID int) WITH EXECUTE AS OWNER AS BEGIN + SET QUOTED_IDENTIFIER ON; UPDATE Sales.CustomerTransactions SET TransactionTypeID = ISNULL(json.TransactionTypeID, Sales.CustomerTransactions.TransactionTypeID), PaymentMethodID = ISNULL(json.PaymentMethodID, Sales.CustomerTransactions.PaymentMethodID), diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierTransactionFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierTransactionFromJson.sql index eaff82b4..0702c19f 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierTransactionFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierTransactionFromJson.sql @@ -1,6 +1,7 @@ CREATE PROCEDURE [WebApi].[UpdateSupplierTransactionFromJson](@SupplierTransaction NVARCHAR(MAX), @SupplierTransactionID int, @UserID int) WITH EXECUTE AS OWNER AS BEGIN + SET QUOTED_IDENTIFIER ON; UPDATE Purchasing.SupplierTransactions SET SupplierID = ISNULL(json.SupplierID,Purchasing.SupplierTransactions.SupplierID), TransactionTypeID = ISNULL(json.TransactionTypeID,Purchasing.SupplierTransactions.TransactionTypeID), diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/PurchaseOrderLines.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/PurchaseOrderLines.sql index 31ad07eb..49e2e5e7 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/PurchaseOrderLines.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/PurchaseOrderLines.sql @@ -1,7 +1,8 @@ CREATE VIEW [WebApi].[PurchaseOrderLines] AS -SELECT ol.PurchaseOrderLineID, ol.PurchaseOrderID, ol.Description, ol.IsOrderLineFinalized, - ProductName = si.StockItemName, si.Brand, si.Size, c.ColorName, pt.PackageTypeName +SELECT ol.PurchaseOrderLineID, ol.PurchaseOrderID, ol.Description, ol.IsOrderLineFinalized, + ProductName = si.StockItemName, si.Brand, si.Size, c.ColorName, pt.PackageTypeName, + ol.ReceivedOuters, ol.OrderedOuters, ol.ExpectedUnitPricePerOuter FROM Purchasing.PurchaseOrderLines ol INNER JOIN Warehouse.StockItems si ON ol.StockItemID = si.StockItemID From 14afafd377771f8c81d89b78b34f2ea80160ab93 Mon Sep 17 00:00:00 2001 From: Jovan Popovic Date: Sat, 17 Mar 2018 18:09:02 +0100 Subject: [PATCH 12/22] Added row-level security --- .../Application/Functions/DetermineCustomerAccess.sql | 2 +- .../wwi-ssdt/wwi-ssdt/Security/Permissions.sql | 10 ++++++++++ .../wwi-ssdt/WebApi/Stored Procedures/Login.sql | 10 ++++++++++ .../wwi-ssdt/WebApi/Views/CustomerTransactions.sql | 4 ++-- .../wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj | 1 + 5 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/Login.sql diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Application/Functions/DetermineCustomerAccess.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Application/Functions/DetermineCustomerAccess.sql index 2628e718..2ecf4b26 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Application/Functions/DetermineCustomerAccess.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Application/Functions/DetermineCustomerAccess.sql @@ -10,7 +10,7 @@ RETURN (SELECT 1 AS AccessResult INNER JOIN [Application].StateProvinces AS sp ON c.StateProvinceID = sp.StateProvinceID WHERE c.CityID = @CityID) + N' Sales') <> 0 - OR (ORIGINAL_LOGIN() = N'Website' + OR ((ORIGINAL_LOGIN() = N'Website' OR ORIGINAL_LOGIN() = N'WebApi') AND EXISTS (SELECT 1 FROM [Application].Cities AS c INNER JOIN [Application].StateProvinces AS sp diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Security/Permissions.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Security/Permissions.sql index b4f686b4..8be876d5 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Security/Permissions.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Security/Permissions.sql @@ -5,3 +5,13 @@ GRANT VIEW ANY COLUMN ENCRYPTION KEY DEFINITION TO PUBLIC; GO GRANT VIEW ANY COLUMN MASTER KEY DEFINITION TO PUBLIC; */ + +GO +CREATE LOGIN WebApi WITH PASSWORD = 'Sp1d3rman!'; +GO +CREATE USER WebApi FROM LOGIN WebApi; +GO +GRANT EXECUTE ON SCHEMA::WebApi TO WebApi; +GO +GRANT SELECT ON SCHEMA::WebApi TO WebApi; +GO \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/Login.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/Login.sql new file mode 100644 index 00000000..f5e45b6b --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/Login.sql @@ -0,0 +1,10 @@ +CREATE PROCEDURE [WebApi].[Login](@LogonName nvarchar(256), @Password nvarchar(256)) +WITH EXECUTE AS OWNER +AS BEGIN + select PersonID, PreferredName, IsSalesperson, IsEmployee, + Territory = JSON_VALUE(CustomFields,'$.PrimarySalesTerritory') + from Application.People + where IsPermittedToLogon = 1 + and LogonName = @LogonName + --and HashedPassword = HASHBYTES(N'SHA2_256', @Password)", +END \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/CustomerTransactions.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/CustomerTransactions.sql index b3bb45af..4cb5b570 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/CustomerTransactions.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/CustomerTransactions.sql @@ -4,7 +4,7 @@ SELECT ct.CustomerTransactionID, ct.TransactionDate, ct.AmountExcludingTax, ct.T c.CustomerName, tt.TransactionTypeName, i.InvoiceDate, i.CustomerPurchaseOrderNumber, pm.PaymentMethodName, ct.CustomerID, ct.TransactionTypeID, ct.InvoiceID, ct.PaymentMethodID FROM Sales.CustomerTransactions AS ct - LEFT OUTER JOIN Sales.Invoices AS i ON ct.InvoiceID = i.InvoiceID + JOIN Sales.Customers AS c ON ct.CustomerID = c.CustomerID + JOIN Sales.Invoices AS i ON ct.InvoiceID = i.InvoiceID LEFT OUTER JOIN Application.TransactionTypes AS tt ON ct.TransactionTypeID = tt.TransactionTypeID - LEFT OUTER JOIN Sales.Customers AS c ON ct.CustomerID = c.CustomerID LEFT OUTER JOIN Application.PaymentMethods AS pm ON ct.PaymentMethodID = pm.PaymentMethodID \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj index c48f7211..3ef06ed6 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj @@ -773,6 +773,7 @@ On On + From 19e52874cb5e7d3812b74bad378a6453009caa9d Mon Sep 17 00:00:00 2001 From: Jovan Popovic Date: Sun, 18 Mar 2018 00:14:49 +0100 Subject: [PATCH 13/22] Added wrapper views for some simple entities. --- .../wwi-ssdt/wwi-ssdt/WebApi/Views/BuyingGroups.sql | 4 ++++ .../wwi-ssdt/wwi-ssdt/WebApi/Views/Colors.sql | 4 ++++ .../wwi-ssdt/wwi-ssdt/WebApi/Views/Countries.sql | 4 ++++ .../wwi-ssdt/WebApi/Views/CustomerCategories.sql | 4 ++++ .../wwi-ssdt/wwi-ssdt/WebApi/Views/DeliveryMethods.sql | 4 ++++ .../wwi-ssdt/wwi-ssdt/WebApi/Views/PackageTypes.sql | 4 ++++ .../wwi-ssdt/wwi-ssdt/WebApi/Views/PaymentMethods.sql | 4 ++++ .../wwi-ssdt/wwi-ssdt/WebApi/Views/StockGroups.sql | 4 ++++ .../wwi-ssdt/WebApi/Views/SupplierCategories.sql | 4 ++++ .../wwi-ssdt/WebApi/Views/TransactionTypes.sql | 4 ++++ .../wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj | 10 ++++++++++ 11 files changed, 50 insertions(+) create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/BuyingGroups.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Colors.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Countries.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/CustomerCategories.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/DeliveryMethods.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/PackageTypes.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/PaymentMethods.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/StockGroups.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SupplierCategories.sql create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/TransactionTypes.sql diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/BuyingGroups.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/BuyingGroups.sql new file mode 100644 index 00000000..0417e76e --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/BuyingGroups.sql @@ -0,0 +1,4 @@ +CREATE VIEW [WebApi].[BuyingGroups] +AS +SELECT BuyingGroupID, BuyingGroupName +FROM Sales.BuyingGroups \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Colors.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Colors.sql new file mode 100644 index 00000000..4b5e4146 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Colors.sql @@ -0,0 +1,4 @@ +CREATE VIEW [WebApi].[Colors] +AS +SELECT ColorID, ColorName +FROM Warehouse.Colors diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Countries.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Countries.sql new file mode 100644 index 00000000..e8f5d5a0 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Countries.sql @@ -0,0 +1,4 @@ +CREATE VIEW [WebApi].[Countries] +AS +SELECT CountryID,CountryName,FormalName,IsoAlpha3Code,IsoNumericCode,CountryType,LatestRecordedPopulation,Continent,Region,Subregion +FROM Application.Countries \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/CustomerCategories.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/CustomerCategories.sql new file mode 100644 index 00000000..46e44869 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/CustomerCategories.sql @@ -0,0 +1,4 @@ +CREATE VIEW [WebApi].[CustomerCategories] +AS +SELECT CustomerCategoryID, CustomerCategoryName +FROM Sales.CustomerCategories \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/DeliveryMethods.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/DeliveryMethods.sql new file mode 100644 index 00000000..1bb0041a --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/DeliveryMethods.sql @@ -0,0 +1,4 @@ +CREATE VIEW [WebApi].[DeliveryMethods] +AS +SELECT DeliveryMethodID, DeliveryMethodName +FROM [Application].DeliveryMethods \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/PackageTypes.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/PackageTypes.sql new file mode 100644 index 00000000..182ec862 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/PackageTypes.sql @@ -0,0 +1,4 @@ +CREATE VIEW [WebApi].[PackageTypes] +AS +SELECT PackageTypeID, PackageTypeName +FROM Warehouse.PackageTypes diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/PaymentMethods.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/PaymentMethods.sql new file mode 100644 index 00000000..ab5d7c70 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/PaymentMethods.sql @@ -0,0 +1,4 @@ +CREATE VIEW [WebApi].[PaymentMethods] +AS +SELECT PaymentMethodID, PaymentMethodName +FROM [Application].PaymentMethods \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/StockGroups.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/StockGroups.sql new file mode 100644 index 00000000..8192e18f --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/StockGroups.sql @@ -0,0 +1,4 @@ +CREATE VIEW [WebApi].[StockGroups] +AS +SELECT StockGroupID, StockGroupName +FROM Warehouse.StockGroups diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SupplierCategories.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SupplierCategories.sql new file mode 100644 index 00000000..c0c6e047 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/SupplierCategories.sql @@ -0,0 +1,4 @@ +CREATE VIEW [WebApi].[SupplierCategories] +AS +SELECT SupplierCategoryID, SupplierCategoryName +FROM Purchasing.SupplierCategories \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/TransactionTypes.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/TransactionTypes.sql new file mode 100644 index 00000000..dc2fc9b8 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/TransactionTypes.sql @@ -0,0 +1,4 @@ +CREATE VIEW [WebApi].[TransactionTypes] +AS +SELECT TransactionTypeID, TransactionTypeName +FROM [Application].TransactionTypes \ No newline at end of file diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj index 3ef06ed6..5e5164e0 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj @@ -774,6 +774,16 @@ On + + + + + + + + + + From b8de616c47c30caafe77646dbfbb17e856627150 Mon Sep 17 00:00:00 2001 From: Jovan Popovic Date: Sun, 18 Mar 2018 21:08:59 +0100 Subject: [PATCH 14/22] Added missing fields in suppliers view/procedure --- .../Stored Procedures/UpdateSupplierFromJson.sql | 14 +++++++------- .../wwi-ssdt/wwi-ssdt/WebApi/Views/Suppliers.sql | 9 +++++++++ 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierFromJson.sql index cc2b0a78..1b35420b 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierFromJson.sql @@ -10,21 +10,21 @@ AS BEGIN DeliveryCityID = ISNULL(json.DeliveryCityID, Purchasing.Suppliers.DeliveryCityID), PostalCityID = ISNULL(json.PostalCityID, Purchasing.Suppliers.PostalCityID), SupplierReference = json.SupplierReference, - BankAccountName = json.BankAccountName, - BankAccountBranch = json.BankAccountBranch, - BankAccountCode = json.BankAccountCode, - BankAccountNumber = json.BankAccountNumber, + BankAccountName = ISNULL(json.BankAccountName, Purchasing.Suppliers.BankAccountName), + BankAccountBranch = ISNULL(json.BankAccountBranch, Purchasing.Suppliers.BankAccountBranch), + BankAccountCode = ISNULL(json.BankAccountCode, Purchasing.Suppliers.BankAccountCode), + BankAccountNumber = ISNULL(json.BankAccountNumber, Purchasing.Suppliers.BankAccountNumber), BankInternationalCode = json.BankInternationalCode, PaymentDays = ISNULL(json.PaymentDays, Purchasing.Suppliers.PaymentDays), - InternalComments = json.InternalComments, + InternalComments = ISNULL(json.InternalComments, Purchasing.Suppliers.InternalComments), PhoneNumber = ISNULL(json.PhoneNumber, Purchasing.Suppliers.PhoneNumber), FaxNumber = ISNULL(json.FaxNumber, Purchasing.Suppliers.FaxNumber), WebsiteURL = ISNULL(json.WebsiteURL, Purchasing.Suppliers.WebsiteURL), DeliveryAddressLine1 = ISNULL(json.DeliveryAddressLine1, Purchasing.Suppliers.DeliveryAddressLine1), - DeliveryAddressLine2 = json.DeliveryAddressLine2, + DeliveryAddressLine2 = ISNULL(json.DeliveryAddressLine2, Purchasing.Suppliers.DeliveryAddressLine2), DeliveryPostalCode = ISNULL(json.DeliveryPostalCode, Purchasing.Suppliers.DeliveryPostalCode), PostalAddressLine1 = ISNULL(json.PostalAddressLine1, Purchasing.Suppliers.PostalAddressLine1), - PostalAddressLine2 = json.PostalAddressLine2, + PostalAddressLine2 = ISNULL(json.PostalAddressLine2, Purchasing.Suppliers.PostalAddressLine2), PostalPostalCode = ISNULL(json.PostalPostalCode, Purchasing.Suppliers.PostalPostalCode), LastEditedBy = @UserID FROM OPENJSON (@Supplier) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Suppliers.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Suppliers.sql index 801c2016..2dbde2c2 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Suppliers.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Suppliers.sql @@ -9,6 +9,15 @@ SELECT s.SupplierID, s.FaxNumber, s.WebsiteURL, s.SupplierReference, + s.BankAccountName, + s.BankAccountBranch, + s.BankAccountCode, + s.BankAccountNumber, + s.BankInternationalCode, + s.PostalAddressLine1, + s.PostalAddressLine2, + s.PostalPostalCode, + s.PaymentDays, DeliveryLocation = JSON_QUERY((SELECT [type] = 'Feature', [geometry.type] = 'Point', From 20a3393321dc52902dcc9b7838a58bebd3f57694 Mon Sep 17 00:00:00 2001 From: Jovan Popovic Date: Mon, 19 Mar 2018 01:25:52 +0100 Subject: [PATCH 15/22] Handled NULL columns and some missing columns in views. --- .../UpdateCustomerTransactionFromJson.sql | 4 ++-- .../UpdatePurchaseOrderFromJson.sql | 6 +++--- .../UpdateSpecialDealFromJson.sql | 16 ++++++++-------- .../UpdateSupplierTransactionFromJson.sql | 4 ++-- .../wwi-ssdt/WebApi/Views/PurchaseOrders.sql | 2 +- .../wwi-ssdt/wwi-ssdt/WebApi/Views/Suppliers.sql | 2 ++ 6 files changed, 18 insertions(+), 16 deletions(-) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCustomerTransactionFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCustomerTransactionFromJson.sql index 8e7ac606..61057dc3 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCustomerTransactionFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCustomerTransactionFromJson.sql @@ -4,13 +4,13 @@ AS BEGIN SET QUOTED_IDENTIFIER ON; UPDATE Sales.CustomerTransactions SET TransactionTypeID = ISNULL(json.TransactionTypeID, Sales.CustomerTransactions.TransactionTypeID), - PaymentMethodID = ISNULL(json.PaymentMethodID, Sales.CustomerTransactions.PaymentMethodID), + PaymentMethodID = json.PaymentMethodID, TransactionDate = ISNULL(json.TransactionDate, Sales.CustomerTransactions.TransactionDate), AmountExcludingTax = ISNULL(json.AmountExcludingTax, Sales.CustomerTransactions.AmountExcludingTax), TaxAmount = ISNULL(json.TaxAmount, Sales.CustomerTransactions.TaxAmount), TransactionAmount = ISNULL(json.TransactionAmount, Sales.CustomerTransactions.TransactionAmount), OutstandingBalance = ISNULL(json.OutstandingBalance, Sales.CustomerTransactions.OutstandingBalance), - FinalizationDate = ISNULL(json.FinalizationDate, Sales.CustomerTransactions.FinalizationDate), + FinalizationDate = json.FinalizationDate, LastEditedBy = @UserID FROM OPENJSON(@CustomerTransaction) WITH ( diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdatePurchaseOrderFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdatePurchaseOrderFromJson.sql index 0546431d..c4c8beab 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdatePurchaseOrderFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdatePurchaseOrderFromJson.sql @@ -1,12 +1,12 @@ CREATE PROCEDURE [WebApi].[UpdatePurchaseOrderFromJson](@PurchaseOrder NVARCHAR(MAX), @PurchaseOrderID int, @UserID int) WITH EXECUTE AS OWNER AS BEGIN UPDATE Purchasing.PurchaseOrders SET - SupplierID = ISNULL(json.SupplierID,Purchasing.PurchaseOrders.SupplierID), + SupplierID = json.SupplierID, OrderDate = ISNULL(json.OrderDate,Purchasing.PurchaseOrders.OrderDate), DeliveryMethodID = ISNULL(json.DeliveryMethodID,Purchasing.PurchaseOrders.DeliveryMethodID), ContactPersonID = ISNULL(json.ContactPersonID,Purchasing.PurchaseOrders.ContactPersonID), - ExpectedDeliveryDate = ISNULL(json.ExpectedDeliveryDate,Purchasing.PurchaseOrders.ExpectedDeliveryDate), - SupplierReference = ISNULL(json.SupplierReference,Purchasing.PurchaseOrders.SupplierReference), + ExpectedDeliveryDate = json.ExpectedDeliveryDate, + SupplierReference = json.SupplierReference, IsOrderFinalized = ISNULL(json.IsOrderFinalized,Purchasing.PurchaseOrders.IsOrderFinalized) FROM OPENJSON(@PurchaseOrder) WITH ( diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSpecialDealFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSpecialDealFromJson.sql index b476db34..04e9d423 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSpecialDealFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSpecialDealFromJson.sql @@ -1,17 +1,17 @@ CREATE PROCEDURE [WebApi].[UpdateSpecialDealFromJson](@SpecialDeal NVARCHAR(MAX), @SpecialDealID int, @UserID int) WITH EXECUTE AS OWNER AS BEGIN UPDATE Sales.SpecialDeals SET - StockItemID = ISNULL(json.StockItemID,Sales.SpecialDeals.StockItemID), - CustomerID = ISNULL(json.CustomerID,Sales.SpecialDeals.CustomerID), - BuyingGroupID = ISNULL(json.BuyingGroupID,Sales.SpecialDeals.BuyingGroupID), - CustomerCategoryID = ISNULL(json.CustomerCategoryID,Sales.SpecialDeals.CustomerCategoryID), - StockGroupID = ISNULL(json.StockGroupID,Sales.SpecialDeals.StockGroupID), + StockItemID = json.StockItemID, + CustomerID = json.CustomerID, + BuyingGroupID = json.BuyingGroupID, + CustomerCategoryID = json.CustomerCategoryID, + StockGroupID = json.StockGroupID, DealDescription = ISNULL(json.DealDescription,Sales.SpecialDeals.DealDescription), StartDate = ISNULL(json.StartDate,Sales.SpecialDeals.StartDate), EndDate = ISNULL(json.EndDate,Sales.SpecialDeals.EndDate), - DiscountAmount = ISNULL(json.DiscountAmount,Sales.SpecialDeals.DiscountAmount), - DiscountPercentage = ISNULL(json.DiscountPercentage,Sales.SpecialDeals.DiscountPercentage), - UnitPrice = ISNULL(json.UnitPrice,Sales.SpecialDeals.UnitPrice), + DiscountAmount = json.DiscountAmount, + DiscountPercentage = json.DiscountPercentage, + UnitPrice = json.UnitPrice, LastEditedBy = @UserID FROM OPENJSON(@SpecialDeal) WITH ( diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierTransactionFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierTransactionFromJson.sql index 0702c19f..917c59df 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierTransactionFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierTransactionFromJson.sql @@ -5,8 +5,8 @@ AS BEGIN UPDATE Purchasing.SupplierTransactions SET SupplierID = ISNULL(json.SupplierID,Purchasing.SupplierTransactions.SupplierID), TransactionTypeID = ISNULL(json.TransactionTypeID,Purchasing.SupplierTransactions.TransactionTypeID), - PurchaseOrderID = ISNULL(json.PurchaseOrderID,Purchasing.SupplierTransactions.PurchaseOrderID), - PaymentMethodID = ISNULL(json.PaymentMethodID,Purchasing.SupplierTransactions.PaymentMethodID), + PurchaseOrderID = json.PurchaseOrderID, + PaymentMethodID = json.PaymentMethodID, SupplierInvoiceNumber = ISNULL(json.SupplierInvoiceNumber,Purchasing.SupplierTransactions.SupplierInvoiceNumber), TransactionDate = ISNULL(json.TransactionDate,Purchasing.SupplierTransactions.TransactionDate), AmountExcludingTax = ISNULL(json.AmountExcludingTax,Purchasing.SupplierTransactions.AmountExcludingTax), diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/PurchaseOrders.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/PurchaseOrders.sql index 11180208..d0ddd3c0 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/PurchaseOrders.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/PurchaseOrders.sql @@ -1,7 +1,7 @@ CREATE VIEW [WebApi].[PurchaseOrders] AS SELECT o.PurchaseOrderID, o.OrderDate, o.ExpectedDeliveryDate, o.SupplierReference, o.IsOrderFinalized, - dm.DeliveryMethodName, o.SupplierID, + dm.DeliveryMethodName, o.DeliveryMethodID, o.SupplierID, ContactName = c.FullName, ContactPhone = c.PhoneNumber, ContactFax = c.FaxNumber, ContactEmail = c.EmailAddress FROM Purchasing.PurchaseOrders o INNER JOIN Application.People c diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Suppliers.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Suppliers.sql index 2dbde2c2..d21c0b04 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Suppliers.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Views/Suppliers.sql @@ -18,11 +18,13 @@ SELECT s.SupplierID, s.PostalAddressLine2, s.PostalPostalCode, s.PaymentDays, + s.SupplierCategoryID, DeliveryLocation = JSON_QUERY((SELECT [type] = 'Feature', [geometry.type] = 'Point', [geometry.coordinates] = JSON_QUERY(CONCAT('[',s.DeliveryLocation.Long,',',s.DeliveryLocation.Lat ,']')), [properties.DeliveryMethod] = dm.DeliveryMethodName, + [properties.DeliveryMethodID] = s.DeliveryMethodID, [properties.City] = c.CityName, [properties.Province] = sp.StateProvinceName, [properties.Territory] = sp.SalesTerritory From cb371116e171ab34b18ba6161b364c9f4daf1b00 Mon Sep 17 00:00:00 2001 From: Jovan Popovic Date: Mon, 19 Mar 2018 11:14:03 +0100 Subject: [PATCH 16/22] Removed useless quoted identifier on --- .../Stored Procedures/UpdateCustomerTransactionFromJson.sql | 1 - .../Stored Procedures/UpdateSupplierTransactionFromJson.sql | 1 - 2 files changed, 2 deletions(-) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCustomerTransactionFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCustomerTransactionFromJson.sql index 61057dc3..d43c4b22 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCustomerTransactionFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateCustomerTransactionFromJson.sql @@ -1,7 +1,6 @@ CREATE PROCEDURE [WebApi].[UpdateCustomerTransactionFromJson](@CustomerTransaction NVARCHAR(MAX), @CustomerTransactionID int, @UserID int) WITH EXECUTE AS OWNER AS BEGIN - SET QUOTED_IDENTIFIER ON; UPDATE Sales.CustomerTransactions SET TransactionTypeID = ISNULL(json.TransactionTypeID, Sales.CustomerTransactions.TransactionTypeID), PaymentMethodID = json.PaymentMethodID, diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierTransactionFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierTransactionFromJson.sql index 917c59df..95df53db 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierTransactionFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdateSupplierTransactionFromJson.sql @@ -1,7 +1,6 @@ CREATE PROCEDURE [WebApi].[UpdateSupplierTransactionFromJson](@SupplierTransaction NVARCHAR(MAX), @SupplierTransactionID int, @UserID int) WITH EXECUTE AS OWNER AS BEGIN - SET QUOTED_IDENTIFIER ON; UPDATE Purchasing.SupplierTransactions SET SupplierID = ISNULL(json.SupplierID,Purchasing.SupplierTransactions.SupplierID), TransactionTypeID = ISNULL(json.TransactionTypeID,Purchasing.SupplierTransactions.TransactionTypeID), From 261c118fab8ec93a531769530917e5c9d80d1e9a Mon Sep 17 00:00:00 2001 From: Jovan Popovic Date: Mon, 19 Mar 2018 12:18:41 +0100 Subject: [PATCH 17/22] Changed quoted identifier on two update customer/supplier transactions stored procedures. --- .../wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj index 5e5164e0..e0eed637 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj @@ -695,7 +695,9 @@ - + + On + @@ -730,7 +732,9 @@ - + + On + From 9f0867de10ebae800288fa591ce925399b2a07e7 Mon Sep 17 00:00:00 2001 From: Jovan Popovic Date: Wed, 28 Mar 2018 13:51:37 +0200 Subject: [PATCH 18/22] Corrected SupplierID in UpdatePurchaseOrderFromJson --- .../WebApi/Stored Procedures/UpdatePurchaseOrderFromJson.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdatePurchaseOrderFromJson.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdatePurchaseOrderFromJson.sql index c4c8beab..c111b94f 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdatePurchaseOrderFromJson.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WebApi/Stored Procedures/UpdatePurchaseOrderFromJson.sql @@ -1,7 +1,7 @@ CREATE PROCEDURE [WebApi].[UpdatePurchaseOrderFromJson](@PurchaseOrder NVARCHAR(MAX), @PurchaseOrderID int, @UserID int) WITH EXECUTE AS OWNER AS BEGIN UPDATE Purchasing.PurchaseOrders SET - SupplierID = json.SupplierID, + SupplierID = ISNULL(json.SupplierID, Purchasing.PurchaseOrders.SupplierID), OrderDate = ISNULL(json.OrderDate,Purchasing.PurchaseOrders.OrderDate), DeliveryMethodID = ISNULL(json.DeliveryMethodID,Purchasing.PurchaseOrders.DeliveryMethodID), ContactPersonID = ISNULL(json.ContactPersonID,Purchasing.PurchaseOrders.ContactPersonID), From 828dd93d1ee16a28afc3a2690c82ffd4585ce21d Mon Sep 17 00:00:00 2001 From: Jovan Popovic Date: Fri, 7 Sep 2018 16:10:10 +0200 Subject: [PATCH 19/22] Adding Application.Logs WWI sample Added a table required to demo LOB support in CLUSTERE COLUMNSOTRE INDEXes. Scenario is application logging. Applicaiton pushes log events that have large descriptions into the LOB column in CCI table. Table is compliant wiht Serilog logger for .Net and can be direclty used as a target for MSSQL Serilog sink: In applicaition should be added the following changes to integrate serilog: 1. Download Serilog and Serilog.MSSQL.sink NuGet packages 2. Add the following packages: using Serilog; using Serilog.Sinks.MSSqlServer; 3. Configure logger: var columnOptions = new Serilog.Sinks.MSSqlServer.ColumnOptions(); // Don't include the Properties XML column. columnOptions.Store.Remove(StandardColumn.Properties); columnOptions.Store.Remove(StandardColumn.MessageTemplate); columnOptions.Store.Remove(StandardColumn.Exception); // Do include the log event data as JSON. columnOptions.Store.Add(StandardColumn.LogEvent); var logger = new LoggerConfiguration() .WriteTo .MSSqlServer( ConnString, "Logs", schemaName: "Application", autoCreateSqlTable: false, columnOptions: columnOptions ) .CreateLogger()); 4. Log events: var position = new { Latitude = 25, Longitude = 134 }; var elapsedMs = 34; log.Information("Processed {@Position} in {Elapsed:000} ms.", position, elapsedMs); log.Error(new IndexOutOfRangeException("Test"), "Error while processing {@Position} in {Elapsed:000} ms.", position, elapsedMs); --- .../wwi-ssdt/Application/Tables/Logs.sql | 38 +++++++++++++++++++ .../wwi-ssdt/WideWorldImporters.sqlproj | 3 +- 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Application/Tables/Logs.sql diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Application/Tables/Logs.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Application/Tables/Logs.sql new file mode 100644 index 00000000..cb0a94a8 --- /dev/null +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Application/Tables/Logs.sql @@ -0,0 +1,38 @@ +CREATE TABLE [Application].[Logs]( + [Id] [int] IDENTITY(1,1) NOT NULL, + [Message] [nvarchar](max) NULL, + [Level] [nvarchar](128) NULL, + [TimeStamp] [datetime] NOT NULL, + [LogEvent] [nvarchar](max) NULL, + INDEX cci CLUSTERED COLUMNSTORE +) +GO + + +GO +EXECUTE sp_addextendedproperty @name = N'Description', @value = 'CLUSTERED COLUMNSTORE INDEX that compress application log.', @level0type = N'SCHEMA', @level0name = N'Application', @level1type = N'TABLE', @level1name = N'Logs', @level2type = N'INDEX', @level2name = N'cci'; + + +GO +EXECUTE sp_addextendedproperty @name = N'Description', @value = N'Application logs that are stored in database', @level0type = N'SCHEMA', @level0name = N'Application', @level1type = N'TABLE', @level1name = N'Logs'; + + +GO +EXECUTE sp_addextendedproperty @name = N'Description', @value = 'Numeric ID of a log entry', @level0type = N'SCHEMA', @level0name = N'Application', @level1type = N'TABLE', @level1name = N'Logs', @level2type = N'COLUMN', @level2name = N'Id'; + + +GO +EXECUTE sp_addextendedproperty @name = N'Description', @value = 'Logged message', @level0type = N'SCHEMA', @level0name = N'Application', @level1type = N'TABLE', @level1name = N'Logs', @level2type = N'COLUMN', @level2name = N'Message'; + + +GO +EXECUTE sp_addextendedproperty @name = N'Description', @value = 'Severity of the log entry', @level0type = N'SCHEMA', @level0name = N'Application', @level1type = N'TABLE', @level1name = N'Logs', @level2type = N'COLUMN', @level2name = N'Level'; + + +GO +EXECUTE sp_addextendedproperty @name = N'Description', @value = 'Time when the record is logged', @level0type = N'SCHEMA', @level0name = N'Application', @level1type = N'TABLE', @level1name = N'Logs', @level2type = N'COLUMN', @level2name = N'TimeStamp'; + + +GO +EXECUTE sp_addextendedproperty @name = N'Description', @value = 'Details about the logged event', @level0type = N'SCHEMA', @level0name = N'Application', @level1type = N'TABLE', @level1name = N'Logs', @level2type = N'COLUMN', @level2name = N'LogEvent'; + diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj index e0eed637..3b4a1f1e 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj @@ -8,7 +8,7 @@ 2.0 4.1 {9e972c93-0716-4442-97fc-72c52c2c5aaa} - Microsoft.Data.Tools.Schema.Sql.Sql130DatabaseSchemaProvider + Microsoft.Data.Tools.Schema.Sql.Sql140DatabaseSchemaProvider Database @@ -309,6 +309,7 @@ On On + On On From 59fea19b50033d21fcab708baafff0119416e9a4 Mon Sep 17 00:00:00 2001 From: Jovan Popovic Date: Fri, 7 Sep 2018 16:56:03 +0200 Subject: [PATCH 20/22] Corrected DSP --- .../wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj index 3b4a1f1e..32f5cbcb 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/WideWorldImporters.sqlproj @@ -8,7 +8,7 @@ 2.0 4.1 {9e972c93-0716-4442-97fc-72c52c2c5aaa} - Microsoft.Data.Tools.Schema.Sql.Sql140DatabaseSchemaProvider + Microsoft.Data.Tools.Schema.Sql.Sql130DatabaseSchemaProvider Database From cf21a42db7bc8b1b5696197bd7ee1fa3a4503d4b Mon Sep 17 00:00:00 2001 From: Jovan Popovic Date: Mon, 10 Sep 2018 16:30:22 +0200 Subject: [PATCH 21/22] Addressed UC's comments --- .../wwi-ssdt/wwi-ssdt/Application/Tables/Logs.sql | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Application/Tables/Logs.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Application/Tables/Logs.sql index cb0a94a8..ef4af9f9 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Application/Tables/Logs.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Application/Tables/Logs.sql @@ -1,16 +1,16 @@ CREATE TABLE [Application].[Logs]( [Id] [int] IDENTITY(1,1) NOT NULL, - [Message] [nvarchar](max) NULL, - [Level] [nvarchar](128) NULL, - [TimeStamp] [datetime] NOT NULL, - [LogEvent] [nvarchar](max) NULL, - INDEX cci CLUSTERED COLUMNSTORE + [Message] NVARCHAR(max) NULL, + [Level] NVARCHAR(128) NULL, + [EventTime] DATETIME2 (7) NOT NULL, + [LogEvent] NVARCHAR(max) NULL, + INDEX CCX_Application_Logs CLUSTERED COLUMNSTORE ) GO GO -EXECUTE sp_addextendedproperty @name = N'Description', @value = 'CLUSTERED COLUMNSTORE INDEX that compress application log.', @level0type = N'SCHEMA', @level0name = N'Application', @level1type = N'TABLE', @level1name = N'Logs', @level2type = N'INDEX', @level2name = N'cci'; +EXECUTE sp_addextendedproperty @name = N'Description', @value = 'CLUSTERED COLUMNSTORE INDEX that compress application log.', @level0type = N'SCHEMA', @level0name = N'Application', @level1type = N'TABLE', @level1name = N'Logs', @level2type = N'INDEX', @level2name = N'CCX_Application_Logs'; GO @@ -30,7 +30,7 @@ EXECUTE sp_addextendedproperty @name = N'Description', @value = 'Severity of the GO -EXECUTE sp_addextendedproperty @name = N'Description', @value = 'Time when the record is logged', @level0type = N'SCHEMA', @level0name = N'Application', @level1type = N'TABLE', @level1name = N'Logs', @level2type = N'COLUMN', @level2name = N'TimeStamp'; +EXECUTE sp_addextendedproperty @name = N'Description', @value = 'Time when the record is logged', @level0type = N'SCHEMA', @level0name = N'Application', @level1type = N'TABLE', @level1name = N'Logs', @level2type = N'COLUMN', @level2name = 'EventTime'; GO From 90b1e81c38b70d6de8d71738df8de1220b0eb36f Mon Sep 17 00:00:00 2001 From: Jovan Popovic Date: Sun, 16 Sep 2018 23:19:45 +0200 Subject: [PATCH 22/22] Updated columns Removed Id column that it is not required. Replaced types for Message and Level with the smaller type. --- .../wwi-ssdt/wwi-ssdt/Application/Tables/Logs.sql | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Application/Tables/Logs.sql b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Application/Tables/Logs.sql index ef4af9f9..7e818f3b 100644 --- a/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Application/Tables/Logs.sql +++ b/samples/databases/wide-world-importers/wwi-ssdt/wwi-ssdt/Application/Tables/Logs.sql @@ -1,7 +1,6 @@ CREATE TABLE [Application].[Logs]( - [Id] [int] IDENTITY(1,1) NOT NULL, - [Message] NVARCHAR(max) NULL, - [Level] NVARCHAR(128) NULL, + [Message] NVARCHAR(4000) NOT NULL, + [Level] VARCHAR(16) NOT NULL, [EventTime] DATETIME2 (7) NOT NULL, [LogEvent] NVARCHAR(max) NULL, INDEX CCX_Application_Logs CLUSTERED COLUMNSTORE @@ -17,10 +16,6 @@ GO EXECUTE sp_addextendedproperty @name = N'Description', @value = N'Application logs that are stored in database', @level0type = N'SCHEMA', @level0name = N'Application', @level1type = N'TABLE', @level1name = N'Logs'; -GO -EXECUTE sp_addextendedproperty @name = N'Description', @value = 'Numeric ID of a log entry', @level0type = N'SCHEMA', @level0name = N'Application', @level1type = N'TABLE', @level1name = N'Logs', @level2type = N'COLUMN', @level2name = N'Id'; - - GO EXECUTE sp_addextendedproperty @name = N'Description', @value = 'Logged message', @level0type = N'SCHEMA', @level0name = N'Application', @level1type = N'TABLE', @level1name = N'Logs', @level2type = N'COLUMN', @level2name = N'Message';