C2025-027-AnnotationsTypeSelect
This commit is contained in:
@@ -93,8 +93,8 @@ namespace VEPROMS
|
|||||||
// Save selected list to DB.
|
// Save selected list to DB.
|
||||||
private void btnUpdate_Click(object sender, EventArgs e)
|
private void btnUpdate_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
DataTable dt2 = coverToTable(UserID);
|
DataTable dt2 = coverToTable();
|
||||||
VEPROMS.CSLA.Library.AnnotationstypeSelections.Update(dt2);
|
VEPROMS.CSLA.Library.AnnotationstypeSelections.Update(dt2, UserID);
|
||||||
}
|
}
|
||||||
public class AnnotataionItem
|
public class AnnotataionItem
|
||||||
{
|
{
|
||||||
@@ -145,33 +145,27 @@ namespace VEPROMS
|
|||||||
lstSelected.DisplayMember = "NameStr";
|
lstSelected.DisplayMember = "NameStr";
|
||||||
lstSelected.ValueMember = "TypeID";
|
lstSelected.ValueMember = "TypeID";
|
||||||
DataTable lstSelectedTbl = VEPROMS.CSLA.Library.AnnotationstypeSelections.Retrieve(UserID);
|
DataTable lstSelectedTbl = VEPROMS.CSLA.Library.AnnotationstypeSelections.Retrieve(UserID);
|
||||||
if (lstSelectedTbl.Rows.Count > 0)
|
|
||||||
{
|
|
||||||
foreach (DataRow lstSelectedRow in lstSelectedTbl.Rows)
|
foreach (DataRow lstSelectedRow in lstSelectedTbl.Rows)
|
||||||
{
|
{
|
||||||
lstSelected.Items.Add(new AnnotataionItem(lstSelectedRow["Name"].ToString(), (int)lstSelectedRow["TypeID"]));
|
lstSelected.Items.Add(new AnnotataionItem(lstSelectedRow["Name"].ToString(), (int)lstSelectedRow["TypeID"]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
private void btnCancel_Click_1(object sender, EventArgs e)
|
private void btnCancel_Click_1(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
this.Close();
|
this.Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
private DataTable coverToTable(string userid)
|
private DataTable coverToTable()
|
||||||
{
|
{
|
||||||
int RowID = 0;
|
|
||||||
DataTable dt = new DataTable();
|
DataTable dt = new DataTable();
|
||||||
dt.Columns.Add("TypeID", typeof(Int32));
|
dt.Columns.Add("TypeID", typeof(Int32));
|
||||||
dt.Columns.Add("NameStr", typeof(string));
|
|
||||||
dt.Columns.Add("UserID", typeof(string));
|
|
||||||
dt.Columns.Add("RowID", typeof(string));
|
|
||||||
|
|
||||||
foreach (AnnotataionItem item in lstSelected.Items.OfType<AnnotataionItem>())
|
foreach (AnnotataionItem item in lstSelected.Items.OfType<AnnotataionItem>())
|
||||||
{
|
{
|
||||||
++RowID;
|
dt.Rows.Add(item.TypeID);
|
||||||
dt.Rows.Add(item.TypeID, item.NameStr, userid, RowID);
|
|
||||||
}
|
}
|
||||||
return dt;
|
return dt;
|
||||||
}
|
}
|
||||||
|
@@ -24074,10 +24074,6 @@ ELSE
|
|||||||
|
|
||||||
GO
|
GO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- C2025-027 Annotation Type Filtering
|
-- C2025-027 Annotation Type Filtering
|
||||||
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[AnnotationTypeSelections]') AND type in (N'U'))
|
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[AnnotationTypeSelections]') AND type in (N'U'))
|
||||||
DROP TABLE [dbo].[AnnotationTypeSelections]
|
DROP TABLE [dbo].[AnnotationTypeSelections]
|
||||||
@@ -24095,28 +24091,36 @@ GO
|
|||||||
-- Create date: 07/10/2025
|
-- Create date: 07/10/2025
|
||||||
-- Description: Store user Annotation selections for annotation filter.
|
-- Description: Store user Annotation selections for annotation filter.
|
||||||
-- =============================================
|
-- =============================================
|
||||||
|
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[AnnotationTypeSelections]') AND type in (N'U'))
|
||||||
|
BEGIN
|
||||||
|
|
||||||
CREATE TABLE [dbo].[AnnotationTypeSelections](
|
CREATE TABLE [dbo].[AnnotationTypeSelections](
|
||||||
[ASTypeID] [int] IDENTITY(1,1) NOT NULL,
|
[ASTypeID] [int] IDENTITY(1,1) NOT NULL,
|
||||||
[TypeID] [int] NULL,
|
[TypeID] [int] NULL,
|
||||||
[UsrID] [varchar](50) NULL,
|
[UserID] [varchar](50) NULL,
|
||||||
[Name] [nvarchar](100) NULL,
|
[LastChanged] [datetime] NULL,
|
||||||
[Config] [nvarchar](max) NULL,
|
CONSTRAINT [PK_AnnotationTypeSelections] PRIMARY KEY CLUSTERED
|
||||||
[DTS] [datetime] NULL,
|
([ASTypeID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||||
[UserID] [nvarchar](100) NULL,
|
) ON [PRIMARY]
|
||||||
[LastChanged] [timestamp] NULL
|
END
|
||||||
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
|
||||||
|
IF OBJECT_ID('DF_AnnotationTypeSelections_LastChanged', 'D') IS NULL
|
||||||
|
ALTER TABLE AnnotationTypeSelections ADD CONSTRAINT [DF_AnnotationTypeSelections_LastChanged] DEFAULT (getdate()) for [LastChanged];
|
||||||
GO
|
GO
|
||||||
|
|
||||||
IF EXISTS (SELECT * FROM sys.indexes WHERE name='idx_AnnotationTypeSelections_UsrID'
|
IF EXISTS (SELECT * FROM sys.indexes WHERE name='idx_AnnotationTypeSelections_UserIDTypeID'
|
||||||
AND object_id = OBJECT_ID('[dbo].[AnnotationTypeSelections]'))
|
AND object_id = OBJECT_ID('[dbo].[AnnotationTypeSelections]'))
|
||||||
begin
|
begin
|
||||||
DROP INDEX [idx_AnnotationTypeSelections_UsrID] ON [dbo].[AnnotationTypeSelections];
|
DROP INDEX [idx_AnnotationTypeSelections_UserIDTypeID] ON [dbo].[AnnotationTypeSelections];
|
||||||
end
|
end
|
||||||
|
|
||||||
CREATE NONCLUSTERED INDEX idx_AnnotationTypeSelections_UsrID
|
CREATE UNIQUE INDEX [idx_AnnotationTypeSelections_UserIDTypeID] ON [dbo].[AnnotationTypeSelections]
|
||||||
ON [dbo].[AnnotationTypeSelections] (UsrID)
|
(
|
||||||
INCLUDE (TypeID, Name)
|
[UserID] ASC,
|
||||||
|
[TypeID] ASC
|
||||||
|
)
|
||||||
|
INCLUDE (ASTypeID)
|
||||||
|
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||||
GO
|
GO
|
||||||
|
|
||||||
-- C2025-027 Annotation Type Filtering
|
-- C2025-027 Annotation Type Filtering
|
||||||
@@ -24145,7 +24149,7 @@ AS
|
|||||||
(SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[TypeID]= [TypeID]) [AnnotationCount],
|
(SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[TypeID]= [TypeID]) [AnnotationCount],
|
||||||
[IsEPAnnotationType]
|
[IsEPAnnotationType]
|
||||||
FROM [AnnotationTypes] --A
|
FROM [AnnotationTypes] --A
|
||||||
WHERE TypeID NOT IN (SELECT TypeID FROM AnnotationTypeSelections WHERE UsrID = @UserID)
|
WHERE TypeID NOT IN (SELECT TypeID FROM AnnotationTypeSelections ATS WHERE ATS.UserID = @UserID)
|
||||||
GO
|
GO
|
||||||
|
|
||||||
-- C2025-027 Annotation Type Filtering
|
-- C2025-027 Annotation Type Filtering
|
||||||
@@ -24171,18 +24175,19 @@ AS
|
|||||||
BEGIN
|
BEGIN
|
||||||
SELECT [ASTypeID]
|
SELECT [ASTypeID]
|
||||||
,ATS.[TypeID]
|
,ATS.[TypeID]
|
||||||
,[UsrID]
|
,ATS.[UserID]
|
||||||
,AT.[Name]
|
,AT.[Name]
|
||||||
,AT.[Config]
|
,AT.[Config]
|
||||||
,ATS.[DTS]
|
,ATS.[LastChanged]
|
||||||
,AT.[UserID]
|
,AT.[UserID]
|
||||||
,AT.[IsEPAnnotationType]
|
,AT.[IsEPAnnotationType]
|
||||||
FROM [dbo].[AnnotationTypeSelections] ATS
|
FROM [dbo].[AnnotationTypeSelections] ATS
|
||||||
INNER JOIN AnnotationTypes AT ON AT.TypeID = ATS.TypeID
|
INNER JOIN AnnotationTypes AT ON AT.TypeID = ATS.TypeID
|
||||||
WHERE UsrID = @UsrID
|
WHERE ATS.UserID = @UsrID
|
||||||
END
|
END
|
||||||
|
|
||||||
GO
|
GO
|
||||||
|
|
||||||
-- C2025-027 Annotation Type Filtering
|
-- C2025-027 Annotation Type Filtering
|
||||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getAnnotationstypeFiltered]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getAnnotationstypeFiltered]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
||||||
DROP PROCEDURE [getAnnotationstypeFiltered];
|
DROP PROCEDURE [getAnnotationstypeFiltered];
|
||||||
@@ -24200,19 +24205,19 @@ CREATE PROC [dbo].[getAnnotationstypeFiltered]
|
|||||||
)
|
)
|
||||||
AS
|
AS
|
||||||
BEGIN
|
BEGIN
|
||||||
IF((SELECT count(TypeID) FROM AnnotationTypeSelections WHERE UsrID = @UsrID) > 0)
|
IF((SELECT count(TypeID) FROM AnnotationTypeSelections WHERE UserID = @UsrID) > 0)
|
||||||
BEGIN
|
BEGIN
|
||||||
SELECT [ASTypeID]
|
SELECT [ASTypeID]
|
||||||
,ATS.[TypeID]
|
,ATS.[TypeID]
|
||||||
,[UsrID]
|
,ATS.[UserID]
|
||||||
,AT.[Name]
|
,AT.[Name]
|
||||||
,AT.[Config]
|
,AT.[Config]
|
||||||
,ATS.[DTS]
|
,ATS.[LastChanged]
|
||||||
,AT.[UserID]
|
,AT.[UserID]
|
||||||
,AT.[IsEPAnnotationType]
|
,AT.[IsEPAnnotationType]
|
||||||
FROM [dbo].[AnnotationTypeSelections] ATS
|
FROM [dbo].[AnnotationTypeSelections] ATS
|
||||||
INNER JOIN AnnotationTypes AT ON AT.TypeID = ATS.TypeID
|
INNER JOIN AnnotationTypes AT ON AT.TypeID = ATS.TypeID
|
||||||
WHERE UsrID = @UsrID
|
WHERE ATS.UserID = @UsrID
|
||||||
END
|
END
|
||||||
ELSE
|
ELSE
|
||||||
BEGIN
|
BEGIN
|
||||||
@@ -24241,14 +24246,8 @@ IF EXISTS( SELECT * FROM INFORMATION_SCHEMA.DOMAINS WHERE Domain_Name = 'TableVa
|
|||||||
DROP TYPE [dbo].[TableValAnnotTypeSelections]
|
DROP TYPE [dbo].[TableValAnnotTypeSelections]
|
||||||
|
|
||||||
CREATE TYPE [dbo].[TableValAnnotTypeSelections] AS TABLE(
|
CREATE TYPE [dbo].[TableValAnnotTypeSelections] AS TABLE(
|
||||||
[TypeID] [int] NOT NULL,
|
[TypeID] [int] NOT NULL
|
||||||
[NameStr] [varchar](200) NULL,
|
|
||||||
[UserID] [varchar](50) NULL,
|
|
||||||
[RowID] [int] NOT NULL,
|
|
||||||
PRIMARY KEY CLUSTERED
|
|
||||||
(
|
|
||||||
[RowID] ASC
|
|
||||||
)WITH (IGNORE_DUP_KEY = OFF)
|
|
||||||
)
|
)
|
||||||
GO
|
GO
|
||||||
|
|
||||||
@@ -24261,28 +24260,30 @@ GO
|
|||||||
-- =============================================
|
-- =============================================
|
||||||
CREATE PROC [dbo].[UpdateAnnotationstypeSelections]
|
CREATE PROC [dbo].[UpdateAnnotationstypeSelections]
|
||||||
(
|
(
|
||||||
@TempTable AS dbo.TableValAnnotTypeSelections READONLY
|
@TempTable AS dbo.TableValAnnotTypeSelections READONLY,
|
||||||
|
@UserID [varchar](50) NULL
|
||||||
)
|
)
|
||||||
AS
|
AS
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
||||||
DECLARE @cnt integer = 0
|
|
||||||
DECLARE @cnt2 integer = 0
|
|
||||||
SET @cnt = (SELECT count(*) from @TempTable)
|
|
||||||
DECLARE @UserID VARCHAR(50) = (SELECT TOP 1 UserID FROM @TempTable)
|
|
||||||
DELETE FROM AnnotationTypeSelections WHERE usrID = @UserID;
|
|
||||||
|
|
||||||
declare @i int
|
|
||||||
select @i = min(RowID) from @TempTable
|
|
||||||
declare @max int
|
|
||||||
select @max = max(RowID) from @TempTable
|
|
||||||
|
|
||||||
WHILE @i <= @max
|
DELETE FROM AnnotationTypeSelections where UserID = @UserID
|
||||||
BEGIN
|
AND
|
||||||
INSERT INTO AnnotationTypeSelections (TypeID, Name, Usrid)
|
TypeID not in
|
||||||
select TypeID, NameStr, UserID from @TempTable where RowID = @i
|
(Select TypeID From @TempTable tmp)
|
||||||
set @i = @i + 1
|
|
||||||
END
|
--this would insert all the ones that are in the uploaded table and not already in AnnotationTypeSelections
|
||||||
|
Insert INTO AnnotationTypeSelections (TypeID, UserID)
|
||||||
|
Select tmp.TypeID, @UserID
|
||||||
|
FROM
|
||||||
|
@TempTable tmp
|
||||||
|
LEFT OUTER JOIN
|
||||||
|
AnnotationTypeSelections ATS on ATS.TypeID = tmp.TypeID
|
||||||
|
AND ATS.UserID = @UserID
|
||||||
|
where
|
||||||
|
ATS.ASTypeID IS NULL
|
||||||
|
|
||||||
END
|
END
|
||||||
GO
|
GO
|
||||||
|
|
||||||
|
@@ -41,8 +41,6 @@ namespace VEPROMS.CSLA.Library
|
|||||||
// if the user has not created a annotation sub-set list saved to AnnotationTypeSelections table.
|
// if the user has not created a annotation sub-set list saved to AnnotationTypeSelections table.
|
||||||
if (dt.Rows.Count < 1)
|
if (dt.Rows.Count < 1)
|
||||||
{
|
{
|
||||||
//dt.Rows.Add(DataPortal.Fetch<AnnotationTypeInfoList>());
|
|
||||||
//DataPortal.Fetch<AnnotationTypeInfoList>();
|
|
||||||
DataRow row;
|
DataRow row;
|
||||||
int rowflg = 0;
|
int rowflg = 0;
|
||||||
foreach (AnnotationTypeInfo annosel in DataPortal.Fetch<AnnotationTypeInfoList>())
|
foreach (AnnotationTypeInfo annosel in DataPortal.Fetch<AnnotationTypeInfoList>())
|
||||||
@@ -145,39 +143,12 @@ namespace VEPROMS.CSLA.Library
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//public static void Update(string UserID, int TypeID, int dltFlg, string Name = "")
|
|
||||||
//{
|
|
||||||
// using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
|
||||||
// {
|
|
||||||
// using (SqlCommand cm = cn.CreateCommand())
|
|
||||||
// {
|
|
||||||
// try
|
|
||||||
// {
|
|
||||||
// cm.CommandType = CommandType.StoredProcedure;
|
|
||||||
// cm.CommandText = "UpdateAnnotationstypeSelections";
|
|
||||||
// cm.CommandTimeout = Database.DefaultTimeout;
|
|
||||||
// cm.Parameters.AddWithValue("@UserID", UserID);
|
|
||||||
// cm.Parameters.AddWithValue("@TypeID", TypeID);
|
|
||||||
// cm.Parameters.AddWithValue("@dltFlg", dltFlg);
|
|
||||||
// cm.Parameters.AddWithValue("@Name", Name);
|
|
||||||
|
|
||||||
// cm.ExecuteNonQuery();
|
public static void Update(DataTable dt, string UserID)
|
||||||
// }
|
|
||||||
// catch (Exception ex)
|
|
||||||
// {
|
|
||||||
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
//}
|
|
||||||
public static void Update(DataTable dt)
|
|
||||||
{
|
{
|
||||||
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||||
{
|
{
|
||||||
using (SqlCommand cm = cn.CreateCommand())
|
using (SqlCommand cm = cn.CreateCommand())
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
{
|
||||||
cm.CommandType = CommandType.StoredProcedure;
|
cm.CommandType = CommandType.StoredProcedure;
|
||||||
cm.CommandText = "UpdateAnnotationstypeSelections";
|
cm.CommandText = "UpdateAnnotationstypeSelections";
|
||||||
@@ -186,13 +157,9 @@ namespace VEPROMS.CSLA.Library
|
|||||||
//Pass table Valued parameter to Store Procedure
|
//Pass table Valued parameter to Store Procedure
|
||||||
SqlParameter sqlParam = cm.Parameters.AddWithValue("@TempTable", dt);
|
SqlParameter sqlParam = cm.Parameters.AddWithValue("@TempTable", dt);
|
||||||
sqlParam.SqlDbType = SqlDbType.Structured;
|
sqlParam.SqlDbType = SqlDbType.Structured;
|
||||||
|
cm.Parameters.AddWithValue("@UserID", UserID);
|
||||||
cm.ExecuteNonQuery();
|
cm.ExecuteNonQuery();
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user