Compare commits
13 Commits
99445406fc
...
C2025-027-
| Author | SHA1 | Date | |
|---|---|---|---|
| 009243b091 | |||
| e31e0b6680 | |||
| 449bb2522b | |||
| 453dce9520 | |||
| 655592186b | |||
| 1ebf67233b | |||
| 1588dabcbe | |||
| 09d3995e6c | |||
| db20385a6d | |||
| d701935ddf | |||
| d3888e3c32 | |||
| 94f0795247 | |||
| 4def73d738 |
@@ -93,8 +93,9 @@ namespace VEPROMS
|
||||
// Save selected list to DB.
|
||||
private void btnUpdate_Click(object sender, EventArgs e)
|
||||
{
|
||||
DataTable dt2 = coverToTable(UserID);
|
||||
VEPROMS.CSLA.Library.AnnotationstypeSelections.Update(dt2);
|
||||
DataTable dt2 = coverToTable();
|
||||
VEPROMS.CSLA.Library.AnnotationstypeSelections.Update(dt2, UserID);
|
||||
this.Close();
|
||||
}
|
||||
public class AnnotataionItem
|
||||
{
|
||||
@@ -145,12 +146,10 @@ namespace VEPROMS
|
||||
lstSelected.DisplayMember = "NameStr";
|
||||
lstSelected.ValueMember = "TypeID";
|
||||
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"]));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -159,19 +158,15 @@ namespace VEPROMS
|
||||
this.Close();
|
||||
}
|
||||
|
||||
private DataTable coverToTable(string userid)
|
||||
private DataTable coverToTable()
|
||||
{
|
||||
int RowID = 0;
|
||||
DataTable dt = new DataTable();
|
||||
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>())
|
||||
{
|
||||
++RowID;
|
||||
dt.Rows.Add(item.TypeID, item.NameStr, userid, RowID);
|
||||
dt.Rows.Add(item.TypeID);
|
||||
}
|
||||
return dt;
|
||||
}
|
||||
|
||||
@@ -24024,7 +24024,7 @@ Begin -- Rofst Tables
|
||||
CONSTRAINT [PK_EPFormats] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[FormatID] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
||||
|
||||
IF (@@Error = 0) PRINT 'Table Creation: [EPFormats] Succeeded'
|
||||
@@ -24074,15 +24074,7 @@ ELSE
|
||||
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- C2025-027 Annotation Type Filtering
|
||||
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[AnnotationTypeSelections]') AND type in (N'U'))
|
||||
DROP TABLE [dbo].[AnnotationTypeSelections]
|
||||
GO
|
||||
|
||||
/****** Object: Table [dbo].[AnnotationTypeSelections] Script Date: 7/10/2025 2:38:23 PM ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
@@ -24095,28 +24087,36 @@ GO
|
||||
-- Create date: 07/10/2025
|
||||
-- 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](
|
||||
[ASTypeID] [int] IDENTITY(1,1) NOT NULL,
|
||||
[TypeID] [int] NULL,
|
||||
[UsrID] [varchar](50) NULL,
|
||||
[Name] [nvarchar](100) NULL,
|
||||
[Config] [nvarchar](max) NULL,
|
||||
[DTS] [datetime] NULL,
|
||||
[UserID] [nvarchar](100) NULL,
|
||||
[LastChanged] [timestamp] NULL
|
||||
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
||||
CREATE TABLE [dbo].[AnnotationTypeSelections](
|
||||
[ASTypeID] [int] IDENTITY(1,1) NOT NULL,
|
||||
[TypeID] [int] NULL,
|
||||
[UserID] [varchar](50) NULL,
|
||||
[LastChanged] [datetime] NULL,
|
||||
CONSTRAINT [PK_AnnotationTypeSelections] PRIMARY KEY CLUSTERED
|
||||
([ASTypeID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
END
|
||||
|
||||
IF OBJECT_ID('DF_AnnotationTypeSelections_LastChanged', 'D') IS NULL
|
||||
ALTER TABLE AnnotationTypeSelections ADD CONSTRAINT [DF_AnnotationTypeSelections_LastChanged] DEFAULT (getdate()) for [LastChanged];
|
||||
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]'))
|
||||
begin
|
||||
DROP INDEX [idx_AnnotationTypeSelections_UsrID] ON [dbo].[AnnotationTypeSelections];
|
||||
DROP INDEX [idx_AnnotationTypeSelections_UserIDTypeID] ON [dbo].[AnnotationTypeSelections];
|
||||
end
|
||||
|
||||
CREATE NONCLUSTERED INDEX idx_AnnotationTypeSelections_UsrID
|
||||
ON [dbo].[AnnotationTypeSelections] (UsrID)
|
||||
INCLUDE (TypeID, Name)
|
||||
CREATE UNIQUE INDEX [idx_AnnotationTypeSelections_UserIDTypeID] ON [dbo].[AnnotationTypeSelections]
|
||||
(
|
||||
[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) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
-- C2025-027 Annotation Type Filtering
|
||||
@@ -24145,7 +24145,7 @@ AS
|
||||
(SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[TypeID]= [TypeID]) [AnnotationCount],
|
||||
[IsEPAnnotationType]
|
||||
FROM [AnnotationTypes] --A
|
||||
WHERE TypeID NOT IN (SELECT TypeID FROM AnnotationTypeSelections WHERE UsrID = @UserID)
|
||||
WHERE TypeID NOT IN (SELECT TypeID FROM AnnotationTypeSelections WHERE UserID = @UserID)
|
||||
GO
|
||||
|
||||
-- C2025-027 Annotation Type Filtering
|
||||
@@ -24171,18 +24171,19 @@ AS
|
||||
BEGIN
|
||||
SELECT [ASTypeID]
|
||||
,ATS.[TypeID]
|
||||
,[UsrID]
|
||||
,ATS.[UserID]
|
||||
,AT.[Name]
|
||||
,AT.[Config]
|
||||
,ATS.[DTS]
|
||||
,ATS.[LastChanged]
|
||||
,AT.[UserID]
|
||||
,AT.[IsEPAnnotationType]
|
||||
FROM [dbo].[AnnotationTypeSelections] ATS
|
||||
INNER JOIN AnnotationTypes AT ON AT.TypeID = ATS.TypeID
|
||||
WHERE UsrID = @UsrID
|
||||
WHERE ATS.UserID = @UsrID
|
||||
END
|
||||
|
||||
GO
|
||||
|
||||
-- C2025-027 Annotation Type Filtering
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getAnnotationstypeFiltered]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
||||
DROP PROCEDURE [getAnnotationstypeFiltered];
|
||||
@@ -24200,19 +24201,19 @@ CREATE PROC [dbo].[getAnnotationstypeFiltered]
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
IF((SELECT count(TypeID) FROM AnnotationTypeSelections WHERE UsrID = @UsrID) > 0)
|
||||
IF((SELECT count(TypeID) FROM AnnotationTypeSelections WHERE UserID = @UsrID) > 0)
|
||||
BEGIN
|
||||
SELECT [ASTypeID]
|
||||
,ATS.[TypeID]
|
||||
,[UsrID]
|
||||
,ATS.[UserID]
|
||||
,AT.[Name]
|
||||
,AT.[Config]
|
||||
,ATS.[DTS]
|
||||
,ATS.[LastChanged]
|
||||
,AT.[UserID]
|
||||
,AT.[IsEPAnnotationType]
|
||||
FROM [dbo].[AnnotationTypeSelections] ATS
|
||||
INNER JOIN AnnotationTypes AT ON AT.TypeID = ATS.TypeID
|
||||
WHERE UsrID = @UsrID
|
||||
WHERE ATS.UserID = @UsrID
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
@@ -24241,14 +24242,8 @@ IF EXISTS( SELECT * FROM INFORMATION_SCHEMA.DOMAINS WHERE Domain_Name = 'TableVa
|
||||
DROP TYPE [dbo].[TableValAnnotTypeSelections]
|
||||
|
||||
CREATE TYPE [dbo].[TableValAnnotTypeSelections] AS TABLE(
|
||||
[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)
|
||||
[TypeID] [int] NOT NULL
|
||||
|
||||
)
|
||||
GO
|
||||
|
||||
@@ -24261,28 +24256,30 @@ GO
|
||||
-- =============================================
|
||||
CREATE PROC [dbo].[UpdateAnnotationstypeSelections]
|
||||
(
|
||||
@TempTable AS dbo.TableValAnnotTypeSelections READONLY
|
||||
@TempTable AS dbo.TableValAnnotTypeSelections READONLY,
|
||||
@UserID [varchar](50) NULL
|
||||
)
|
||||
AS
|
||||
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;
|
||||
DELETE FROM AnnotationTypeSelections where UserID = @UserID
|
||||
AND
|
||||
TypeID not in
|
||||
(Select TypeID From @TempTable tmp)
|
||||
|
||||
declare @i int
|
||||
select @i = min(RowID) from @TempTable
|
||||
declare @max int
|
||||
select @max = max(RowID) from @TempTable
|
||||
--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
|
||||
|
||||
WHILE @i <= @max
|
||||
BEGIN
|
||||
INSERT INTO AnnotationTypeSelections (TypeID, Name, Usrid)
|
||||
select TypeID, NameStr, UserID from @TempTable where RowID = @i
|
||||
set @i = @i + 1
|
||||
END
|
||||
END
|
||||
GO
|
||||
|
||||
|
||||
13
PROMS/VEPROMS User Interface/frmVEPROMS.Designer.cs
generated
13
PROMS/VEPROMS User Interface/frmVEPROMS.Designer.cs
generated
@@ -721,10 +721,11 @@ namespace VEPROMS
|
||||
this.epAnnotations.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.epAnnotations.Enabled = false;
|
||||
this.epAnnotations.Expanded = false;
|
||||
this.epAnnotations.ExpandedBounds = new System.Drawing.Rectangle(4, 544, 1187, 202);
|
||||
this.epAnnotations.ExpandedBounds = new System.Drawing.Rectangle(5, 371, 1185, 202);
|
||||
this.epAnnotations.ExpandOnTitleClick = true;
|
||||
this.epAnnotations.Location = new System.Drawing.Point(5, 324);
|
||||
this.epAnnotations.Size = new System.Drawing.Size(1185, 249);
|
||||
this.epAnnotations.Location = new System.Drawing.Point(5, 547);
|
||||
this.epAnnotations.Name = "epAnnotations";
|
||||
this.epAnnotations.Size = new System.Drawing.Size(1185, 26);
|
||||
this.epAnnotations.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.epAnnotations.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground;
|
||||
this.epAnnotations.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2;
|
||||
@@ -760,11 +761,11 @@ namespace VEPROMS
|
||||
this.ctrlAnnotationDetails.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.ctrlAnnotationDetails.Enabled = false;
|
||||
this.ctrlAnnotationDetails.Location = new System.Drawing.Point(0, 26);
|
||||
this.ctrlAnnotationDetails.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
||||
this.ctrlAnnotationDetails.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.ctrlAnnotationDetails.MyUserInfo = null;
|
||||
this.ctrlAnnotationDetails.Name = "ctrlAnnotationDetails";
|
||||
this.ctrlAnnotationDetails.ProcItem = null;
|
||||
this.ctrlAnnotationDetails.Size = new System.Drawing.Size(1185, 223);
|
||||
this.ctrlAnnotationDetails.Size = new System.Drawing.Size(1185, 0);
|
||||
this.ctrlAnnotationDetails.TabIndex = 15;
|
||||
//
|
||||
// btnAnnoDetailsPushPin
|
||||
@@ -798,7 +799,7 @@ namespace VEPROMS
|
||||
this.epProcedures.ExpandOnTitleClick = true;
|
||||
this.epProcedures.Location = new System.Drawing.Point(5, 57);
|
||||
this.epProcedures.Name = "epProcedures";
|
||||
this.epProcedures.Size = new System.Drawing.Size(326, 267);
|
||||
this.epProcedures.Size = new System.Drawing.Size(326, 490);
|
||||
this.epProcedures.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.epProcedures.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground;
|
||||
this.epProcedures.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2;
|
||||
|
||||
@@ -41,8 +41,6 @@ namespace VEPROMS.CSLA.Library
|
||||
// if the user has not created a annotation sub-set list saved to AnnotationTypeSelections table.
|
||||
if (dt.Rows.Count < 1)
|
||||
{
|
||||
//dt.Rows.Add(DataPortal.Fetch<AnnotationTypeInfoList>());
|
||||
//DataPortal.Fetch<AnnotationTypeInfoList>();
|
||||
DataRow row;
|
||||
int rowflg = 0;
|
||||
foreach (AnnotationTypeInfo annosel in DataPortal.Fetch<AnnotationTypeInfoList>())
|
||||
@@ -145,33 +143,8 @@ 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();
|
||||
// }
|
||||
// catch (Exception ex)
|
||||
// {
|
||||
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
//}
|
||||
public static void Update(DataTable dt)
|
||||
public static void Update(DataTable dt, string UserID)
|
||||
{
|
||||
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||
{
|
||||
@@ -186,11 +159,12 @@ namespace VEPROMS.CSLA.Library
|
||||
//Pass table Valued parameter to Store Procedure
|
||||
SqlParameter sqlParam = cm.Parameters.AddWithValue("@TempTable", dt);
|
||||
sqlParam.SqlDbType = SqlDbType.Structured;
|
||||
cm.Parameters.AddWithValue("@UserID", UserID);
|
||||
cm.ExecuteNonQuery();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
throw new DbCslaException("Error in UpdateAnnotationstypeSelections: update failed", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,6 +38,9 @@ EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Baseline", "..\Baseline\Baseline.csproj", "{8B29E0DE-B6C9-4041-8817-319FDE3123C4}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RoAccessToSql", "..\RoAccessToSql\RoAccessToSql.csproj", "{1EC96BDA-01E7-4153-A95D-6A4A36FA278E}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{AEEE9FD1-6892-45E2-A67E-418C06D46FF9} = {AEEE9FD1-6892-45E2-A67E-418C06D46FF9}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
|
||||
@@ -1284,7 +1284,7 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
selectedRtfSB.Append(@"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 " + myFont.FontFamily.Name + @";}"); //}\f0\fs" + this.Font.SizeInPoints * 2 + @" " + myDisplayTextElement.Text + @"}}";
|
||||
if (!isFixed)
|
||||
selectedRtfSB.Append(@"{\f1\fnil\fcharset0 " + Volian.Base.Library.vlnFont.ProportionalSymbolFont + @";}}{\colortbl ;\red255\green0\blue0;}"); // C2017-036 get best available proportional font for symbols
|
||||
selectedRtfSB.Append(@"{\f1\fnil\fcharset0 " + Volian.Base.Library.vlnFont.ProportionalSymbolFont + @";}}{\colortbl ;\red255\green0\blue0;\red0\green0\blue255;}"); // C2017-036 get best available proportional font for symbols - B2025-039 add Blue for Colored Replace Words
|
||||
else
|
||||
selectedRtfSB.Append(@"{\f1\fnil\fcharset0 FreeMono;}}{\colortbl ;\red255\green0\blue0;\red0\green0\blue255;}"); // FreeMono is now used for the edit screen only. VESymbFix and Consolas are used for printing
|
||||
selectedRtfSB.Append("\r\n");
|
||||
|
||||
Reference in New Issue
Block a user