Compare commits
30 Commits
C2025-044
...
Developmen
Author | SHA1 | Date | |
---|---|---|---|
1bc421ac6d | |||
ad0d091b49 | |||
22de686a44 | |||
3e7eb09758 | |||
e2a276085b | |||
d561c579e0 | |||
371d117746 | |||
2131efb522 | |||
6e20774edf | |||
a7c7744ff3 | |||
019aefbc61 | |||
81a23305ba | |||
4001abff02 | |||
25bfbeb8d6 | |||
a3aa9747b8 | |||
009243b091 | |||
e31e0b6680 | |||
449bb2522b | |||
453dce9520 | |||
655592186b | |||
1ebf67233b | |||
1588dabcbe | |||
d3888e3c32 | |||
99445406fc | |||
025fa57e24 | |||
6f04d0bf07 | |||
7a0f56cad8 | |||
c98299d916 | |||
f6e25fd966 | |||
e08b5cde69 |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
203
PROMS/VEPROMS User Interface/DlgAnnotationsSelect.cs
Normal file
203
PROMS/VEPROMS User Interface/DlgAnnotationsSelect.cs
Normal file
@@ -0,0 +1,203 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
using VEPROMS.CSLA.Library;
|
||||||
|
|
||||||
|
namespace VEPROMS
|
||||||
|
{
|
||||||
|
// C2025-027 Annotation Type Filtering
|
||||||
|
public partial class dlgAnnotationsSelect : Form
|
||||||
|
{
|
||||||
|
public dlgAnnotationsSelect()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
public dlgAnnotationsSelect(string userid)
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
UserID = userid;
|
||||||
|
}
|
||||||
|
|
||||||
|
private int _MyItemID;
|
||||||
|
public int MyItemID
|
||||||
|
{
|
||||||
|
get { return _MyItemID; }
|
||||||
|
set { _MyItemID = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
private string _UserID;
|
||||||
|
public string UserID
|
||||||
|
{
|
||||||
|
get { return _UserID; }
|
||||||
|
set { _UserID = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btnSelect_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
MoveSelectedItems(lstUnselected, lstSelected);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Move selected items to lstUnselected.
|
||||||
|
private void btnDeselect_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
MoveSelectedItems(lstSelected, lstUnselected);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Move selected items from one ListBox to another.
|
||||||
|
private void MoveSelectedItems(ListBox lstFrom, ListBox lstTo)
|
||||||
|
{
|
||||||
|
while (lstFrom.SelectedItems.Count > 0)
|
||||||
|
{
|
||||||
|
lstSelected.DisplayMember = "NameStr";
|
||||||
|
lstSelected.ValueMember = "TypeID";
|
||||||
|
|
||||||
|
AnnotataionItem item = (AnnotataionItem)lstFrom.SelectedItems[0];
|
||||||
|
lstTo.Items.Add(new AnnotataionItem(item.NameStr, item.TypeID));
|
||||||
|
lstFrom.Items.Remove(item);
|
||||||
|
}
|
||||||
|
SetButtonsEditable();
|
||||||
|
btnUpdate.Enabled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Move all items to lstSelected.
|
||||||
|
private void btnSelectAll_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
MoveAllItems(lstUnselected, lstSelected);
|
||||||
|
btnUpdate.Enabled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Move all items to lstUnselected.
|
||||||
|
private void btnDeselectAll_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
MoveAllItems(lstSelected, lstUnselected);
|
||||||
|
btnUpdate.Enabled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Move all items from one ListBox to another.
|
||||||
|
private void MoveAllItems(ListBox lstFrom, ListBox lstTo)
|
||||||
|
{
|
||||||
|
lstTo.Items.AddRange(lstFrom.Items);
|
||||||
|
lstFrom.Items.Clear();
|
||||||
|
SetButtonsEditable();
|
||||||
|
btnUpdate.Enabled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Enable and disable buttons.
|
||||||
|
private void lst_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
SetButtonsEditable();
|
||||||
|
}
|
||||||
|
// Save selected list to DB.
|
||||||
|
private void btnUpdate_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
saveChanges();
|
||||||
|
}
|
||||||
|
public class AnnotataionItem
|
||||||
|
{
|
||||||
|
private string _NameStr;
|
||||||
|
private int _TypeID;
|
||||||
|
|
||||||
|
public AnnotataionItem(string NameStr, int TypeID)
|
||||||
|
{
|
||||||
|
this._NameStr = NameStr;
|
||||||
|
this._TypeID = TypeID;
|
||||||
|
}
|
||||||
|
public string NameStr
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return _NameStr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public int TypeID
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return _TypeID;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Enable and disable buttons.
|
||||||
|
private void SetButtonsEditable()
|
||||||
|
{
|
||||||
|
btnSelect.Enabled = (lstUnselected.SelectedItems.Count > 0);
|
||||||
|
btnSelectAll.Enabled = (lstUnselected.Items.Count > 0);
|
||||||
|
btnDeselect.Enabled = (lstSelected.SelectedItems.Count > 0);
|
||||||
|
btnDeselectAll.Enabled = (lstSelected.Items.Count > 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void DlgAnnotationsSelect_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
lstUnselected.DisplayMember = "NameStr";
|
||||||
|
lstUnselected.ValueMember = "TypeID";
|
||||||
|
SetButtonsEditable();
|
||||||
|
DataTable AnnoType = AnnotationstypeSelections.GetAnnoTypes(UserID);
|
||||||
|
foreach (DataRow dr in AnnoType.Rows)
|
||||||
|
{
|
||||||
|
lstUnselected.Items.Add(new AnnotataionItem(dr["Name"].ToString(), (int)dr["TypeID"]));
|
||||||
|
}
|
||||||
|
|
||||||
|
lstSelected.DisplayMember = "NameStr";
|
||||||
|
lstSelected.ValueMember = "TypeID";
|
||||||
|
DataTable lstSelectedTbl = VEPROMS.CSLA.Library.AnnotationstypeSelections.Retrieve(UserID);
|
||||||
|
|
||||||
|
foreach (DataRow lstSelectedRow in lstSelectedTbl.Rows)
|
||||||
|
{
|
||||||
|
lstSelected.Items.Add(new AnnotataionItem(lstSelectedRow["Name"].ToString(), (int)lstSelectedRow["TypeID"]));
|
||||||
|
}
|
||||||
|
btnUpdate.Enabled = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btnCancel_Click_1(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (btnUpdate.Enabled == true)
|
||||||
|
{
|
||||||
|
string message = "Changes have not yet been saved. Do you want to save the changes prior to closing?";
|
||||||
|
string title = "Save Annotation Selections";
|
||||||
|
MessageBoxButtons buttons = MessageBoxButtons.YesNo;
|
||||||
|
DialogResult result = MessageBox.Show(message, title, buttons);
|
||||||
|
if (result == DialogResult.Yes)
|
||||||
|
{
|
||||||
|
saveChanges();
|
||||||
|
this.Close();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.Close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.Close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private DataTable coverToTable()
|
||||||
|
{
|
||||||
|
DataTable dt = new DataTable();
|
||||||
|
dt.Columns.Add("TypeID", typeof(Int32));
|
||||||
|
|
||||||
|
|
||||||
|
foreach (AnnotataionItem item in lstSelected.Items.OfType<AnnotataionItem>())
|
||||||
|
{
|
||||||
|
dt.Rows.Add(item.TypeID);
|
||||||
|
}
|
||||||
|
return dt;
|
||||||
|
}
|
||||||
|
private void saveChanges()
|
||||||
|
{
|
||||||
|
DataTable dt2 = coverToTable();
|
||||||
|
VEPROMS.CSLA.Library.AnnotationstypeSelections.Update(dt2, UserID);
|
||||||
|
btnUpdate.Enabled = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
120
PROMS/VEPROMS User Interface/DlgAnnotationsSelect.resx
Normal file
120
PROMS/VEPROMS User Interface/DlgAnnotationsSelect.resx
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
</root>
|
@@ -1,5 +1,3 @@
|
|||||||
|
|
||||||
|
|
||||||
Set NoCount On;
|
Set NoCount On;
|
||||||
|
|
||||||
If (db_name() in('master','model','msdn','tempdb'))
|
If (db_name() in('master','model','msdn','tempdb'))
|
||||||
@@ -24035,6 +24033,7 @@ Begin -- Rofst Tables
|
|||||||
End
|
End
|
||||||
Go
|
Go
|
||||||
|
|
||||||
|
|
||||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vesp_UpdateEPFormat]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vesp_UpdateEPFormat]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
||||||
DROP PROCEDURE [vesp_UpdateEPFormat];
|
DROP PROCEDURE [vesp_UpdateEPFormat];
|
||||||
GO
|
GO
|
||||||
@@ -24075,6 +24074,217 @@ ELSE
|
|||||||
|
|
||||||
GO
|
GO
|
||||||
|
|
||||||
|
-- C2025-027 Annotation Type Filtering
|
||||||
|
/****** Object: Table [dbo].[AnnotationTypeSelections] Script Date: 7/10/2025 2:38:23 PM ******/
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- =============================================
|
||||||
|
-- Author: Paul Larsen
|
||||||
|
-- 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,
|
||||||
|
[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_UserIDTypeID'
|
||||||
|
AND object_id = OBJECT_ID('[dbo].[AnnotationTypeSelections]'))
|
||||||
|
begin
|
||||||
|
DROP INDEX [idx_AnnotationTypeSelections_UserIDTypeID] ON [dbo].[AnnotationTypeSelections];
|
||||||
|
end
|
||||||
|
|
||||||
|
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
|
||||||
|
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getAnnotationSelectListTypes]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
||||||
|
DROP PROCEDURE [getAnnotationSelectListTypes];
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- =============================================
|
||||||
|
-- Author: Paul Larsen
|
||||||
|
-- Create date: 7/10/2025
|
||||||
|
-- Description: Retrieve Annotation Types not added to Annotation type filtering by user.
|
||||||
|
-- =============================================
|
||||||
|
CREATE PROCEDURE [dbo].[getAnnotationSelectListTypes]
|
||||||
|
(
|
||||||
|
@UserID varchar(50)
|
||||||
|
)
|
||||||
|
WITH EXECUTE AS OWNER
|
||||||
|
AS
|
||||||
|
SELECT
|
||||||
|
AT.[TypeID],
|
||||||
|
AT.[Name],
|
||||||
|
AT.[Config],
|
||||||
|
AT.[DTS],
|
||||||
|
AT.[UserID],
|
||||||
|
AT.[LastChanged],
|
||||||
|
(SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[TypeID]= AT.[TypeID]) [AnnotationCount],
|
||||||
|
AT.[IsEPAnnotationType]
|
||||||
|
FROM [AnnotationTypes] AT
|
||||||
|
LEFT OUTER JOIN AnnotationTypeSelections ATS
|
||||||
|
ON ATS.TypeID = AT.TypeID AND ATS.UserID = @UserID
|
||||||
|
WHERE ATS.ASTypeID IS NULL
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- C2025-027 Annotation Type Filtering
|
||||||
|
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getAnnotationstypeSelections]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
||||||
|
DROP PROCEDURE [getAnnotationstypeSelections];
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET ANSI_NULLS ON
|
||||||
|
GO
|
||||||
|
SET QUOTED_IDENTIFIER ON
|
||||||
|
GO
|
||||||
|
-- =============================================
|
||||||
|
-- Author: Paul Larsen
|
||||||
|
-- Create date: 07/10/2025
|
||||||
|
-- Description: Retrieve Current Annotation Types
|
||||||
|
-- =============================================
|
||||||
|
|
||||||
|
CREATE PROC [dbo].[getAnnotationstypeSelections]
|
||||||
|
(
|
||||||
|
@UsrID varchar(50)
|
||||||
|
)
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SELECT [ASTypeID]
|
||||||
|
,ATS.[TypeID]
|
||||||
|
,ATS.[UserID]
|
||||||
|
,AT.[Name]
|
||||||
|
,AT.[Config]
|
||||||
|
,ATS.[LastChanged]
|
||||||
|
,AT.[UserID]
|
||||||
|
,AT.[IsEPAnnotationType]
|
||||||
|
FROM [dbo].[AnnotationTypeSelections] ATS
|
||||||
|
INNER JOIN AnnotationTypes AT ON AT.TypeID = ATS.TypeID
|
||||||
|
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];
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- =============================================
|
||||||
|
-- Author: Paul Larsen
|
||||||
|
-- Create date: 07/10/2025
|
||||||
|
-- Description: Retrieve Current Annotation Types
|
||||||
|
-- =============================================
|
||||||
|
|
||||||
|
CREATE PROC [dbo].[getAnnotationstypeFiltered]
|
||||||
|
(
|
||||||
|
@UsrID varchar(50)
|
||||||
|
)
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
IF((SELECT count(TypeID) FROM AnnotationTypeSelections WHERE UserID = @UsrID) > 0)
|
||||||
|
BEGIN
|
||||||
|
SELECT [ASTypeID]
|
||||||
|
,ATS.[TypeID]
|
||||||
|
,ATS.[UserID]
|
||||||
|
,AT.[Name]
|
||||||
|
,AT.[Config]
|
||||||
|
,ATS.[LastChanged]
|
||||||
|
,AT.[UserID]
|
||||||
|
,AT.[IsEPAnnotationType]
|
||||||
|
FROM [dbo].[AnnotationTypeSelections] ATS
|
||||||
|
INNER JOIN AnnotationTypes AT ON AT.TypeID = ATS.TypeID
|
||||||
|
WHERE ATS.UserID = @UsrID
|
||||||
|
END
|
||||||
|
ELSE
|
||||||
|
BEGIN
|
||||||
|
SELECT
|
||||||
|
[TypeID],
|
||||||
|
[Name],
|
||||||
|
[Config],
|
||||||
|
[DTS],
|
||||||
|
[UserID],
|
||||||
|
[LastChanged],
|
||||||
|
(SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[TypeID]=[AnnotationTypes].[TypeID]) [AnnotationCount],
|
||||||
|
[IsEPAnnotationType]
|
||||||
|
FROM [AnnotationTypes]
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- C2025-027 Annotation Type Filtering
|
||||||
|
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[UpdateAnnotationstypeSelections]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
||||||
|
DROP PROCEDURE [UpdateAnnotationstypeSelections];
|
||||||
|
|
||||||
|
-- Need to drop UpdateAnnotationstypeSelections SP first so script can drop and recreate the TableValAnnotTypeSelections table type
|
||||||
|
|
||||||
|
IF EXISTS( SELECT * FROM INFORMATION_SCHEMA.DOMAINS WHERE Domain_Name = 'TableValAnnotTypeSelections' )
|
||||||
|
DROP TYPE [dbo].[TableValAnnotTypeSelections]
|
||||||
|
|
||||||
|
CREATE TYPE [dbo].[TableValAnnotTypeSelections] AS TABLE(
|
||||||
|
[TypeID] [int] NOT NULL
|
||||||
|
|
||||||
|
)
|
||||||
|
GO
|
||||||
|
|
||||||
|
/****** Object: StoredProcedure [dbo].[UpdateAnnotationstypeSelections] Script Date: 7/21/2025 8:51:42 PM ******/
|
||||||
|
|
||||||
|
-- =============================================
|
||||||
|
-- Author: Paul Larsen
|
||||||
|
-- Create date: 07/21/2025
|
||||||
|
-- Description: Manage user choice annotation types
|
||||||
|
-- =============================================
|
||||||
|
CREATE PROC [dbo].[UpdateAnnotationstypeSelections]
|
||||||
|
(
|
||||||
|
@TempTable AS dbo.TableValAnnotTypeSelections READONLY,
|
||||||
|
@UserID [varchar](50) NULL
|
||||||
|
)
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
DELETE FROM AnnotationTypeSelections where UserID = @UserID
|
||||||
|
AND
|
||||||
|
TypeID not in
|
||||||
|
(Select TypeID From @TempTable tmp)
|
||||||
|
|
||||||
|
--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
|
||||||
|
GO
|
||||||
|
|
||||||
IF (@@Error = 0) PRINT 'Running vesp_UpdateEPFormat Succeeded'
|
IF (@@Error = 0) PRINT 'Running vesp_UpdateEPFormat Succeeded'
|
||||||
ELSE PRINT 'Running vesp_UpdateEPFormat Failed to Execute'
|
ELSE PRINT 'Running vesp_UpdateEPFormat Failed to Execute'
|
||||||
GO
|
GO
|
||||||
@@ -24117,8 +24327,8 @@ BEGIN TRY -- Try Block
|
|||||||
DECLARE @RevDate varchar(255)
|
DECLARE @RevDate varchar(255)
|
||||||
DECLARE @RevDescription varchar(255)
|
DECLARE @RevDescription varchar(255)
|
||||||
|
|
||||||
set @RevDate = '6/20/2025 3:07 PM'
|
set @RevDate = '07/31/2025 10:30 AM'
|
||||||
set @RevDescription = 'Annotation Support'
|
set @RevDescription = 'SQL Optimization'
|
||||||
|
|
||||||
Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription
|
Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription
|
||||||
PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription
|
PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription
|
||||||
|
@@ -152,6 +152,17 @@
|
|||||||
<DependentUpon>AboutVEPROMS.cs</DependentUpon>
|
<DependentUpon>AboutVEPROMS.cs</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="BookMarks.cs" />
|
<Compile Include="BookMarks.cs" />
|
||||||
|
<Compile Include="dlgAnnotationsSelect.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="dlgAnnotationsSelect.Designer.cs">
|
||||||
|
<DependentUpon>dlgAnnotationsSelect.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="dlgAnnotationsSelect.Designer.cs">
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<DependentUpon>dlgAnnotationsSelect.resx</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="dlgApproveProcedure.cs">
|
<Compile Include="dlgApproveProcedure.cs">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
@@ -337,6 +348,10 @@
|
|||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
<DependentUpon>AboutVEPROMS.cs</DependentUpon>
|
<DependentUpon>AboutVEPROMS.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="dlgAnnotationsSelect.resx">
|
||||||
|
<DependentUpon>dlgAnnotationsSelect.cs</DependentUpon>
|
||||||
|
<Generator>ResXFileCodeGenerator</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="dlgMSWordMessage.resx">
|
<EmbeddedResource Include="dlgMSWordMessage.resx">
|
||||||
<DependentUpon>dlgMSWordMessage.cs</DependentUpon>
|
<DependentUpon>dlgMSWordMessage.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
229
PROMS/VEPROMS User Interface/dlgAnnotationsSelect.Designer.cs
generated
Normal file
229
PROMS/VEPROMS User Interface/dlgAnnotationsSelect.Designer.cs
generated
Normal file
@@ -0,0 +1,229 @@
|
|||||||
|
|
||||||
|
namespace VEPROMS
|
||||||
|
{
|
||||||
|
partial class dlgAnnotationsSelect
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
this.lstUnselected = new System.Windows.Forms.ListBox();
|
||||||
|
this.lstSelected = new System.Windows.Forms.ListBox();
|
||||||
|
this.btnSelect = new System.Windows.Forms.Button();
|
||||||
|
this.btnSelectAll = new System.Windows.Forms.Button();
|
||||||
|
this.btnDeselectAll = new System.Windows.Forms.Button();
|
||||||
|
this.btnDeselect = new System.Windows.Forms.Button();
|
||||||
|
this.btnUpdate = new System.Windows.Forms.Button();
|
||||||
|
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||||
|
this.btnCancel = new System.Windows.Forms.Button();
|
||||||
|
this.lblMessage = new System.Windows.Forms.Label();
|
||||||
|
this.lblAvailableTypes = new System.Windows.Forms.Label();
|
||||||
|
this.lblSelected = new System.Windows.Forms.Label();
|
||||||
|
this.tableLayoutPanel1.SuspendLayout();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// lstUnselected
|
||||||
|
//
|
||||||
|
this.lstUnselected.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.lstUnselected.FormattingEnabled = true;
|
||||||
|
this.lstUnselected.IntegralHeight = false;
|
||||||
|
this.lstUnselected.ItemHeight = 16;
|
||||||
|
this.lstUnselected.Location = new System.Drawing.Point(3, 3);
|
||||||
|
this.lstUnselected.Name = "lstUnselected";
|
||||||
|
this.tableLayoutPanel1.SetRowSpan(this.lstUnselected, 4);
|
||||||
|
this.lstUnselected.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
|
||||||
|
this.lstUnselected.Size = new System.Drawing.Size(287, 347);
|
||||||
|
this.lstUnselected.TabIndex = 0;
|
||||||
|
this.lstUnselected.SelectedIndexChanged += new System.EventHandler(this.lst_SelectedIndexChanged);
|
||||||
|
//
|
||||||
|
// lstSelected
|
||||||
|
//
|
||||||
|
this.lstSelected.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.lstSelected.FormattingEnabled = true;
|
||||||
|
this.lstSelected.IntegralHeight = false;
|
||||||
|
this.lstSelected.ItemHeight = 16;
|
||||||
|
this.lstSelected.Location = new System.Drawing.Point(334, 3);
|
||||||
|
this.lstSelected.Name = "lstSelected";
|
||||||
|
this.tableLayoutPanel1.SetRowSpan(this.lstSelected, 4);
|
||||||
|
this.lstSelected.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
|
||||||
|
this.lstSelected.Size = new System.Drawing.Size(288, 347);
|
||||||
|
this.lstSelected.TabIndex = 1;
|
||||||
|
this.lstSelected.SelectedIndexChanged += new System.EventHandler(this.lst_SelectedIndexChanged);
|
||||||
|
//
|
||||||
|
// btnSelect
|
||||||
|
//
|
||||||
|
this.btnSelect.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||||
|
this.btnSelect.Location = new System.Drawing.Point(298, 32);
|
||||||
|
this.btnSelect.Name = "btnSelect";
|
||||||
|
this.btnSelect.Size = new System.Drawing.Size(28, 23);
|
||||||
|
this.btnSelect.TabIndex = 2;
|
||||||
|
this.btnSelect.Text = ">";
|
||||||
|
this.btnSelect.UseVisualStyleBackColor = true;
|
||||||
|
this.btnSelect.Click += new System.EventHandler(this.btnSelect_Click);
|
||||||
|
//
|
||||||
|
// btnSelectAll
|
||||||
|
//
|
||||||
|
this.btnSelectAll.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||||
|
this.btnSelectAll.Location = new System.Drawing.Point(296, 120);
|
||||||
|
this.btnSelectAll.Name = "btnSelectAll";
|
||||||
|
this.btnSelectAll.Size = new System.Drawing.Size(32, 23);
|
||||||
|
this.btnSelectAll.TabIndex = 3;
|
||||||
|
this.btnSelectAll.Text = ">>";
|
||||||
|
this.btnSelectAll.UseVisualStyleBackColor = true;
|
||||||
|
this.btnSelectAll.Click += new System.EventHandler(this.btnSelectAll_Click);
|
||||||
|
//
|
||||||
|
// btnDeselectAll
|
||||||
|
//
|
||||||
|
this.btnDeselectAll.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||||
|
this.btnDeselectAll.Location = new System.Drawing.Point(297, 207);
|
||||||
|
this.btnDeselectAll.Name = "btnDeselectAll";
|
||||||
|
this.btnDeselectAll.Size = new System.Drawing.Size(30, 26);
|
||||||
|
this.btnDeselectAll.TabIndex = 5;
|
||||||
|
this.btnDeselectAll.Text = "<<";
|
||||||
|
this.btnDeselectAll.UseVisualStyleBackColor = true;
|
||||||
|
this.btnDeselectAll.Click += new System.EventHandler(this.btnDeselectAll_Click);
|
||||||
|
//
|
||||||
|
// btnDeselect
|
||||||
|
//
|
||||||
|
this.btnDeselect.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||||
|
this.btnDeselect.Location = new System.Drawing.Point(298, 297);
|
||||||
|
this.btnDeselect.Name = "btnDeselect";
|
||||||
|
this.btnDeselect.Size = new System.Drawing.Size(28, 23);
|
||||||
|
this.btnDeselect.TabIndex = 4;
|
||||||
|
this.btnDeselect.Text = "<";
|
||||||
|
this.btnDeselect.UseVisualStyleBackColor = true;
|
||||||
|
this.btnDeselect.Click += new System.EventHandler(this.btnDeselect_Click);
|
||||||
|
//
|
||||||
|
// btnUpdate
|
||||||
|
//
|
||||||
|
this.btnUpdate.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||||
|
this.btnUpdate.Location = new System.Drawing.Point(536, 422);
|
||||||
|
this.btnUpdate.Name = "btnUpdate";
|
||||||
|
this.btnUpdate.Size = new System.Drawing.Size(100, 35);
|
||||||
|
this.btnUpdate.TabIndex = 8;
|
||||||
|
this.btnUpdate.Text = "Save";
|
||||||
|
this.btnUpdate.UseVisualStyleBackColor = true;
|
||||||
|
this.btnUpdate.Click += new System.EventHandler(this.btnUpdate_Click);
|
||||||
|
//
|
||||||
|
// tableLayoutPanel1
|
||||||
|
//
|
||||||
|
this.tableLayoutPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.tableLayoutPanel1.ColumnCount = 3;
|
||||||
|
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||||
|
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 38F));
|
||||||
|
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.lstUnselected, 0, 0);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.lstSelected, 2, 0);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.btnDeselect, 1, 3);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.btnDeselectAll, 1, 2);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.btnSelect, 1, 0);
|
||||||
|
this.tableLayoutPanel1.Controls.Add(this.btnSelectAll, 1, 1);
|
||||||
|
this.tableLayoutPanel1.Location = new System.Drawing.Point(12, 62);
|
||||||
|
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||||
|
this.tableLayoutPanel1.RowCount = 4;
|
||||||
|
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||||
|
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||||
|
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||||
|
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||||
|
this.tableLayoutPanel1.Size = new System.Drawing.Size(625, 353);
|
||||||
|
this.tableLayoutPanel1.TabIndex = 6;
|
||||||
|
//
|
||||||
|
// btnCancel
|
||||||
|
//
|
||||||
|
this.btnCancel.Location = new System.Drawing.Point(411, 422);
|
||||||
|
this.btnCancel.Name = "btnCancel";
|
||||||
|
this.btnCancel.Size = new System.Drawing.Size(100, 35);
|
||||||
|
this.btnCancel.TabIndex = 9;
|
||||||
|
this.btnCancel.Text = "Close";
|
||||||
|
this.btnCancel.UseVisualStyleBackColor = true;
|
||||||
|
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click_1);
|
||||||
|
//
|
||||||
|
// lblMessage
|
||||||
|
//
|
||||||
|
this.lblMessage.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.lblMessage.Location = new System.Drawing.Point(43, 12);
|
||||||
|
this.lblMessage.Name = "lblMessage";
|
||||||
|
this.lblMessage.Size = new System.Drawing.Size(317, 16);
|
||||||
|
this.lblMessage.TabIndex = 10;
|
||||||
|
this.lblMessage.Text = "Updates will appear when PROMS is restarted.";
|
||||||
|
//
|
||||||
|
// lblAvailableTypes
|
||||||
|
//
|
||||||
|
this.lblAvailableTypes.AutoSize = true;
|
||||||
|
this.lblAvailableTypes.Location = new System.Drawing.Point(12, 43);
|
||||||
|
this.lblAvailableTypes.Name = "lblAvailableTypes";
|
||||||
|
this.lblAvailableTypes.Size = new System.Drawing.Size(110, 16);
|
||||||
|
this.lblAvailableTypes.TabIndex = 11;
|
||||||
|
this.lblAvailableTypes.Text = "Types Available ";
|
||||||
|
//
|
||||||
|
// lblSelected
|
||||||
|
//
|
||||||
|
this.lblSelected.AutoSize = true;
|
||||||
|
this.lblSelected.Location = new System.Drawing.Point(343, 43);
|
||||||
|
this.lblSelected.Name = "lblSelected";
|
||||||
|
this.lblSelected.Size = new System.Drawing.Size(104, 16);
|
||||||
|
this.lblSelected.TabIndex = 12;
|
||||||
|
this.lblSelected.Text = "Types Selected";
|
||||||
|
//
|
||||||
|
// dlgAnnotationsSelect
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.ClientSize = new System.Drawing.Size(653, 466);
|
||||||
|
this.Controls.Add(this.lblSelected);
|
||||||
|
this.Controls.Add(this.lblAvailableTypes);
|
||||||
|
this.Controls.Add(this.btnCancel);
|
||||||
|
this.Controls.Add(this.tableLayoutPanel1);
|
||||||
|
this.Controls.Add(this.btnUpdate);
|
||||||
|
this.Controls.Add(this.lblMessage);
|
||||||
|
this.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||||
|
this.Name = "dlgAnnotationsSelect";
|
||||||
|
this.Text = "Filter Annotation Types";
|
||||||
|
this.Load += new System.EventHandler(this.DlgAnnotationsSelect_Load);
|
||||||
|
this.tableLayoutPanel1.ResumeLayout(false);
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
this.PerformLayout();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
private System.Windows.Forms.ListBox lstUnselected;
|
||||||
|
private System.Windows.Forms.ListBox lstSelected;
|
||||||
|
private System.Windows.Forms.Button btnSelect;
|
||||||
|
private System.Windows.Forms.Button btnSelectAll;
|
||||||
|
private System.Windows.Forms.Button btnDeselectAll;
|
||||||
|
private System.Windows.Forms.Button btnDeselect;
|
||||||
|
private System.Windows.Forms.Button btnUpdate;
|
||||||
|
|
||||||
|
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
||||||
|
private System.Windows.Forms.Button btnCancel;
|
||||||
|
private System.Windows.Forms.Label lblMessage;
|
||||||
|
private System.Windows.Forms.Label lblAvailableTypes;
|
||||||
|
private System.Windows.Forms.Label lblSelected;
|
||||||
|
}
|
||||||
|
}
|
2575
PROMS/VEPROMS User Interface/frmSysOptions.Designer.cs
generated
2575
PROMS/VEPROMS User Interface/frmSysOptions.Designer.cs
generated
File diff suppressed because it is too large
Load Diff
@@ -365,5 +365,11 @@ namespace VEPROMS
|
|||||||
Properties.Settings.Default.cbShwRplWrdsColor = cbShwRplWrdsColor.Checked; // update setting value
|
Properties.Settings.Default.cbShwRplWrdsColor = cbShwRplWrdsColor.Checked; // update setting value
|
||||||
Properties.Settings.Default.Save(); // save settings
|
Properties.Settings.Default.Save(); // save settings
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
private void cbShwAnnoFilter_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
frmVEPROMS.tv_SelectAnnotations();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
@@ -721,7 +721,7 @@ namespace VEPROMS
|
|||||||
this.epAnnotations.Dock = System.Windows.Forms.DockStyle.Bottom;
|
this.epAnnotations.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||||
this.epAnnotations.Enabled = false;
|
this.epAnnotations.Enabled = false;
|
||||||
this.epAnnotations.Expanded = 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.ExpandOnTitleClick = true;
|
||||||
this.epAnnotations.Location = new System.Drawing.Point(5, 547);
|
this.epAnnotations.Location = new System.Drawing.Point(5, 547);
|
||||||
this.epAnnotations.Name = "epAnnotations";
|
this.epAnnotations.Name = "epAnnotations";
|
||||||
@@ -761,7 +761,7 @@ namespace VEPROMS
|
|||||||
this.ctrlAnnotationDetails.Dock = System.Windows.Forms.DockStyle.Fill;
|
this.ctrlAnnotationDetails.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
this.ctrlAnnotationDetails.Enabled = false;
|
this.ctrlAnnotationDetails.Enabled = false;
|
||||||
this.ctrlAnnotationDetails.Location = new System.Drawing.Point(0, 26);
|
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.MyUserInfo = null;
|
||||||
this.ctrlAnnotationDetails.Name = "ctrlAnnotationDetails";
|
this.ctrlAnnotationDetails.Name = "ctrlAnnotationDetails";
|
||||||
this.ctrlAnnotationDetails.ProcItem = null;
|
this.ctrlAnnotationDetails.ProcItem = null;
|
||||||
|
@@ -543,7 +543,6 @@ namespace VEPROMS
|
|||||||
tv.RefreshCheckedOutProcedures += new vlnTreeViewEvent(tv_RefreshCheckedOutProcedures);
|
tv.RefreshCheckedOutProcedures += new vlnTreeViewEvent(tv_RefreshCheckedOutProcedures);
|
||||||
tv.ProcedureCheckedOutTo += new vlnTreeViewEvent(tv_ProcedureCheckedOutTo);
|
tv.ProcedureCheckedOutTo += new vlnTreeViewEvent(tv_ProcedureCheckedOutTo);
|
||||||
tv.ViewPDF += new vlnTreeViewPdfEvent(tv_ViewPDF);
|
tv.ViewPDF += new vlnTreeViewPdfEvent(tv_ViewPDF);
|
||||||
|
|
||||||
displayApplicability.ApplicabilityViewModeChanged += new DisplayApplicability.DisplayApplicabilityEvent(displayApplicability_ApplicabilityViewModeChanged);
|
displayApplicability.ApplicabilityViewModeChanged += new DisplayApplicability.DisplayApplicabilityEvent(displayApplicability_ApplicabilityViewModeChanged);
|
||||||
|
|
||||||
tv.ExportImportProcedureSets += new vlnTreeViewEvent(tv_ExportImportProcedureSets);
|
tv.ExportImportProcedureSets += new vlnTreeViewEvent(tv_ExportImportProcedureSets);
|
||||||
@@ -1296,7 +1295,11 @@ namespace VEPROMS
|
|||||||
|
|
||||||
pi.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
|
pi.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
|
||||||
}
|
}
|
||||||
|
public static void tv_SelectAnnotations()
|
||||||
|
{
|
||||||
|
dlgAnnotationsSelect sannoDlg = new dlgAnnotationsSelect(VlnSettings.UserID);
|
||||||
|
sannoDlg.ShowDialog(); // RHM 20120925 - Center dialog over PROMS window
|
||||||
|
}
|
||||||
void tv_CreateTimeCriticalActionSummary(object sender, vlnTreeEventArgs args)
|
void tv_CreateTimeCriticalActionSummary(object sender, vlnTreeEventArgs args)
|
||||||
{
|
{
|
||||||
DialogResult dr = System.Windows.Forms.DialogResult.Yes;
|
DialogResult dr = System.Windows.Forms.DialogResult.Yes;
|
||||||
@@ -1483,9 +1486,11 @@ namespace VEPROMS
|
|||||||
// and if they are not the same, use the CurrentItem from the main frmVEPROMS.
|
// and if they are not the same, use the CurrentItem from the main frmVEPROMS.
|
||||||
ProcedureInfo piThis = null;
|
ProcedureInfo piThis = null;
|
||||||
if (_CurrentItem != null) piThis = _CurrentItem.MyProcedure;
|
if (_CurrentItem != null) piThis = _CurrentItem.MyProcedure;
|
||||||
|
|
||||||
ProcedureInfo pi = args.Proc as ProcedureInfo;
|
ProcedureInfo pi = args.Proc as ProcedureInfo;
|
||||||
if (piThis != null && pi.ItemID != piThis.ItemID) pi = piThis;
|
if (args.OringFlg == 1) // B2025-036 split screen print issue. if oringFlg == 1 the ctrl-p keys was pressed.
|
||||||
|
{
|
||||||
|
if (piThis != null && pi.ItemID != piThis.ItemID) pi = piThis;
|
||||||
|
}
|
||||||
|
|
||||||
// Check if Procedure Info is null
|
// Check if Procedure Info is null
|
||||||
if (pi == null) return;
|
if (pi == null) return;
|
||||||
@@ -1527,8 +1532,11 @@ namespace VEPROMS
|
|||||||
if (_CurrentItem != null) piThis = _CurrentItem.MyProcedure;
|
if (_CurrentItem != null) piThis = _CurrentItem.MyProcedure;
|
||||||
|
|
||||||
ProcedureInfo pi = args.Proc as ProcedureInfo;
|
ProcedureInfo pi = args.Proc as ProcedureInfo;
|
||||||
if (piThis != null && pi.ItemID != piThis.ItemID) pi = piThis;
|
|
||||||
|
|
||||||
|
if (args.OringFlg == 1) // B2025-036 split screen print issue. if oringFlg == 1 the ctrl-p keys was pressed.
|
||||||
|
{
|
||||||
|
if (piThis != null && pi.ItemID != piThis.ItemID) pi = piThis;
|
||||||
|
}
|
||||||
// Check if Procedure Info is null
|
// Check if Procedure Info is null
|
||||||
if (pi == null) return;
|
if (pi == null) return;
|
||||||
|
|
||||||
|
175
PROMS/VEPROMS.CSLA.Library/Minimal/AnnotationstypeSections.cs
Normal file
175
PROMS/VEPROMS.CSLA.Library/Minimal/AnnotationstypeSections.cs
Normal file
@@ -0,0 +1,175 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Data;
|
||||||
|
using System.Data.SqlClient;
|
||||||
|
using System.Text.RegularExpressions;
|
||||||
|
using Csla;
|
||||||
|
using Csla.Data;
|
||||||
|
using System.Configuration;
|
||||||
|
using System.IO;
|
||||||
|
using System.ComponentModel;
|
||||||
|
|
||||||
|
|
||||||
|
//namespace VEPROMS.CSLA.Library;
|
||||||
|
|
||||||
|
// C2025-027 this new file is used to support (data retrival) for selecting Annotation types to display on the Annotation screen. This is related to Annotation type filtering through V->Options.
|
||||||
|
|
||||||
|
namespace VEPROMS.CSLA.Library
|
||||||
|
{
|
||||||
|
public class AnnotationstypeSelections
|
||||||
|
{
|
||||||
|
public static DataTable Get(string UserID)
|
||||||
|
{
|
||||||
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||||
|
{
|
||||||
|
using (SqlCommand cm = cn.CreateCommand())
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
cm.CommandType = CommandType.StoredProcedure;
|
||||||
|
cm.CommandText = "getAnnotationstypeFiltered";
|
||||||
|
cm.CommandTimeout = Database.DefaultTimeout;
|
||||||
|
cm.Parameters.AddWithValue("@UsrID", UserID);
|
||||||
|
SqlDataAdapter da = new SqlDataAdapter(cm);
|
||||||
|
SqlDataReader reader = cm.ExecuteReader();
|
||||||
|
DataTable dt = new DataTable();
|
||||||
|
dt.Load(reader);
|
||||||
|
// if the user has not created a annotation sub-set list saved to AnnotationTypeSelections table.
|
||||||
|
if (dt.Rows.Count < 1)
|
||||||
|
{
|
||||||
|
DataRow row;
|
||||||
|
int rowflg = 0;
|
||||||
|
foreach (AnnotationTypeInfo annosel in DataPortal.Fetch<AnnotationTypeInfoList>())
|
||||||
|
{
|
||||||
|
// C2025-027 need to use a datatable instead of AnnotationTypeInfoList so the global search Annotations will not be effected by the Annotation select list selections
|
||||||
|
if (rowflg == 0)
|
||||||
|
{
|
||||||
|
row = dt.NewRow();
|
||||||
|
dt.Rows.Add(row);
|
||||||
|
rowflg = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
row = dt.NewRow();
|
||||||
|
row["TypeID"] = annosel.TypeID;
|
||||||
|
row["Name"] = annosel.Name;
|
||||||
|
row["Config"] = annosel.Config;
|
||||||
|
row["DTS"] = annosel.DTS;
|
||||||
|
row["UserID"] = annosel.UserID;
|
||||||
|
row["IsEPAnnotationType"] = annosel.IsEPAnnotationType;
|
||||||
|
dt.Rows.Add(row);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return dt;
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
//B2025-004
|
||||||
|
//if it fails loading previously open tabs, simply treat it as if no tabs were open
|
||||||
|
//instead of crashing
|
||||||
|
return new DataTable();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public static DataTable Retrieve(string UserID)
|
||||||
|
{
|
||||||
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||||
|
{
|
||||||
|
using (SqlCommand cm = cn.CreateCommand())
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
cm.CommandType = CommandType.StoredProcedure;
|
||||||
|
cm.CommandText = "getAnnotationstypeSelections";
|
||||||
|
cm.CommandTimeout = Database.DefaultTimeout;
|
||||||
|
cm.Parameters.AddWithValue("@UsrID", UserID);
|
||||||
|
SqlDataAdapter da = new SqlDataAdapter(cm);
|
||||||
|
SqlDataReader reader = cm.ExecuteReader();
|
||||||
|
DataTable dt = new DataTable();
|
||||||
|
dt.Load(reader);
|
||||||
|
|
||||||
|
return dt;
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
//B2025-004
|
||||||
|
//if it fails loading previously open tabs, simply treat it as if no tabs were open
|
||||||
|
//instead of crashing
|
||||||
|
return new DataTable();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public static DataTable GetAnnoTypes(string UserID)
|
||||||
|
{
|
||||||
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||||
|
{
|
||||||
|
using (SqlCommand cm = cn.CreateCommand())
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
cm.CommandType = CommandType.StoredProcedure;
|
||||||
|
cm.CommandText = "getAnnotationSelectListTypes";
|
||||||
|
cm.CommandTimeout = Database.DefaultTimeout;
|
||||||
|
SqlDataAdapter da = new SqlDataAdapter(cm);
|
||||||
|
cm.Parameters.AddWithValue("@UserID", UserID);
|
||||||
|
SqlDataReader reader = cm.ExecuteReader();
|
||||||
|
DataTable dt = new DataTable();
|
||||||
|
dt.Load(reader);
|
||||||
|
|
||||||
|
return dt;
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
//B2025-004
|
||||||
|
//if it fails loading previously open tabs, simply treat it as if no tabs were open
|
||||||
|
//instead of crashing
|
||||||
|
return new DataTable();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void Update(DataTable dt, string UserID)
|
||||||
|
{
|
||||||
|
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||||
|
{
|
||||||
|
using (SqlCommand cm = cn.CreateCommand())
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
cm.CommandType = CommandType.StoredProcedure;
|
||||||
|
cm.CommandText = "UpdateAnnotationstypeSelections";
|
||||||
|
cm.CommandTimeout = Database.DefaultTimeout;
|
||||||
|
|
||||||
|
//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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@@ -387,6 +387,7 @@
|
|||||||
<Compile Include="Generated\ZContentInfo.cs" />
|
<Compile Include="Generated\ZContentInfo.cs" />
|
||||||
<Compile Include="Generated\ZTransition.cs" />
|
<Compile Include="Generated\ZTransition.cs" />
|
||||||
<Compile Include="Generated\ZTransitionInfo.cs" />
|
<Compile Include="Generated\ZTransitionInfo.cs" />
|
||||||
|
<Compile Include="Minimal\AnnotationstypeSections.cs" />
|
||||||
<Compile Include="Minimal\UserSettings.cs" />
|
<Compile Include="Minimal\UserSettings.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
<Compile Include="VEObjects\VEDrillDown.cs" />
|
<Compile Include="VEObjects\VEDrillDown.cs" />
|
||||||
|
@@ -119,8 +119,8 @@ namespace Volian.Controls.Library
|
|||||||
if (CurrentItem.MyDocVersion != null)
|
if (CurrentItem.MyDocVersion != null)
|
||||||
if (CurrentItem.MyDocVersion.DocVersionAssociationCount > 0)
|
if (CurrentItem.MyDocVersion.DocVersionAssociationCount > 0)
|
||||||
_ROPath = CurrentItem.MyDocVersion.DocVersionAssociations[0].MyROFst.MyRODb.FolderPath;
|
_ROPath = CurrentItem.MyDocVersion.DocVersionAssociations[0].MyROFst.MyRODb.FolderPath;
|
||||||
ProcItem = CurrentItem.MyProcedure;
|
|
||||||
}
|
}
|
||||||
public AnnotationInfo FirstExeAnnotation(ItemInfo ii)
|
public AnnotationInfo FirstExeAnnotation(ItemInfo ii)
|
||||||
{
|
{
|
||||||
if (ii == null) return null;
|
if (ii == null) return null;
|
||||||
@@ -364,7 +364,11 @@ namespace Volian.Controls.Library
|
|||||||
|
|
||||||
cbGridAnnoType.DisplayMember = "Name";
|
cbGridAnnoType.DisplayMember = "Name";
|
||||||
cbGridAnnoType.ValueMember = "TypeId";
|
cbGridAnnoType.ValueMember = "TypeId";
|
||||||
cbGridAnnoType.DataSource = AnnotationTypeInfoList.Get().Clone();
|
|
||||||
|
//C2025 - 027 Annotation Type Filtering
|
||||||
|
cbGridAnnoType.WatermarkText = "Select Annotation Type";
|
||||||
|
cbGridAnnoType.DataSource = VEPROMS.CSLA.Library.AnnotationstypeSelections.Get(MyUserInfo.UserID);
|
||||||
|
|
||||||
// If there are no annotatons, then selected index is -1 (not defined), otherwise select the first.
|
// If there are no annotatons, then selected index is -1 (not defined), otherwise select the first.
|
||||||
// This was done so that it could be saved if there was text entered but user moves to another steprtb without selecting save button
|
// This was done so that it could be saved if there was text entered but user moves to another steprtb without selecting save button
|
||||||
// so that annotation gets saved.
|
// so that annotation gets saved.
|
||||||
|
@@ -618,6 +618,15 @@ namespace Volian.Controls.Library
|
|||||||
}
|
}
|
||||||
private int _MyLastFormatID = -1;
|
private int _MyLastFormatID = -1;
|
||||||
private StepRTB _MyStepRTB;
|
private StepRTB _MyStepRTB;
|
||||||
|
private static int _OringFlg;
|
||||||
|
public static int OringFlg
|
||||||
|
{
|
||||||
|
get { return _OringFlg; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_OringFlg = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
public StepRTB MyStepRTB
|
public StepRTB MyStepRTB
|
||||||
{
|
{
|
||||||
get { return _MyStepRTB; }
|
get { return _MyStepRTB; }
|
||||||
@@ -4143,16 +4152,22 @@ namespace Volian.Controls.Library
|
|||||||
|
|
||||||
private void btnPdfCreate_Click(object sender, EventArgs e)
|
private void btnPdfCreate_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
// B2025-036 split screen print issue. if oringFlg == 1 the ctrl-p keys was pressed.
|
||||||
|
_OringFlg = 0;
|
||||||
|
DevComponents.DotNetBar.eEventSource oring = ((DevComponents.DotNetBar.Events.EventSourceArgs)e).Source;
|
||||||
|
if (oring == eEventSource.Keyboard)
|
||||||
|
_OringFlg = 1;
|
||||||
|
|
||||||
if (MyItemInfo == null) return; // if creating a pdf before rtb exists, return;
|
if (MyItemInfo == null) return; // if creating a pdf before rtb exists, return;
|
||||||
if (MyEditItem != null) MyEditItem.SaveCurrentAndContents();
|
if (MyEditItem != null) MyEditItem.SaveCurrentAndContents();
|
||||||
OnPrintRequest(new StepTabRibbonEventArgs(MyItemInfo.MyProcedure), 0);
|
OnPrintRequest(new StepTabRibbonEventArgs(MyItemInfo.MyProcedure, _OringFlg), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnPdfQuickCreate_Click(object sender, EventArgs e)
|
private void btnPdfQuickCreate_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (MyItemInfo == null) return; // if creating a pdf before rtb exists, return;
|
if (MyItemInfo == null) return; // if creating a pdf before rtb exists, return;
|
||||||
if (MyEditItem != null) MyEditItem.SaveCurrentAndContents();
|
if (MyEditItem != null) MyEditItem.SaveCurrentAndContents();
|
||||||
OnPrintRequest(new StepTabRibbonEventArgs(MyItemInfo.MyProcedure), 1);
|
OnPrintRequest(new StepTabRibbonEventArgs(MyItemInfo.MyProcedure, _OringFlg), 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnCASCreate_Click(object sender, EventArgs e)
|
private void btnCASCreate_Click(object sender, EventArgs e)
|
||||||
@@ -4814,9 +4829,10 @@ namespace Volian.Controls.Library
|
|||||||
public class StepTabRibbonEventArgs : EventArgs
|
public class StepTabRibbonEventArgs : EventArgs
|
||||||
{
|
{
|
||||||
public StepTabRibbonEventArgs() { ; }
|
public StepTabRibbonEventArgs() { ; }
|
||||||
public StepTabRibbonEventArgs(ItemInfo proc)
|
public StepTabRibbonEventArgs(ItemInfo proc, int oringFlg = 0)
|
||||||
{
|
{
|
||||||
_Proc = proc;
|
_Proc = proc;
|
||||||
|
OringFlg = oringFlg;
|
||||||
}
|
}
|
||||||
private ItemInfo _Proc;
|
private ItemInfo _Proc;
|
||||||
|
|
||||||
@@ -4825,6 +4841,13 @@ namespace Volian.Controls.Library
|
|||||||
get { return _Proc; }
|
get { return _Proc; }
|
||||||
set { _Proc = value; }
|
set { _Proc = value; }
|
||||||
}
|
}
|
||||||
|
// B2025-036 split screen print issue. if oringFlg == 1 the ctrl-p keys was pressed.
|
||||||
|
private int _OringFlg;
|
||||||
|
public int OringFlg
|
||||||
|
{
|
||||||
|
get { return _OringFlg; }
|
||||||
|
set { _OringFlg = value; }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
public delegate void StepTabRibbonEvent(object sender, StepTabRibbonEventArgs args);
|
public delegate void StepTabRibbonEvent(object sender, StepTabRibbonEventArgs args);
|
||||||
|
|
||||||
|
@@ -573,11 +573,6 @@ namespace Volian.Controls.Library
|
|||||||
{
|
{
|
||||||
if (ProcedureCheckedOutTo != null) ProcedureCheckedOutTo(sender, args);
|
if (ProcedureCheckedOutTo != null) ProcedureCheckedOutTo(sender, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public event vlnTreeViewEvent ExportImportProcedureSets;
|
public event vlnTreeViewEvent ExportImportProcedureSets;
|
||||||
private void OnExportImportProcedureSets(object sender, vlnTreeEventArgs args)
|
private void OnExportImportProcedureSets(object sender, vlnTreeEventArgs args)
|
||||||
{
|
{
|
||||||
@@ -871,6 +866,7 @@ namespace Volian.Controls.Library
|
|||||||
MenuItem miqp = new MenuItem("Quick Print");
|
MenuItem miqp = new MenuItem("Quick Print");
|
||||||
//MenuItem mips = new MenuItem("Print Section");
|
//MenuItem mips = new MenuItem("Print Section");
|
||||||
MenuItem mia = new MenuItem("Approve");
|
MenuItem mia = new MenuItem("Approve");
|
||||||
|
|
||||||
int k = 0;
|
int k = 0;
|
||||||
foreach (string s in pri.MyDocVersion.UnitNames)
|
foreach (string s in pri.MyDocVersion.UnitNames)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user