Skip to content

Commit c5a7cc6

Browse files
committed
more db work
1 parent c34112a commit c5a7cc6

34 files changed

+265
-43
lines changed

ApiDoc.userprefs

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<Properties>
2+
<MonoDevelop.Ide.Workspace ActiveConfiguration="Debug" />
3+
<MonoDevelop.Ide.Workbench />
4+
<MonoDevelop.Ide.DebuggingService.Breakpoints>
5+
<BreakpointStore />
6+
</MonoDevelop.Ide.DebuggingService.Breakpoints>
7+
<MonoDevelop.Ide.DebuggingService.PinnedWatches />
8+
</Properties>
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

Database/04_Table_tab_Methods.sql Database/04 tab_Methods/04_tab_Methods.sql

+4-7
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ SET ANSI_PADDING ON
1212
GO
1313

1414
CREATE TABLE [dbo].[tab_Methods](
15-
[fID] [int] NOT NULL IDENTITY(1,1),
15+
[fID] [int] NOT NULL,
1616
[frServiceId] [int] NOT NULL,
1717
[fMethodName] [nvarchar](100) NOT NULL,
1818
[frHttpVerb] [int] NOT NULL,
@@ -23,18 +23,15 @@ CREATE TABLE [dbo].[tab_Methods](
2323
[fDescription] [varchar](max) NOT NULL,
2424
[fChangeDate] [datetime] NOT NULL,
2525
[fAuthor] [nvarchar](50) NOT NULL,
26-
CONSTRAINT [PK_tab_Methods] PRIMARY KEY CLUSTERED
27-
(
28-
[fID] ASC
29-
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
30-
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
26+
[fDeleted] [bit] NOT NULL
27+
)
3128

3229
GO
3330

3431
SET ANSI_PADDING OFF
3532
GO
3633

37-
ALTER TABLE [dbo].[tab_Methods] WITH CHECK ADD CONSTRAINT [FK_tab_Methods_tab_HttpVerbs] FOREIGN KEY([frHttpVerb])
34+
ALTER TABLE [dbo].[tab_Methods] WITH CHECK ADD CONSTRAINT [FK_tab_Methods_tab_HttpVerbs] FOREIGN KEY([frHttpVerb])
3835
REFERENCES [dbo].[tab_HttpVerbs] ([fID])
3936
GO
4037

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
USE [PosDocumentation]
2+
GO
3+
4+
SET ANSI_NULLS ON
5+
GO
6+
7+
SET QUOTED_IDENTIFIER ON
8+
GO
9+
10+
CREATE PROCEDURE [dbo].[Methods_GetAll]
11+
@moduleId int,
12+
@showDeleted bit = 'FALSE'
13+
14+
AS
15+
BEGIN
16+
SET NOCOUNT ON;
17+
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
18+
19+
SELECT fID, fMethodName, frHttpVerb, fDeleted
20+
FROM (
21+
SELECT *, ROW_NUMBER() OVER (PARTITION BY fMethodName,frHttpVerb ORDER BY [fChangeDate] DESC) AS InverseRevision
22+
from tab_Methods
23+
) x
24+
where x.InverseRevision=1
25+
AND frModuleId = @moduleId -- note: this is in the outer query so we dont show old versions of moved modules in the wrong APIs
26+
AND (fDeleted = 'FALSE' OR @showDeleted = 'TRUE')
27+
END
28+
29+
GO
30+
31+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
USE [PosDocumentation]
2+
GO
3+
4+
SET ANSI_NULLS ON
5+
GO
6+
7+
SET QUOTED_IDENTIFIER ON
8+
GO
9+
10+
CREATE PROCEDURE [dbo].[Methods_LookupId]
11+
@moduleId int,
12+
@name nvarchar(50)
13+
14+
AS
15+
BEGIN
16+
SET NOCOUNT ON;
17+
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
18+
19+
SELECT fID
20+
FROM (
21+
SELECT fID, row_number() OVER(ORDER BY fChangeDate DESC) AS inverseRevision
22+
FROM tab_Methods
23+
WHERE frModuleId = @moduleId
24+
AND UPPER(fMethodName) = UPPER(@name)
25+
)x
26+
WHERE x.inverseRevision = 1
27+
28+
29+
END
30+
31+
GO
32+
33+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
USE [PosDocumentation]
2+
GO
3+
4+
SET ANSI_NULLS ON
5+
GO
6+
7+
SET QUOTED_IDENTIFIER ON
8+
GO
9+
10+
CREATE PROCEDURE [dbo].[Modules_GetByName]
11+
@apiId int,
12+
@name nvarchar(50),
13+
@revision int = null
14+
AS
15+
BEGIN
16+
SET NOCOUNT ON;
17+
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
18+
19+
declare @id int
20+
set @id = EXEC Modules_LookupId @apiId, @name
21+
22+
EXEC Modules_GetById @id, @revision
23+
24+
END
25+
26+
GO
27+
28+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
USE [PosDocumentation]
2+
GO
3+
4+
SET ANSI_NULLS ON
5+
GO
6+
7+
SET QUOTED_IDENTIFIER ON
8+
GO
9+
10+
CREATE PROCEDURE [dbo].[Modules_GetById]
11+
@moduleId int,
12+
@revision int = null
13+
AS
14+
BEGIN
15+
SET NOCOUNT ON;
16+
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
17+
18+
SELECT fID, fModuleName, fChangeDate, fAuthor, fDeleted, fRevisionNumber
19+
FROM (
20+
SELECT *, row_number() OVER(ORDER BY fChangeDate ASC) AS fRevisionNumber
21+
FROM tab_Modules
22+
WHERE fID = @moduleId
23+
)x
24+
WHERE x.fRevisionNumber = COALESCE(@revision, MAX(x.fRevisionNumber))--(SELECT Count(*) FROM tab_Modules WHERE fID = @moduleId))
25+
26+
27+
END
28+
29+
GO
30+
31+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
USE [PosDocumentation]
2+
GO
3+
4+
SET ANSI_NULLS ON
5+
GO
6+
7+
SET QUOTED_IDENTIFIER ON
8+
GO
9+
10+
CREATE PROCEDURE [dbo].[Modules_GetApiRevisions]
11+
@apiId int,
12+
@name nvarchar(50)
13+
AS
14+
BEGIN
15+
SET NOCOUNT ON;
16+
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
17+
18+
declare @id int,
19+
set @id = Modules_LookupId @apiId, @name
20+
21+
SELECT fModuleName, fChangeDate, fAuthor, row_number() OVER(ORDER BY fChangeDate ASC) AS fRevisionNumber
22+
FROM tab_Modules
23+
WHERE fID = @moduleId
24+
ORDER BY fRevisionNumber DESC
25+
END
26+
27+
GO
28+
29+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
USE [PosDocumentation]
2+
GO
3+
4+
SET ANSI_NULLS ON
5+
GO
6+
7+
SET QUOTED_IDENTIFIER ON
8+
GO
9+
10+
CREATE PROCEDURE [dbo].[Modules_Insert]
11+
@apiId int,
12+
@moduleName nvarchar(50),
13+
@author nvarchar(50)
14+
15+
AS
16+
BEGIN
17+
SET NOCOUNT ON;
18+
19+
DECLARE @currentModules TABLE (
20+
fID id,
21+
fModuleName nvarchar(50),
22+
fDeleted bit
23+
)
24+
SET @currentModules = EXECUTE Modules_GetAll @apiId=@apiId, @showDeleted='False';
25+
26+
IF (SELECT COUNT(*) FROM @currentApis WHERE UPPER(fModuleName)=UPPER(@moduleName)) > 0
27+
BEGIN
28+
RETURN -1
29+
END
30+
31+
declare @newId int,
32+
set @newId = (SELECT MAX(fID) from tab_Module) + 1
33+
34+
INSERT INTO tab_Modules (fID, frApiId, fModuleName, fChangeDate, fAuthor, fDeleted)
35+
VALUES (@newId, @apiId, @moduleName, GETUTCDATE(), @author, 'FALSE')
36+
37+
RETURN @newId
38+
END
39+
40+
GO
41+
42+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
USE [PosDocumentation]
2+
GO
3+
4+
SET ANSI_NULLS ON
5+
GO
6+
7+
SET QUOTED_IDENTIFIER ON
8+
GO
9+
10+
CREATE PROCEDURE [dbo].[Modules_Update]
11+
@apiId int,
12+
@moduleId int,
13+
@moduleName nvarchar(50),
14+
@author nvarchar(50)
15+
16+
AS
17+
BEGIN
18+
SET NOCOUNT ON;
19+
20+
IF NOT ANY(select fID from tab_Modules where fID = @moduleId)
21+
BEGIN
22+
RETURN -1
23+
END
24+
25+
INSERT INTO tab_Modules (fID, frApiId, fModuleName, fChangeDate, fAuthor, fDeleted)
26+
VALUES (@moduleId, @apiId, @moduleName, GETUTCDATE(), @author, 'FALSE')
27+
END
28+
29+
GO
30+
31+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
USE [PosDocumentation]
2+
GO
3+
4+
SET ANSI_NULLS ON
5+
GO
6+
7+
SET QUOTED_IDENTIFIER ON
8+
GO
9+
10+
CREATE PROCEDURE [dbo].[Modules_Delete]
11+
@moduleId int
12+
13+
AS
14+
BEGIN
15+
SET NOCOUNT ON;
16+
17+
DECLARE @latestDate datetime
18+
set @latestDate = SELECT MAX(fChangeDate) FROM tab_Modules where fID = @moduleId
19+
20+
UPDATE tab_Modules
21+
SET fDeleted='True'
22+
WHERE fID = @moduleId AND fChangeDate = @latestDate
23+
24+
END
25+
26+
GO
27+
28+

Database/55_SP_GetMethodsForService.sql

-36
This file was deleted.

0 commit comments

Comments
 (0)