Adding WWI WebSite views/procedures (#367)

* 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.

* Added Website views/proc into sql project

* Refactored Web APi procedures and views

* Update DeleteStateProvince.sql

* Fixing style on views

Added quoted identifiers everywhere.

* Added quoted identifiers on WebApi views

* Removed refactor log from project

* Addressing UC's comment

changed INSERTED to inserted
SearchForStockItems uses correct view in webApi schema

* Removed unnesecary alias in SalesOrders view

* Fixed bugs in SpecialDeals and Customers

Added columns in customers view.
Changed parameter name in SpecialDeals procedure.

* Added quoted identifier_on in insert customer/supplier transactions and missing columns in purchase order lines view.

* Added row-level security

* Added wrapper views for some simple entities.

* Added missing fields in suppliers view/procedure

* Handled NULL columns and some missing columns in views.

* Removed useless quoted identifier on

* Changed quoted identifier on two update customer/supplier transactions stored procedures.
This commit is contained in:
Jovan Popovic
2018-04-06 14:40:55 +02:00
committed by Jovan Popovic (MSFT)
parent 54eaca0cdc
commit f67895ac75
83 changed files with 1269 additions and 65 deletions
@@ -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
@@ -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
@@ -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';
@@ -0,0 +1,6 @@
CREATE PROCEDURE [WebApi].[DeleteBuyingGroup](@BuyingGroupID int)
WITH EXECUTE AS OWNER
AS BEGIN
DELETE Sales.BuyingGroups
WHERE BuyingGroupID = @BuyingGroupID
END
@@ -0,0 +1,6 @@
CREATE PROCEDURE [WebApi].[DeleteCity](@CityID int)
WITH EXECUTE AS OWNER
AS BEGIN
DELETE Application.Cities
WHERE CityID = @CityID
END
@@ -0,0 +1,6 @@
CREATE PROCEDURE [WebApi].[DeleteColor](@ColorID int)
WITH EXECUTE AS OWNER
AS BEGIN
DELETE Warehouse.Colors
WHERE ColorID = @ColorID
END
@@ -0,0 +1,6 @@
CREATE PROCEDURE [WebApi].[DeleteCountry](@CountryID int)
WITH EXECUTE AS OWNER
AS BEGIN
DELETE Application.Countries
WHERE CountryID = @CountryID;
END
@@ -0,0 +1,6 @@
CREATE PROCEDURE [WebApi].[DeleteCustomer](@CustomerID int)
WITH EXECUTE AS OWNER
AS BEGIN
DELETE Sales.Customers
WHERE CustomerID = @CustomerID;
END
@@ -0,0 +1,6 @@
CREATE PROCEDURE [WebApi].[DeleteCustomerCategory](@CustomerCategoryID int)
WITH EXECUTE AS OWNER
AS BEGIN
DELETE Sales.CustomerCategories
WHERE CustomerCategoryID = @CustomerCategoryID
END
@@ -0,0 +1,6 @@
CREATE PROCEDURE [WebApi].[DeleteDeliveryMethod](@DeliveryMethodID int)
WITH EXECUTE AS OWNER
AS BEGIN
DELETE Application.DeliveryMethods
WHERE DeliveryMethodID = @DeliveryMethodID
END
@@ -0,0 +1,6 @@
CREATE PROCEDURE [WebApi].[DeletePackageType](@PackageTypeID int)
WITH EXECUTE AS OWNER
AS BEGIN
DELETE Warehouse.PackageTypes
WHERE PackageTypeID = @PackageTypeID
END
@@ -0,0 +1,6 @@
CREATE PROCEDURE [WebApi].[DeletePaymentMethod](@PaymentMethodID int)
WITH EXECUTE AS OWNER
AS BEGIN
DELETE Application.PaymentMethods
WHERE PaymentMethodID = @PaymentMethodID
END
@@ -0,0 +1,6 @@
CREATE PROCEDURE [WebApi].[DeleteStateProvince](@StateProvinceID int)
WITH EXECUTE AS OWNER
AS BEGIN
DELETE Application.StateProvinces
WHERE StateProvinceID = @StateProvinceID;
END
@@ -0,0 +1,6 @@
CREATE PROCEDURE [WebApi].[DeleteStockGroup](@StockGroupID int)
WITH EXECUTE AS OWNER
AS BEGIN
DELETE Warehouse.StockGroups
WHERE StockGroupID = @StockGroupID
END
@@ -0,0 +1,6 @@
CREATE PROCEDURE [WebApi].[DeleteStockItem](@StockItemID int)
WITH EXECUTE AS OWNER
AS BEGIN
DELETE Warehouse.StockItems
WHERE StockItemID = @StockItemID;
END
@@ -0,0 +1,6 @@
CREATE PROCEDURE [WebApi].[DeleteSupplier](@SupplierID int)
WITH EXECUTE AS OWNER
AS BEGIN
DELETE Purchasing.Suppliers
WHERE SupplierID = @SupplierID;
END
@@ -0,0 +1,6 @@
CREATE PROCEDURE [WebApi].[DeleteSupplierCategory](@SupplierCategoryID int)
WITH EXECUTE AS OWNER
AS BEGIN
DELETE Purchasing.SupplierCategories
WHERE SupplierCategoryID = @SupplierCategoryID
END
@@ -0,0 +1,6 @@
CREATE PROCEDURE [WebApi].[DeleteTransactionType](@TransactionTypeID int)
WITH EXECUTE AS OWNER
AS BEGIN
DELETE Application.TransactionTypes
WHERE TransactionTypeID = @TransactionTypeID
END
@@ -0,0 +1,9 @@
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(@BuyingGroups)
WITH (BuyingGroupName nvarchar(50))
END
@@ -0,0 +1,12 @@
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(@Cities)
WITH (
CityName nvarchar(50) N'strict $.CityName',
StateProvinceID int N'strict $.StateProvinceID',
LatestRecordedPopulation bigint)
END
@@ -0,0 +1,9 @@
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(@Colors)
WITH (ColorName nvarchar(50))
END
@@ -0,0 +1,18 @@
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)
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
@@ -0,0 +1,9 @@
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(@CustomerCategories)
WITH (CustomerCategoryName nvarchar(50))
END
@@ -0,0 +1,35 @@
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)
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
@@ -0,0 +1,9 @@
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(@DeliveryMethods)
WITH (DeliveryMethodName nvarchar(50))
END
@@ -0,0 +1,9 @@
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(@PackageTypes)
WITH (PackageTypeName nvarchar(50))
END
@@ -0,0 +1,9 @@
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(@PaymentMethods)
WITH (PaymentMethodName nvarchar(50))
END
@@ -0,0 +1,14 @@
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)
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
@@ -0,0 +1,9 @@
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(@StockGroups)
WITH (StockGroupName nvarchar(50))
END
@@ -0,0 +1,28 @@
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)
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
@@ -0,0 +1,9 @@
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(@SupplierCategories)
WITH (SupplierCategoryName nvarchar(50))
END
@@ -0,0 +1,34 @@
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)
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
@@ -0,0 +1,9 @@
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(@TransactionTypes)
WITH (TransactionTypeName nvarchar(50))
END
@@ -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
@@ -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 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)
)
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
@@ -0,0 +1,11 @@
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 (@BuyingGroup)
WITH (BuyingGroupName nvarchar(50)) as json
WHERE
Sales.BuyingGroups.BuyingGroupID = @BuyingGroupID
END
@@ -0,0 +1,17 @@
CREATE PROCEDURE [WebApi].[UpdateCityFromJson](@City 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 (@City)
WITH (
CityName nvarchar(50) N'strict $.CityName',
StateProvinceID int N'strict $.StateProvinceID',
LatestRecordedPopulation bigint) as json
WHERE
Application.Cities.CityID = @CityID
END
@@ -0,0 +1,12 @@
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 (@Color)
WITH (ColorName nvarchar(50)) as json
WHERE
Warehouse.Colors.ColorID = @ColorID
END
@@ -0,0 +1,27 @@
CREATE PROCEDURE [WebApi].[UpdateCountryFromJson](@Country 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 (@Country)
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
@@ -0,0 +1,11 @@
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 (@CustomerCategory)
WITH (CustomerCategoryName nvarchar(50)) as json
WHERE
Sales.CustomerCategories.CustomerCategoryID = @CustomerCategoryID
END
@@ -0,0 +1,62 @@
CREATE PROCEDURE [WebApi].[UpdateCustomerFromJson](@Customer 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(@Customer)
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
@@ -0,0 +1,28 @@
CREATE PROCEDURE [WebApi].[UpdateCustomerTransactionFromJson](@CustomerTransaction NVARCHAR(MAX), @CustomerTransactionID int, @UserID int)
WITH EXECUTE AS OWNER
AS BEGIN
UPDATE Sales.CustomerTransactions SET
TransactionTypeID = ISNULL(json.TransactionTypeID, Sales.CustomerTransactions.TransactionTypeID),
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 = json.FinalizationDate,
LastEditedBy = @UserID
FROM OPENJSON(@CustomerTransaction)
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
@@ -0,0 +1,12 @@
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 (@DeliveryMethod)
WITH (DeliveryMethodName nvarchar(50)) as json
WHERE
Application.DeliveryMethods.DeliveryMethodID = @DeliveryMethodID
END
@@ -0,0 +1,39 @@
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),
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(@Invoice)
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
@@ -0,0 +1,12 @@
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 (@PackageType)
WITH (PackageTypeName nvarchar(50)) as json
WHERE
Warehouse.PackageTypes.PackageTypeID = @PackageTypeID
END
@@ -0,0 +1,12 @@
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 (@PaymentMethod)
WITH (PaymentMethodName nvarchar(50)) as json
WHERE
Application.PaymentMethods.PaymentMethodID = @PaymentMethodID
END
@@ -0,0 +1,23 @@
CREATE PROCEDURE [WebApi].[UpdatePurchaseOrderFromJson](@PurchaseOrder NVARCHAR(MAX), @PurchaseOrderID int, @UserID int)
WITH EXECUTE AS OWNER
AS BEGIN UPDATE Purchasing.PurchaseOrders SET
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 = json.ExpectedDeliveryDate,
SupplierReference = json.SupplierReference,
IsOrderFinalized = ISNULL(json.IsOrderFinalized,Purchasing.PurchaseOrders.IsOrderFinalized)
FROM OPENJSON(@PurchaseOrder)
WITH (
SupplierID int,
OrderDate date,
DeliveryMethodID int,
ContactPersonID int,
ExpectedDeliveryDate date,
SupplierReference nvarchar(20),
IsOrderFinalized bit) as json
WHERE
Purchasing.PurchaseOrders.PurchaseOrderID = @PurchaseOrderID
END
@@ -0,0 +1,28 @@
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),
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(@SalesOrder)
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
@@ -0,0 +1,32 @@
CREATE PROCEDURE [WebApi].[UpdateSpecialDealFromJson](@SpecialDeal NVARCHAR(MAX), @SpecialDealID int, @UserID int)
WITH EXECUTE AS OWNER
AS BEGIN UPDATE Sales.SpecialDeals SET
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 = json.DiscountAmount,
DiscountPercentage = json.DiscountPercentage,
UnitPrice = json.UnitPrice,
LastEditedBy = @UserID
FROM OPENJSON(@SpecialDeal)
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 = @SpecialDealID
END
@@ -0,0 +1,21 @@
CREATE PROCEDURE [WebApi].[UpdateStateProvinceFromJson](@StateProvince 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 (@StateProvince)
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
@@ -0,0 +1,12 @@
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 (@StockGroup)
WITH (StockGroupName nvarchar(50)) as json
WHERE
Warehouse.StockGroups.StockGroupID = @StockGroupID
END
@@ -0,0 +1,50 @@
CREATE PROCEDURE [WebApi].[UpdateStockItemFromJson](@StockItem 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 (@StockItem)
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
@@ -0,0 +1,12 @@
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 (@SupplierCategory)
WITH (SupplierCategoryName nvarchar(50)) as json
WHERE
Purchasing.SupplierCategories.SupplierCategoryID = @SupplierCategoryID
END
@@ -0,0 +1,59 @@
CREATE PROCEDURE [WebApi].[UpdateSupplierFromJson](@Supplier 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 = 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 = 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 = ISNULL(json.DeliveryAddressLine2, Purchasing.Suppliers.DeliveryAddressLine2),
DeliveryPostalCode = ISNULL(json.DeliveryPostalCode, Purchasing.Suppliers.DeliveryPostalCode),
PostalAddressLine1 = ISNULL(json.PostalAddressLine1, Purchasing.Suppliers.PostalAddressLine1),
PostalAddressLine2 = ISNULL(json.PostalAddressLine2, Purchasing.Suppliers.PostalAddressLine2),
PostalPostalCode = ISNULL(json.PostalPostalCode, Purchasing.Suppliers.PostalPostalCode),
LastEditedBy = @UserID
FROM OPENJSON (@Supplier)
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
@@ -0,0 +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 = 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),
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
@@ -0,0 +1,12 @@
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 (@TransactionType)
WITH (TransactionTypeName nvarchar(50)) as json
WHERE
Application.TransactionTypes.TransactionTypeID = @TransactionTypeID
END
@@ -0,0 +1,4 @@
CREATE VIEW [WebApi].[BuyingGroups]
AS
SELECT BuyingGroupID, BuyingGroupName
FROM Sales.BuyingGroups
@@ -0,0 +1,11 @@
CREATE VIEW [WebApi].[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
@@ -0,0 +1,4 @@
CREATE VIEW [WebApi].[Colors]
AS
SELECT ColorID, ColorName
FROM Warehouse.Colors
@@ -0,0 +1,4 @@
CREATE VIEW [WebApi].[Countries]
AS
SELECT CountryID,CountryName,FormalName,IsoAlpha3Code,IsoNumericCode,CountryType,LatestRecordedPopulation,Continent,Region,Subregion
FROM Application.Countries
@@ -0,0 +1,4 @@
CREATE VIEW [WebApi].[CustomerCategories]
AS
SELECT CustomerCategoryID, CustomerCategoryName
FROM Sales.CustomerCategories
@@ -0,0 +1,10 @@
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,
ct.CustomerID, ct.TransactionTypeID, ct.InvoiceID, ct.PaymentMethodID
FROM Sales.CustomerTransactions AS ct
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 Application.PaymentMethods AS pm ON ct.PaymentMethodID = pm.PaymentMethodID
@@ -0,0 +1,52 @@
CREATE VIEW [WebApi].[Customers]
AS
SELECT c.CustomerID,
c.CustomerName,
sc.CustomerCategoryName,
pp.FullName AS PrimaryContact,
ap.FullName AS AlternateContact,
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('[',c.DeliveryLocation.Long,',',c.DeliveryLocation.Lat ,']')),
[properties.DeliveryMethod] = DeliveryMethodName,
[properties.CityName] = pc.CityName,
[properties.Province] = sp.StateProvinceName,
[properties.Territory] = sp.SalesTerritory
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 c.CustomerCategoryID = sc.CustomerCategoryID
LEFT OUTER JOIN [Application].People AS pp
ON c.PrimaryContactPersonID = pp.PersonID
LEFT OUTER JOIN [Application].People AS ap
ON c.AlternateContactPersonID = ap.PersonID
LEFT OUTER JOIN Sales.BuyingGroups AS bg
ON c.BuyingGroupID = bg.BuyingGroupID
LEFT OUTER JOIN [Application].DeliveryMethods AS dm
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 = pc.StateProvinceID
@@ -0,0 +1,4 @@
CREATE VIEW [WebApi].[DeliveryMethods]
AS
SELECT DeliveryMethodID, DeliveryMethodName
FROM [Application].DeliveryMethods
@@ -0,0 +1,10 @@
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,
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
@@ -0,0 +1,4 @@
CREATE VIEW [WebApi].[PackageTypes]
AS
SELECT PackageTypeID, PackageTypeName
FROM Warehouse.PackageTypes
@@ -0,0 +1,4 @@
CREATE VIEW [WebApi].[PaymentMethods]
AS
SELECT PaymentMethodID, PaymentMethodName
FROM [Application].PaymentMethods
@@ -1,8 +1,8 @@

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
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
@@ -1,8 +1,7 @@

CREATE VIEW Website.PurchaseOrders
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
@@ -1,5 +1,4 @@

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
@@ -1,7 +1,6 @@

CREATE VIEW Website.SalesOrders
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
@@ -0,0 +1,12 @@
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,
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
@@ -0,0 +1,17 @@
CREATE VIEW [WebApi].[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
@@ -0,0 +1,4 @@
CREATE VIEW [WebApi].[StockGroups]
AS
SELECT StockGroupID, StockGroupName
FROM Warehouse.StockGroups
@@ -0,0 +1,15 @@
CREATE VIEW [WebApi].[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
@@ -0,0 +1,4 @@
CREATE VIEW [WebApi].[SupplierCategories]
AS
SELECT SupplierCategoryID, SupplierCategoryName
FROM Purchasing.SupplierCategories
@@ -0,0 +1,9 @@
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
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
@@ -0,0 +1,44 @@
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,
s.BankAccountName,
s.BankAccountBranch,
s.BankAccountCode,
s.BankAccountNumber,
s.BankInternationalCode,
s.PostalAddressLine1,
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
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
@@ -0,0 +1,4 @@
CREATE VIEW [WebApi].[TransactionTypes]
AS
SELECT TransactionTypeID, TransactionTypeName
FROM [Application].TransactionTypes
@@ -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
GO
@@ -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
@@ -1,5 +1,4 @@
CREATE VIEW Website.VehicleTemperatures
CREATE VIEW Website.VehicleTemperatures
AS
SELECT vt.VehicleTemperatureID,
vt.VehicleRegistration,
@@ -148,6 +148,9 @@
<Folder Include="DataLoadSimulation\Tables" />
<Folder Include="dbo" />
<Folder Include="dbo\Tables" />
<Folder Include="WebApi" />
<Folder Include="WebApi\Views" />
<Folder Include="WebApi\Stored Procedures" />
</ItemGroup>
<ItemGroup>
<Build Include="Warehouse\Tables\Colors.sql">
@@ -342,14 +345,6 @@
<AnsiNulls>On</AnsiNulls>
<QuotedIdentifier>On</QuotedIdentifier>
</Build>
<Build Include="Website\Views\Suppliers.sql">
<AnsiNulls>On</AnsiNulls>
<QuotedIdentifier>On</QuotedIdentifier>
</Build>
<Build Include="Website\Views\Customers.sql">
<AnsiNulls>On</AnsiNulls>
<QuotedIdentifier>On</QuotedIdentifier>
</Build>
<Build Include="Website\Views\VehicleTemperatures.sql">
<AnsiNulls>On</AnsiNulls>
<QuotedIdentifier>On</QuotedIdentifier>
@@ -694,11 +689,105 @@
<Build Include="DataLoadSimulation\Stored Procedures\PopulateColdRoomTemperatures_temp.sql" />
<Build Include="dbo\Tables\SampleVersion.sql" />
<Build Include="Application\Stored Procedures\Configuration_PrepareForAzureStandard.sql" />
<Build Include="Website\Views\PurchaseOrderLines.sql" />
<Build Include="Website\Views\PurchaseOrders.sql" />
<Build Include="Website\Views\SalesOrders.sql" />
<Build Include="Website\Views\SalesOrderLines.sql" />
<Build Include="DataLoadSimulation\Tables\SeasonVariation.sql" />
<Build Include="Security\WebApi.sql" />
<Build Include="WebApi\Stored Procedures\UpdateInvoiceFromJson.sql" />
<Build Include="WebApi\Stored Procedures\UpdateTransactionTypeFromJson.sql" />
<Build Include="WebApi\Stored Procedures\InsertTransactionTypesFromJson.sql" />
<Build Include="WebApi\Stored Procedures\DeleteTransactionType.sql" />
<Build Include="WebApi\Stored Procedures\UpdateSupplierTransactionFromJson.sql">
<QuotedIdentifier>On</QuotedIdentifier>
</Build>
<Build Include="WebApi\Stored Procedures\UpdateSupplierFromJson.sql" />
<Build Include="WebApi\Stored Procedures\InsertSuppliersFromJson.sql" />
<Build Include="WebApi\Stored Procedures\DeleteSupplier.sql" />
<Build Include="WebApi\Stored Procedures\UpdateSupplierCategoryFromJson.sql" />
<Build Include="WebApi\Stored Procedures\InsertSupplierCategoriesFromJson.sql" />
<Build Include="WebApi\Stored Procedures\DeleteSupplierCategory.sql" />
<Build Include="WebApi\Stored Procedures\UpdateStockItemFromJson.sql" />
<Build Include="WebApi\Stored Procedures\InsertStockItemsFromJson.sql" />
<Build Include="WebApi\Stored Procedures\DeleteStockItem.sql" />
<Build Include="WebApi\Stored Procedures\UpdateStockGroupFromJson.sql" />
<Build Include="WebApi\Stored Procedures\InsertStockGroupsFromJson.sql" />
<Build Include="WebApi\Stored Procedures\DeleteStockGroup.sql" />
<Build Include="WebApi\Stored Procedures\UpdateStateProvinceFromJson.sql" />
<Build Include="WebApi\Stored Procedures\InsertStateProvincesFromJson.sql" />
<Build Include="WebApi\Stored Procedures\DeleteStateProvince.sql" />
<Build Include="WebApi\Stored Procedures\UpdateSpecialDealFromJson.sql" />
<Build Include="WebApi\Stored Procedures\DeleteBuyingGroup.sql" />
<Build Include="WebApi\Stored Procedures\InsertBuyingGroupsFromJson.sql" />
<Build Include="WebApi\Stored Procedures\UpdateBuyingGroupFromJson.sql" />
<Build Include="WebApi\Stored Procedures\DeleteCity.sql" />
<Build Include="WebApi\Stored Procedures\InsertCitiesFromJson.sql" />
<Build Include="WebApi\Stored Procedures\UpdateCityFromJson.sql" />
<Build Include="WebApi\Stored Procedures\DeleteColor.sql" />
<Build Include="WebApi\Stored Procedures\InsertColorsFromJson.sql" />
<Build Include="WebApi\Stored Procedures\UpdateColorFromJson.sql" />
<Build Include="WebApi\Stored Procedures\DeleteCountry.sql" />
<Build Include="WebApi\Stored Procedures\InsertCountriesFromJson.sql" />
<Build Include="WebApi\Stored Procedures\UpdateCountryFromJson.sql" />
<Build Include="WebApi\Stored Procedures\DeleteCustomerCategory.sql" />
<Build Include="WebApi\Stored Procedures\InsertCustomerCategoriesFromJson.sql" />
<Build Include="WebApi\Stored Procedures\UpdateCustomerCategoryFromJson.sql" />
<Build Include="WebApi\Stored Procedures\DeleteCustomer.sql" />
<Build Include="WebApi\Stored Procedures\InsertCustomersFromJson.sql" />
<Build Include="WebApi\Stored Procedures\UpdateCustomerFromJson.sql" />
<Build Include="WebApi\Stored Procedures\UpdateCustomerTransactionFromJson.sql">
<QuotedIdentifier>On</QuotedIdentifier>
</Build>
<Build Include="WebApi\Stored Procedures\DeleteDeliveryMethod.sql" />
<Build Include="WebApi\Stored Procedures\InsertDeliveryMethodsFromJson.sql" />
<Build Include="WebApi\Stored Procedures\UpdateDeliveryMethodFromJson.sql" />
<Build Include="WebApi\Stored Procedures\DeletePackageType.sql" />
<Build Include="WebApi\Stored Procedures\InsertPackageTypesFromJson.sql" />
<Build Include="WebApi\Stored Procedures\UpdatePackageTypeFromJson.sql" />
<Build Include="WebApi\Stored Procedures\DeletePaymentMethod.sql" />
<Build Include="WebApi\Stored Procedures\InsertPaymentMethodsFromJson.sql" />
<Build Include="WebApi\Stored Procedures\UpdatePaymentMethodFromJson.sql" />
<Build Include="WebApi\Stored Procedures\UpdatePurchaseOrderFromJson.sql" />
<Build Include="WebApi\Stored Procedures\UpdateSalesOrderFromJson.sql" />
<Build Include="WebApi\Views\SupplierTransactions.sql" />
<Build Include="WebApi\Views\Cities.sql" />
<Build Include="WebApi\Views\Customers.sql">
<AnsiNulls>On</AnsiNulls>
<QuotedIdentifier>On</QuotedIdentifier>
</Build>
<Build Include="WebApi\Views\CustomerTransactions.sql" />
<Build Include="WebApi\Views\Invoices.sql" />
<Build Include="WebApi\Views\PurchaseOrderLines.sql" />
<Build Include="WebApi\Views\PurchaseOrders.sql" />
<Build Include="WebApi\Views\SalesOrderLines.sql" />
<Build Include="WebApi\Views\SalesOrders.sql" />
<Build Include="WebApi\Views\SpecialDeals.sql" />
<Build Include="WebApi\Views\StateProvinces.sql" />
<Build Include="WebApi\Views\StockItems.sql" />
<Build Include="WebApi\Views\Suppliers.sql">
<AnsiNulls>On</AnsiNulls>
<QuotedIdentifier>On</QuotedIdentifier>
</Build>
<Build Include="Website\Views\Customers.sql">
<AnsiNulls>On</AnsiNulls>
<QuotedIdentifier>On</QuotedIdentifier>
</Build>
<Build Include="Website\Views\Suppliers.sql">
<AnsiNulls>On</AnsiNulls>
<QuotedIdentifier>On</QuotedIdentifier>
</Build>
<Build Include="WebApi\Stored Procedures\SearchForStockItems.sql">
<AnsiNulls>On</AnsiNulls>
<QuotedIdentifier>On</QuotedIdentifier>
</Build>
<Build Include="WebApi\Stored Procedures\Login.sql" />
<Build Include="WebApi\Views\BuyingGroups.sql" />
<Build Include="WebApi\Views\StockGroups.sql" />
<Build Include="WebApi\Views\Colors.sql" />
<Build Include="WebApi\Views\PackageTypes.sql" />
<Build Include="WebApi\Views\Countries.sql" />
<Build Include="WebApi\Views\CustomerCategories.sql" />
<Build Include="WebApi\Views\SupplierCategories.sql" />
<Build Include="WebApi\Views\TransactionTypes.sql" />
<Build Include="WebApi\Views\DeliveryMethods.sql" />
<Build Include="WebApi\Views\PaymentMethods.sql" />
</ItemGroup>
<ItemGroup>
<PostDeploy Include="PostDeploymentScripts\Script.PostDeployment1.sql" />