C2025-027-AnnotationsTypeSelect #574
178
PROMS/VEPROMS User Interface/DlgAnnotationsSelect.cs
Normal file
@ -0,0 +1,178 @@
|
||||
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
|
||||
{
|
||||
int AnnotationTypeID;
|
||||
mschill marked this conversation as resolved
Outdated
|
||||
string AnnotationNameStr = "";
|
||||
|
||||
public DlgAnnotationsSelect()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public DlgAnnotationsSelect(string userid)
|
||||
{
|
||||
InitializeComponent();
|
||||
//MyItemID = pi.ItemID;
|
||||
mschill marked this conversation as resolved
mschill
commented
commented out code should be removed or reason given for why it is commented out / should be in the code long term. commented out code should be removed or reason given for why it is commented out / should be in the code long term.
plarsen
commented
Removed commented code Removed commented code
|
||||
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();
|
||||
}
|
||||
|
||||
// Move all items to lstSelected.
|
||||
private void btnSelectAll_Click(object sender, EventArgs e)
|
||||
{
|
||||
MoveAllItems(lstUnselected, lstSelected);
|
||||
}
|
||||
|
||||
// Move all items to lstUnselected.
|
||||
private void btnDeselectAll_Click(object sender, EventArgs e)
|
||||
{
|
||||
MoveAllItems(lstSelected, lstUnselected);
|
||||
}
|
||||
|
||||
// Move all items from one ListBox to another.
|
||||
private void MoveAllItems(ListBox lstFrom, ListBox lstTo)
|
||||
{
|
||||
lstTo.Items.AddRange(lstFrom.Items);
|
||||
lstFrom.Items.Clear();
|
||||
SetButtonsEditable();
|
||||
}
|
||||
|
||||
// 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)
|
||||
{
|
||||
int dltFlg = 1;
|
||||
mschill
commented
I am not sure what this flag is? Can there be comments explaining why? I am not sure what this flag is?
I noticed it will be 1 on 1st iteration then 0 after that.
Can there be comments explaining why?
mschill
commented
Must be missing something .... Not sure I understand why we are deleting items and reentering them ...... wouldn't we lose history on when they were originally put in if we do that? Must be missing something .... Not sure I understand why we are deleting items and reentering them ...... wouldn't we lose history on when they were originally put in if we do that?
plarsen
commented
Delete and reinsert works very well. Updates in this scenario are nightmares. Delete and reinsert works very well. Updates in this scenario are nightmares.
mschill
commented
not sure if this would help --- but just a thought - passing in a whole table of the annotationtypeselections instead of doing 1 update/insert at a time and then doing a merge with the current table? In the end, as long as Devin and John are good with it, I am too --- just figured I would check in case we were losing any needed info by removing and re-adding... not sure if this would help --- but just a thought - passing in a whole table of the annotationtypeselections instead of doing 1 update/insert at a time and then doing a merge with the current table?
In the end, as long as Devin and John are good with it, I am too --- just figured I would check in case we were losing any needed info by removing and re-adding...
|
||||
|
||||
foreach (AnnotataionItem item in lstSelected.Items.OfType<AnnotataionItem>())
|
||||
{
|
||||
lstSelected.DisplayMember = "NameStr";
|
||||
mschill marked this conversation as resolved
mschill
commented
just to double check --- Is there a reason we are updating the DisplayMember / ValueMember every time we go through the loop? Wasn't this already set when the form loaded --- line 160ish? just to double check --- Is there a reason we are updating the DisplayMember / ValueMember every time we go through the loop?
Wasn't this already set when the form loaded --- line 160ish?
plarsen
commented
I moved the variables I moved the variables
|
||||
lstSelected.ValueMember = "TypeID";
|
||||
|
||||
AnnotationTypeID = item.TypeID;
|
||||
AnnotationNameStr = item.NameStr;
|
||||
|
||||
VEPROMS.CSLA.Library.AnnotationstypeSelections.Update(UserID, AnnotationTypeID, dltFlg, AnnotationNameStr);
|
||||
dltFlg = 0;
|
||||
}
|
||||
}
|
||||
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);
|
||||
if (lstSelectedTbl.Rows.Count > 0)
|
||||
{
|
||||
foreach (DataRow lstSelectedRow in lstSelectedTbl.Rows)
|
||||
{
|
||||
lstSelected.Items.Add(new AnnotataionItem(lstSelectedRow["Name"].ToString(), (int)lstSelectedRow["TypeID"]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void btnCancel_Click_1(object sender, EventArgs e)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
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>
|
@ -24035,6 +24035,7 @@ Begin -- Rofst Tables
|
||||
End
|
||||
Go
|
||||
|
||||
|
||||
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vesp_UpdateEPFormat]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
|
||||
DROP PROCEDURE [vesp_UpdateEPFormat];
|
||||
GO
|
||||
@ -24075,6 +24076,125 @@ ELSE
|
||||
|
||||
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
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
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
|
||||
[TypeID],
|
||||
[Name],
|
||||
[Config],
|
||||
[DTS],
|
||||
[UserID],
|
||||
[LastChanged],
|
||||
(SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[TypeID]= [TypeID]) [AnnotationCount]
|
||||
--[IsEPAnnotationType]
|
||||
FROM [AnnotationTypes] --A
|
||||
--JOIN AnnotationTypeSelections S ON S.TypeID = A.TypeID
|
||||
WHERE TypeID NOT IN (SELECT TypeID FROM AnnotationTypeSelections WHERE UsrID = @UserID) --S.ItemID = @ItemID AND S.TypeID != A.TypeID
|
||||
|
||||
RETURN
|
||||
|
||||
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]
|
||||
mschill
commented
So .... unless I have this backwards: so basically, by default, we would show all annotation types / if a new annotation type was added it would show & only what is selected would be filtered out ....... if this is the case, wouldn't we want this info to come from AnnotationTypes Select ----again, may be thinking of this wrong ... but was thinking we were storing in the db what they picked to filter out. So .... unless I have this backwards:
This is for filtering out Annotation Types --- so wouldn't anything selected in AnnotationTypeSelections need / be filtered out.
so basically, by default, we would show all annotation types / if a new annotation type was added it would show & only what is selected would be filtered out .......
if this is the case, wouldn't we want this info to come from AnnotationTypes
& be basically:
Select
AnnotationTypes.[TypeID],
AnnotationTypes.[Name],
AnnotationTypes.[Config],
AnnotationTypes.[DTS],
AnnotationTypes.[UserID],
AnnotationTypes.[LastChanged],
(SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[TypeID]=[AnnotationTypes].[TypeID]) [AnnotationCount],
AnnotationTypes.[IsEPAnnotationType]
FROM [AnnotationTypes]
LEFT OUTER JOIN AnnotationTypeSelections ON AnnotationTypeSelections.TypeID = AnnotationTypes.TypeID
WHERE AnnotationTypeSelections.UsrID = @UsrID
AND
AnnotationTypeSelections.ASTypeID IS NULL
----again, may be thinking of this wrong ... but was thinking we were storing in the db what they picked to filter out.
plarsen
commented
SPs [getAnnotationstypeSelections] select selected types for right listbox getAnnotationSelectListTypes select from Annotationtypes table fitering out any selected types for left listbox getAnnotationstypeFiltered select selected filtered (if any) otherwise show all annotation types. Used in AnnotationDetails drop down. SPs
[getAnnotationstypeSelections] select selected types for right listbox
getAnnotationSelectListTypes select from Annotationtypes table fitering out any selected types for left listbox
getAnnotationstypeFiltered select selected filtered (if any) otherwise show all annotation types. Used in AnnotationDetails drop down.
|
||||
(
|
||||
@UsrID varchar(50)
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
IF((SELECT TypeID FROM AnnotationTypeSelections WHERE UsrID = @UsrID) > 0)
|
||||
BEGIN
|
||||
SELECT [ASTypeID]
|
||||
,[TypeID]
|
||||
,[UsrID]
|
||||
,[Name]
|
||||
,[Config]
|
||||
,[DTS]
|
||||
,[UserID]
|
||||
,[IsEPAnnotationType]
|
||||
FROM [dbo].[AnnotationTypeSelections]
|
||||
WHERE UsrID = @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 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
|
||||
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Author: Paul Larsen
|
||||
-- Create date: 07/10/2025
|
||||
-- Description: Store user Annotation selections for annotation filter.
|
||||
-- =============================================
|
||||
|
||||
CREATE TABLE [dbo].[AnnotationTypeSelections](
|
||||
[ASTypeID] [int] IDENTITY(1,1) NOT NULL,
|
||||
[TypeID] [int] NULL,
|
||||
[UsrID] [varchar](50) NULL,
|
||||
[Name] [nvarchar](100) NOT NULL,
|
||||
[Config] [nvarchar](max) NULL,
|
||||
[DTS] [datetime] NOT NULL,
|
||||
[UserID] [nvarchar](100) NOT NULL,
|
||||
[LastChanged] [timestamp] NOT NULL,
|
||||
[IsEPAnnotationType] [bit] NOT NULL
|
||||
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
||||
GO
|
||||
|
||||
IF (@@Error = 0) PRINT 'Running vesp_UpdateEPFormat Succeeded'
|
||||
ELSE PRINT 'Running vesp_UpdateEPFormat Failed to Execute'
|
||||
GO
|
||||
@ -24117,8 +24237,8 @@ BEGIN TRY -- Try Block
|
||||
DECLARE @RevDate varchar(255)
|
||||
DECLARE @RevDescription varchar(255)
|
||||
|
||||
set @RevDate = '6/20/2025 3:07 PM'
|
||||
set @RevDescription = 'Annotation Support'
|
||||
set @RevDate = '07/10/2025 2:30 PM'
|
||||
set @RevDescription = 'C2025-027 Annotation Type Filtering'
|
||||
|
||||
Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription
|
||||
PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription
|
||||
|
@ -152,6 +152,12 @@
|
||||
<DependentUpon>AboutVEPROMS.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="BookMarks.cs" />
|
||||
<Compile Include="DlgAnnotationsSelect.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="dlgAnnotationsSelect.Designer.cs">
|
||||
<DependentUpon>DlgAnnotationsSelect.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="dlgApproveProcedure.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@ -337,6 +343,11 @@
|
||||
<SubType>Designer</SubType>
|
||||
<DependentUpon>AboutVEPROMS.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="DlgAnnotationsSelect.resx">
|
||||
<DependentUpon>DlgAnnotationsSelect.cs</DependentUpon>
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>DlgAnnotationsSelect1.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="dlgMSWordMessage.resx">
|
||||
<DependentUpon>dlgMSWordMessage.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
190
PROMS/VEPROMS User Interface/dlgAnnotationsSelect.Designer.cs
generated
Normal file
@ -0,0 +1,190 @@
|
||||
|
||||
namespace VEPROMS
|
||||
mschill marked this conversation as resolved
mschill
commented
Naming/casing should be consistent: Naming/casing should be consistent:
class is:
DlgAnnotationsSelect
but
designer is
dlgAnnotationsSelect?
plarsen
commented
Fixed Fixed
|
||||
{
|
||||
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.tableLayoutPanel1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// lstUnselected
|
||||
//
|
||||
this.lstUnselected.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lstUnselected.FormattingEnabled = true;
|
||||
this.lstUnselected.IntegralHeight = false;
|
||||
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, 394);
|
||||
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.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, 394);
|
||||
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, 38);
|
||||
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(298, 138);
|
||||
this.btnSelectAll.Name = "btnSelectAll";
|
||||
this.btnSelectAll.Size = new System.Drawing.Size(28, 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(298, 238);
|
||||
this.btnDeselectAll.Name = "btnDeselectAll";
|
||||
this.btnDeselectAll.Size = new System.Drawing.Size(28, 23);
|
||||
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, 338);
|
||||
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 = "Update";
|
||||
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, 12);
|
||||
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, 400);
|
||||
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);
|
||||
//
|
||||
// DlgAnnotationsSelect
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(653, 466);
|
||||
this.Controls.Add(this.btnCancel);
|
||||
this.Controls.Add(this.tableLayoutPanel1);
|
||||
this.Controls.Add(this.btnUpdate);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||
this.Name = "DlgAnnotationsSelect";
|
||||
this.Text = "Select Annotation Types";
|
||||
this.Load += new System.EventHandler(this.DlgAnnotationsSelect_Load);
|
||||
this.tableLayoutPanel1.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#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;
|
||||
|
||||
}
|
||||
}
|
2574
PROMS/VEPROMS User Interface/frmSysOptions.Designer.cs
generated
@ -365,5 +365,24 @@ namespace VEPROMS
|
||||
Properties.Settings.Default.cbShwRplWrdsColor = cbShwRplWrdsColor.Checked; // update setting value
|
||||
Properties.Settings.Default.Save(); // save settings
|
||||
}
|
||||
}
|
||||
private void cbShwAnnoFilter_Click(object sender, EventArgs e)
|
||||
mschill marked this conversation as resolved
mschill
commented
unless reason for keeping the commented out code (should be explained in the comments) --- commented out code shouldn't be checked in? (this would be throughout this file) unless reason for keeping the commented out code (should be explained in the comments) --- commented out code shouldn't be checked in?
(this would be throughout this file)
mschill
commented
Now, this is a method with everything inside commented out --- if no code is to execute, should the method be removed? Now, this is a method with everything inside commented out --- if no code is to execute, should the method be removed?
|
||||
{
|
||||
|
||||
//OnSelectAnnotations(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
|
||||
|
||||
//Settings.Default.cbShwAnnoFilter = cbShwAnnoFilter.Checked;
|
||||
//VlnSettings.cbShwAnnoFilter = cbShwAnnoFilter.Checked;
|
||||
//Properties.Settings.Default.cbShwAnnoFilter = cbShwAnnoFilter.Checked; // update setting value
|
||||
//Properties.Settings.Default.Save(); // save settings
|
||||
}
|
||||
|
||||
private void buttonX1_Click(object sender, EventArgs e)
|
||||
mschill marked this conversation as resolved
Outdated
mschill
commented
Should this be named something other than buttonX1? Should this be named something other than buttonX1?
plarsen
commented
Fixed Fixed
|
||||
{
|
||||
frmVEPROMS.tv_SelectAnnotations();
|
||||
}
|
||||
//private void OnSelectAnnotations(object sender, vlnTreeEventArgs args)
|
||||
//{
|
||||
// if (SelectAnnotations != null) SelectAnnotations(sender, args);
|
||||
//}
|
||||
}
|
||||
}
|
@ -723,9 +723,8 @@ namespace VEPROMS
|
||||
this.epAnnotations.Expanded = false;
|
||||
this.epAnnotations.ExpandedBounds = new System.Drawing.Rectangle(4, 544, 1187, 202);
|
||||
this.epAnnotations.ExpandOnTitleClick = true;
|
||||
this.epAnnotations.Location = new System.Drawing.Point(5, 547);
|
||||
this.epAnnotations.Name = "epAnnotations";
|
||||
this.epAnnotations.Size = new System.Drawing.Size(1185, 26);
|
||||
this.epAnnotations.Location = new System.Drawing.Point(5, 324);
|
||||
this.epAnnotations.Size = new System.Drawing.Size(1185, 249);
|
||||
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;
|
||||
@ -765,7 +764,7 @@ namespace VEPROMS
|
||||
this.ctrlAnnotationDetails.MyUserInfo = null;
|
||||
this.ctrlAnnotationDetails.Name = "ctrlAnnotationDetails";
|
||||
this.ctrlAnnotationDetails.ProcItem = null;
|
||||
this.ctrlAnnotationDetails.Size = new System.Drawing.Size(1185, 0);
|
||||
this.ctrlAnnotationDetails.Size = new System.Drawing.Size(1185, 223);
|
||||
this.ctrlAnnotationDetails.TabIndex = 15;
|
||||
//
|
||||
// btnAnnoDetailsPushPin
|
||||
@ -799,7 +798,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, 490);
|
||||
this.epProcedures.Size = new System.Drawing.Size(326, 267);
|
||||
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;
|
||||
|
@ -543,7 +543,7 @@ namespace VEPROMS
|
||||
tv.RefreshCheckedOutProcedures += new vlnTreeViewEvent(tv_RefreshCheckedOutProcedures);
|
||||
tv.ProcedureCheckedOutTo += new vlnTreeViewEvent(tv_ProcedureCheckedOutTo);
|
||||
tv.ViewPDF += new vlnTreeViewPdfEvent(tv_ViewPDF);
|
||||
|
||||
//tv.SelectAnnotations += new (tv_SelectAnnotations);
|
||||
mschill marked this conversation as resolved
Outdated
mschill
commented
unless reason for keeping the commented out code (should be explained in the comments) --- commented out code shouldn't be checked in? unless reason for keeping the commented out code (should be explained in the comments) --- commented out code shouldn't be checked in?
|
||||
displayApplicability.ApplicabilityViewModeChanged += new DisplayApplicability.DisplayApplicabilityEvent(displayApplicability_ApplicabilityViewModeChanged);
|
||||
|
||||
tv.ExportImportProcedureSets += new vlnTreeViewEvent(tv_ExportImportProcedureSets);
|
||||
@ -1296,7 +1296,38 @@ namespace VEPROMS
|
||||
|
||||
pi.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
|
||||
}
|
||||
//void tv_SelectAnnotations(object sender, vlnTreeEventArgs args)
|
||||
mschill marked this conversation as resolved
mschill
commented
unless reason for keeping the commented out code (should be explained in the comments) --- commented out code shouldn't be checked in? (this would be throughout this file) unless reason for keeping the commented out code (should be explained in the comments) --- commented out code shouldn't be checked in?
(this would be throughout this file)
|
||||
//{
|
||||
// ProcedureInfo pi = (args.Node as VETreeNode).VEObject as ProcedureInfo;
|
||||
// if (pi == null) return;
|
||||
|
||||
// tc.SaveCurrentEditItem(pi);
|
||||
|
||||
// //pi.MyDocVersion.DocVersionConfig.SelectedSlave = args.UnitIndex;
|
||||
|
||||
// DlgAnnotationsSelect sannoDlg = new DlgAnnotationsSelect(pi, MyUserInfo.UserID);
|
||||
// //sannoDlg.SelectedSlave = args.UnitIndex;
|
||||
// //sannoDlg.MySessionInfo = MySessionInfo;
|
||||
// sannoDlg.ShowDialog(this); // RHM 20120925 - Center dialog over PROMS window
|
||||
|
||||
// //pi.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
|
||||
//}
|
||||
public static void tv_SelectAnnotations()
|
||||
{
|
||||
//ProcedureInfo pi = (args.Node as VETreeNode).VEObject as ProcedureInfo;
|
||||
//if (pi == null) return;
|
||||
|
||||
//tc.SaveCurrentEditItem(pi);
|
||||
|
||||
//pi.MyDocVersion.DocVersionConfig.SelectedSlave = args.UnitIndex;
|
||||
|
||||
DlgAnnotationsSelect sannoDlg = new DlgAnnotationsSelect(VlnSettings.UserID);
|
||||
//sannoDlg.SelectedSlave = args.UnitIndex;
|
||||
//sannoDlg.MySessionInfo = MySessionInfo;
|
||||
sannoDlg.ShowDialog(); // RHM 20120925 - Center dialog over PROMS window
|
||||
|
||||
//pi.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
|
||||
}
|
||||
void tv_CreateTimeCriticalActionSummary(object sender, vlnTreeEventArgs args)
|
||||
{
|
||||
DialogResult dr = System.Windows.Forms.DialogResult.Yes;
|
||||
|
@ -206,7 +206,7 @@ namespace VEPROMS.CSLA.Library
|
||||
public partial class AnnotationAuditInfoListPropertyDescriptor : vlnListPropertyDescriptor
|
||||
{
|
||||
private AnnotationAuditInfo Item { get { return (AnnotationAuditInfo)_Item; } }
|
||||
public AnnotationAuditInfoListPropertyDescriptor(AnnotationAuditInfoList collection, int index) : base(collection, index) { ;}
|
||||
mschill marked this conversation as resolved
Outdated
mschill
commented
Not sure I understand why this change was made? / It appears to be the only change to the file? Not sure I understand why this change was made? / It appears to be the only change to the file?
jjenko
commented
If you want to keep commented out code, you should a comment explaining why to keep it If you want to keep commented out code, you should a comment explaining why to keep it
plarsen
commented
a space was switched at the end of line 209. It is the same code as before. Not sure why that change is there because I did not make it. Before: public AnnotationAuditInfoListPropertyDescriptor(AnnotationAuditInfoList collection, int index) : base(collection, index) { ;} After: public AnnotationAuditInfoListPropertyDescriptor(AnnotationAuditInfoList collection, int index) : base(collection, index) {; } a space was switched at the end of line 209. It is the same code as before. Not sure why that change is there because I did not make it.
Before: public AnnotationAuditInfoListPropertyDescriptor(AnnotationAuditInfoList collection, int index) : base(collection, index) { ;}
After: public AnnotationAuditInfoListPropertyDescriptor(AnnotationAuditInfoList collection, int index) : base(collection, index) {; }
|
||||
public AnnotationAuditInfoListPropertyDescriptor(AnnotationAuditInfoList collection, int index) : base(collection, index) {; }
|
||||
}
|
||||
#endregion
|
||||
#region Converter
|
||||
|
@ -0,0 +1,226 @@
|
||||
// ========================================================================
|
||||
mschill marked this conversation as resolved
Outdated
mschill
commented
Not sure I understand why a _bak file was created and is being checked in for this? Not sure I understand why a _bak file was created and is being checked in for this?
plarsen
commented
Not sure how this got in GIT. It is no long in the project or on the file system. Not sure how this got in GIT. It is no long in the project or on the file system.
plarsen
commented
Sorry I see the file now. I will remove it. Sorry I see the file now. I will remove it.
plarsen
commented
Then odd thing is that I removed it from the project, but it got included in the pull request. Then odd thing is that I removed it from the project, but it got included in the pull request.
|
||||
// Copyright 2007 - Volian Enterprises, Inc. All rights reserved.
|
||||
// Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||
// ------------------------------------------------------------------------
|
||||
// $Workfile: $ $Revision: $
|
||||
// $Author: $ $Date: $
|
||||
//
|
||||
// $History: $
|
||||
// ========================================================================
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using Csla;
|
||||
using Csla.Data;
|
||||
using System.Configuration;
|
||||
using System.IO;
|
||||
using System.ComponentModel;
|
||||
using System.Collections.Generic;
|
||||
namespace VEPROMS.CSLA.Library
|
||||
{
|
||||
/// <summary>
|
||||
/// AnnotationAuditInfoList Generated by MyGeneration using the CSLA Object Mapping template
|
||||
/// </summary>
|
||||
[Serializable()]
|
||||
[TypeConverter(typeof(AnnotationAuditInfoListConverter))]
|
||||
public partial class AnnotationAuditInfoList : ReadOnlyListBase<AnnotationAuditInfoList, AnnotationAuditInfo>, ICustomTypeDescriptor, IDisposable
|
||||
{
|
||||
#region Log4Net
|
||||
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
||||
#endregion
|
||||
#region Business Methods
|
||||
internal new IList<AnnotationAuditInfo> Items
|
||||
{ get { return base.Items; } }
|
||||
public void AddEvents()
|
||||
{
|
||||
foreach (AnnotationAuditInfo tmp in this)
|
||||
{
|
||||
tmp.Changed += new AnnotationAuditInfoEvent(tmp_Changed);
|
||||
}
|
||||
}
|
||||
void tmp_Changed(object sender)
|
||||
{
|
||||
for (int i = 0; i < Count; i++)
|
||||
{
|
||||
if (base[i] == sender)
|
||||
this.OnListChanged(new ListChangedEventArgs(ListChangedType.ItemChanged, i));
|
||||
}
|
||||
}
|
||||
private bool _Disposed = false;
|
||||
private static int _CountCreated = 0;
|
||||
private static int _CountDisposed = 0;
|
||||
private static int _CountFinalized = 0;
|
||||
private static int IncrementCountCreated
|
||||
{ get { return ++_CountCreated; } }
|
||||
private int _CountWhenCreated = IncrementCountCreated;
|
||||
public static int CountCreated
|
||||
{ get { return _CountCreated; } }
|
||||
public static int CountNotDisposed
|
||||
{ get { return _CountCreated - _CountDisposed; } }
|
||||
public static int CountNotFinalized
|
||||
{ get { return _CountCreated - _CountFinalized; } }
|
||||
~AnnotationAuditInfoList()
|
||||
{
|
||||
_CountFinalized++;
|
||||
}
|
||||
public void Dispose()
|
||||
{
|
||||
if (_Disposed) return;
|
||||
_CountDisposed++;
|
||||
_Disposed = true;
|
||||
foreach (AnnotationAuditInfo tmp in this)
|
||||
{
|
||||
tmp.Changed -= new AnnotationAuditInfoEvent(tmp_Changed);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
#region Factory Methods
|
||||
public static AnnotationAuditInfoList _AnnotationAuditInfoList = null;
|
||||
/// <summary>
|
||||
/// Return a list of all AnnotationAuditInfo.
|
||||
/// </summary>
|
||||
public static AnnotationAuditInfoList Get()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (_AnnotationAuditInfoList != null)
|
||||
return _AnnotationAuditInfoList;
|
||||
AnnotationAuditInfoList tmp = DataPortal.Fetch<AnnotationAuditInfoList>();
|
||||
AnnotationAuditInfo.AddList(tmp);
|
||||
tmp.AddEvents();
|
||||
_AnnotationAuditInfoList = tmp;
|
||||
return tmp;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new DbCslaException("Error on AnnotationAuditInfoList.Get", ex);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Reset the list of all AnnotationAuditInfo.
|
||||
/// </summary>
|
||||
public static void Reset()
|
||||
{
|
||||
_AnnotationAuditInfoList = null;
|
||||
}
|
||||
// CSLATODO: Add alternative gets -
|
||||
//public static AnnotationAuditInfoList Get(<criteria>)
|
||||
//{
|
||||
// try
|
||||
// {
|
||||
// return DataPortal.Fetch<AnnotationAuditInfoList>(new FilteredCriteria(<criteria>));
|
||||
// }
|
||||
// catch (Exception ex)
|
||||
// {
|
||||
// throw new DbCslaException("Error on AnnotationAuditInfoList.Get", ex);
|
||||
// }
|
||||
//}
|
||||
private AnnotationAuditInfoList()
|
||||
{ /* require use of factory methods */ }
|
||||
#endregion
|
||||
#region Data Access Portal
|
||||
private void DataPortal_Fetch()
|
||||
{
|
||||
this.RaiseListChangedEvents = false;
|
||||
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] AnnotationAuditInfoList.DataPortal_Fetch", GetHashCode());
|
||||
try
|
||||
{
|
||||
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||
{
|
||||
using (SqlCommand cm = cn.CreateCommand())
|
||||
{
|
||||
cm.CommandType = CommandType.StoredProcedure;
|
||||
cm.CommandText = "getAnnotationAudits";
|
||||
cm.CommandTimeout = Database.DefaultTimeout;
|
||||
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
||||
{
|
||||
IsReadOnly = false;
|
||||
while (dr.Read()) this.Add(new AnnotationAuditInfo(dr));
|
||||
IsReadOnly = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (_MyLog.IsErrorEnabled) _MyLog.Error("AnnotationAuditInfoList.DataPortal_Fetch", ex);
|
||||
throw new DbCslaException("AnnotationAuditInfoList.DataPortal_Fetch", ex);
|
||||
}
|
||||
this.RaiseListChangedEvents = true;
|
||||
}
|
||||
#endregion
|
||||
#region ICustomTypeDescriptor impl
|
||||
public String GetClassName()
|
||||
{ return TypeDescriptor.GetClassName(this, true); }
|
||||
public AttributeCollection GetAttributes()
|
||||
{ return TypeDescriptor.GetAttributes(this, true); }
|
||||
public String GetComponentName()
|
||||
{ return TypeDescriptor.GetComponentName(this, true); }
|
||||
public TypeConverter GetConverter()
|
||||
{ return TypeDescriptor.GetConverter(this, true); }
|
||||
public EventDescriptor GetDefaultEvent()
|
||||
{ return TypeDescriptor.GetDefaultEvent(this, true); }
|
||||
public PropertyDescriptor GetDefaultProperty()
|
||||
{ return TypeDescriptor.GetDefaultProperty(this, true); }
|
||||
public object GetEditor(Type editorBaseType)
|
||||
{ return TypeDescriptor.GetEditor(this, editorBaseType, true); }
|
||||
public EventDescriptorCollection GetEvents(Attribute[] attributes)
|
||||
{ return TypeDescriptor.GetEvents(this, attributes, true); }
|
||||
public EventDescriptorCollection GetEvents()
|
||||
{ return TypeDescriptor.GetEvents(this, true); }
|
||||
public object GetPropertyOwner(PropertyDescriptor pd)
|
||||
{ return this; }
|
||||
/// <summary>
|
||||
/// Called to get the properties of this type. Returns properties with certain
|
||||
/// attributes. this restriction is not implemented here.
|
||||
/// </summary>
|
||||
/// <param name="attributes"></param>
|
||||
/// <returns></returns>
|
||||
public PropertyDescriptorCollection GetProperties(Attribute[] attributes)
|
||||
{ return GetProperties(); }
|
||||
/// <summary>
|
||||
/// Called to get the properties of this type.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public PropertyDescriptorCollection GetProperties()
|
||||
{
|
||||
// Create a collection object to hold property descriptors
|
||||
PropertyDescriptorCollection pds = new PropertyDescriptorCollection(null);
|
||||
// Iterate the list
|
||||
for (int i = 0; i < this.Items.Count; i++)
|
||||
{
|
||||
// Create a property descriptor for the item and add to the property descriptor collection
|
||||
AnnotationAuditInfoListPropertyDescriptor pd = new AnnotationAuditInfoListPropertyDescriptor(this, i);
|
||||
pds.Add(pd);
|
||||
}
|
||||
// return the property descriptor collection
|
||||
return pds;
|
||||
}
|
||||
#endregion
|
||||
} // Class
|
||||
#region Property Descriptor
|
||||
/// <summary>
|
||||
/// Summary description for CollectionPropertyDescriptor.
|
||||
/// </summary>
|
||||
public partial class AnnotationAuditInfoListPropertyDescriptor : vlnListPropertyDescriptor
|
||||
{
|
||||
private AnnotationAuditInfo Item { get { return (AnnotationAuditInfo)_Item; } }
|
||||
public AnnotationAuditInfoListPropertyDescriptor(AnnotationAuditInfoList collection, int index) : base(collection, index) { ;}
|
||||
}
|
||||
#endregion
|
||||
#region Converter
|
||||
internal class AnnotationAuditInfoListConverter : ExpandableObjectConverter
|
||||
{
|
||||
public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destType)
|
||||
{
|
||||
if (destType == typeof(string) && value is AnnotationAuditInfoList)
|
||||
{
|
||||
// Return department and department role separated by comma.
|
||||
return ((AnnotationAuditInfoList)value).Items.Count.ToString() + " AnnotationAudits";
|
||||
}
|
||||
return base.ConvertTo(context, culture, value, destType);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
} // Namespace
|
463
PROMS/VEPROMS.CSLA.Library/Minimal/AnnotationstypeSections.cs
Normal file
@ -0,0 +1,463 @@
|
||||
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.
|
||||
mschill marked this conversation as resolved
Outdated
mschill
commented
Just to double check ---- Since there are many annotation screens, should we be more specific / say this is related to Annotation type filtering through V->Options? Just to double check ---- Since there are many annotation screens, should we be more specific / say this is related to Annotation type filtering through V->Options?
|
||||
|
||||
namespace VEPROMS.CSLA.Library
|
||||
{
|
||||
public class AnnotationstypeSelections
|
||||
{
|
||||
public static DataTable Get(string UserID, int ItemID)
|
||||
{
|
||||
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);
|
||||
// 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>());
|
||||
mschill
commented
commented out code should be removed or reason given for why it is commented out / should be in the code long term. commented out code should be removed or reason given for why it is commented out / should be in the code long term.
|
||||
//DataPortal.Fetch<AnnotationTypeInfoList>();
|
||||
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["ItemID"] = ItemID;
|
||||
row["Name"] = annosel.Name;
|
||||
row["Config"] = annosel.Config;
|
||||
row["DTS"] = annosel.DTS;
|
||||
row["UserID"] = annosel.UserID;
|
||||
row["IsEPAnnotationType"] = annosel.IsEPAnnotationType;
|
||||
dt.Rows.Add(row);
|
||||
}
|
||||
|
||||
//row = dt.NewRow();
|
||||
mschill marked this conversation as resolved
mschill
commented
unless reason for keeping the commented out code --- commented out code shouldn't be checked in? (this would be throughout this file) unless reason for keeping the commented out code --- commented out code shouldn't be checked in?
(this would be throughout this file)
plarsen
commented
I removed the commented code. I removed the commented code.
|
||||
//row["TypeID"] = annosel.TypeID;
|
||||
//row["ItemID"] = ItemID;
|
||||
//row["Name"] = annosel.Name;
|
||||
//row["Config"] = annosel.Config;
|
||||
//row["DTS"] = annosel.DTS;
|
||||
//row["UserID"] = annosel.UserID;
|
||||
//row["IsEPAnnotationType"] = annosel.IsEPAnnotationType;
|
||||
|
||||
//dt.Rows.Add(row);
|
||||
|
||||
//dt.Rows.Add(0,annosel.TypeID, ItemID, annosel.Name, annosel.Config, annosel.DTS, annosel.UserID, 0x0000000000000000, annosel.IsEPAnnotationType);
|
||||
};
|
||||
}
|
||||
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(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 AnnotationTypeInfoList AnnotationSelectByItem(int itemID)
|
||||
{
|
||||
try
|
||||
{
|
||||
//if (_AnnotationTypeInfoList != null)
|
||||
// return _AnnotationTypeInfoList;
|
||||
AnnotationTypeInfoList tmp = (AnnotationTypeInfoList)DataPortal.Fetch(new AnnotationSelectByItemIDCriteria(itemID));
|
||||
if (tmp.Count < 1)
|
||||
{
|
||||
tmp = DataPortal.Fetch<AnnotationTypeInfoList>();
|
||||
}
|
||||
AnnotationTypeInfo.AddList(tmp);
|
||||
tmp.AddEvents();
|
||||
return tmp;
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new DbCslaException("Error on AnnotationTypeInfoList.Get", ex);
|
||||
}
|
||||
}
|
||||
private int _TypeID;
|
||||
mschill marked this conversation as resolved
Outdated
mschill
commented
might be missing something ---- but Not sure I am understanding why these are compile time --- i.e. System.Runtime.CompilerServices.MethodImpl seams like these would be class specific & if they are, should the methods that reference these not be "static" / i.e. could you end up with strange behavior if those methods are called multiple times (multiple users/open windows of the program)? ---- again, may not be the case, but figured I would double check? might be missing something ---- but Not sure I am understanding why these are compile time --- i.e. System.Runtime.CompilerServices.MethodImpl
seams like these would be class specific & if they are, should the methods that reference these not be "static" / i.e. could you end up with strange behavior if those methods are called multiple times (multiple users/open windows of the program)? ---- again, may not be the case, but figured I would double check?
plarsen
commented
This code was borrowed code that is not being used. I may take it out. I have it in the file when I tried to use CSLA DataPortal_Fetch. I have run into too many problems trying to use CSLA. I will give it another try. This code was borrowed code that is not being used. I may take it out. I have it in the file when I tried to use CSLA DataPortal_Fetch. I have run into too many problems trying to use CSLA. I will give it another try.
plarsen
commented
I will remove it. I was initially trying CSLA, but CSLA is not easy to work with. I do not want to waste time to get CSLA to work on minor data requests. I will remove it. I was initially trying CSLA, but CSLA is not easy to work with. I do not want to waste time to get CSLA to work on minor data requests.
mschill
commented
I would recommend either it should follow CSLA or it should notmainly for 2 reasons:
I would recommend either it should follow CSLA or it should notmainly for 2 reasons:
1. if it half follows CSLA, then we could run into problems down the line if we upgrade CSLA or replace it with something else
2. CSLA is a little more bulky / heavy on memory / caching and other things ---- so if we aren't using it for DB access, then (unless there is a specific reason) why introduce the extra overhead.
|
||||
[System.ComponentModel.DataObjectField(true, true)]
|
||||
public int TypeID
|
||||
{
|
||||
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
|
||||
get
|
||||
{
|
||||
return _TypeID;
|
||||
}
|
||||
}
|
||||
private int _ItemID;
|
||||
[System.ComponentModel.DataObjectField(true, true)]
|
||||
public int ItemID
|
||||
{
|
||||
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
|
||||
get
|
||||
{
|
||||
return _ItemID;
|
||||
}
|
||||
}
|
||||
private string _Name = string.Empty;
|
||||
public string Name
|
||||
{
|
||||
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
|
||||
get
|
||||
{
|
||||
return _Name;
|
||||
}
|
||||
}
|
||||
private string _Config = string.Empty;
|
||||
public string Config
|
||||
{
|
||||
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
|
||||
get
|
||||
{
|
||||
return _Config;
|
||||
}
|
||||
}
|
||||
private DateTime _DTS = new DateTime();
|
||||
public DateTime DTS
|
||||
{
|
||||
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
|
||||
get
|
||||
{
|
||||
return _DTS;
|
||||
}
|
||||
}
|
||||
private string _UserID = string.Empty;
|
||||
public string UserID
|
||||
{
|
||||
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
|
||||
get
|
||||
{
|
||||
return _UserID;
|
||||
}
|
||||
}
|
||||
private int _AnnotationTypeAnnotationCount = 0;
|
||||
public int AnnotationTypeAnnotationCount
|
||||
{
|
||||
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
|
||||
get
|
||||
{
|
||||
return _AnnotationTypeAnnotationCount;
|
||||
}
|
||||
}
|
||||
//C2025-023 - Electronic Procedures - Modifications to PROMS
|
||||
// Is Annotation Type an EP Annotation?
|
||||
private bool _IsEPAnnotationType = false;
|
||||
public bool IsEPAnnotationType
|
||||
{
|
||||
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
|
||||
get
|
||||
{
|
||||
return _IsEPAnnotationType;
|
||||
}
|
||||
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
|
||||
set
|
||||
{
|
||||
if (_IsEPAnnotationType != value)
|
||||
{
|
||||
_IsEPAnnotationType = value;
|
||||
//PropertyHasChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#region Log4Net
|
||||
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
||||
#endregion
|
||||
private string _ErrorMessage = string.Empty;
|
||||
public string ErrorMessage
|
||||
{
|
||||
get { return _ErrorMessage; }
|
||||
}
|
||||
[Serializable()]
|
||||
protected class retrieveAnnotSelections
|
||||
{
|
||||
private int _itemID;
|
||||
public int itemID { get { return _itemID; } }
|
||||
|
||||
public retrieveAnnotSelections(int itemID)
|
||||
{
|
||||
_itemID = itemID;
|
||||
}
|
||||
}
|
||||
[Serializable()]
|
||||
public class retrieveAnnotSelectionsList
|
||||
{
|
||||
private int _TypeID;
|
||||
public int TypeID
|
||||
{
|
||||
get { return _TypeID; }
|
||||
set { _TypeID = value; }
|
||||
}
|
||||
private int _ItemID;
|
||||
public int ItemID
|
||||
{
|
||||
get { return _ItemID; }
|
||||
set { _ItemID = value; }
|
||||
}
|
||||
private string _Name;
|
||||
public string Name
|
||||
{
|
||||
get { return _Name; }
|
||||
set { _Name = value; }
|
||||
}
|
||||
private string _Config;
|
||||
public string Config
|
||||
{
|
||||
get { return _Config; }
|
||||
set { _Config = value; }
|
||||
}
|
||||
private DateTime _DTS;
|
||||
public DateTime DTS
|
||||
{
|
||||
get { return _DTS; }
|
||||
set { _DTS = value; }
|
||||
}
|
||||
private string _UserID;
|
||||
public string UserID
|
||||
{
|
||||
get { return _UserID; }
|
||||
set { _UserID = value; }
|
||||
}
|
||||
private bool _IsEPAnnotationType;
|
||||
public bool IsEPAnnotationType
|
||||
{
|
||||
get { return _IsEPAnnotationType; }
|
||||
set { _IsEPAnnotationType = value; }
|
||||
}
|
||||
private string _ErrorMessage = string.Empty;
|
||||
public string ErrorMessage
|
||||
{
|
||||
get { return _ErrorMessage; }
|
||||
}
|
||||
}
|
||||
|
||||
private void DataPortal_Fetch(retrieveAnnotSelections criteria)
|
||||
mschill marked this conversation as resolved
Outdated
mschill
commented
may be missing something .... but if we are doing a "minimal" implementation --- i.e. not using csla (using sqlconnection and createcommand) for DB access, is there a reason we are using csla's DataPortal_Fetch? may be missing something .... but if we are doing a "minimal" implementation --- i.e. not using csla (using sqlconnection and createcommand) for DB access, is there a reason we are using csla's DataPortal_Fetch?
|
||||
{
|
||||
try
|
||||
{
|
||||
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||
{
|
||||
using (SqlCommand cm = cn.CreateCommand())
|
||||
{
|
||||
cm.CommandType = CommandType.StoredProcedure;
|
||||
cm.CommandText = "getAnnotationstypeSelections";
|
||||
cm.CommandTimeout = Database.DefaultTimeout;
|
||||
cm.Parameters.AddWithValue("@itemID", criteria.itemID);
|
||||
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
||||
{
|
||||
if (!dr.Read())
|
||||
{
|
||||
_ErrorMessage = "No Record Found";
|
||||
return;
|
||||
}
|
||||
ReadData(dr);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (_MyLog.IsErrorEnabled) _MyLog.Error("retrieveAnnotSelectionsList.DataPortal_Fetch", ex);
|
||||
throw new DbCslaException("retrieveAnnotSelectionsList.DataPortal_Fetch", ex);
|
||||
}
|
||||
//this.RaiseListChangedEvents = true;
|
||||
}
|
||||
[Serializable()]
|
||||
protected class AnnotationSelectByItemIDCriteria
|
||||
{
|
||||
private int _itemID;
|
||||
public int ItemID
|
||||
{ get { return _itemID; } }
|
||||
|
||||
public AnnotationSelectByItemIDCriteria(int itemID)
|
||||
{
|
||||
_itemID = itemID;
|
||||
}
|
||||
}
|
||||
private void DataPortal_Fetch(AnnotationSelectByItemIDCriteria criteria)
|
||||
mschill marked this conversation as resolved
Outdated
mschill
commented
may be missing something .... but if we are doing a "minimal" implementation --- i.e. not using csla (using sqlconnection and createcommand) for DB access, is there a reason we are using csla's DataPortal_Fetch? may be missing something .... but if we are doing a "minimal" implementation --- i.e. not using csla (using sqlconnection and createcommand) for DB access, is there a reason we are using csla's DataPortal_Fetch?
plarsen
commented
I will remove it. I was initially trying CSLA, but CSLA is not easy to work with. I do not want to waste time to get CSLA to work on minor data requests. I will remove it. I was initially trying CSLA, but CSLA is not easy to work with. I do not want to waste time to get CSLA to work on minor data requests.
|
||||
{
|
||||
//this.RaiseListChangedEvents = false;
|
||||
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] AnnotationTypeInfoList.DataPortal_Fetch", GetHashCode());
|
||||
try
|
||||
{
|
||||
using (SqlConnection cn = Database.VEPROMS_SqlConnection)
|
||||
{
|
||||
using (SqlCommand cm = cn.CreateCommand())
|
||||
{
|
||||
cm.CommandType = CommandType.StoredProcedure;
|
||||
cm.CommandText = "getAnnotationTypes2";
|
||||
cm.Parameters.AddWithValue("@itemID", criteria.ItemID);
|
||||
cm.CommandTimeout = Database.DefaultTimeout;
|
||||
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
|
||||
{
|
||||
//IsReadOnly = false;
|
||||
//while (dr.Read()) this.Add(new AnnotationTypeInfo(dr));
|
||||
//IsReadOnly = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (_MyLog.IsErrorEnabled) _MyLog.Error("AnnotationTypeInfoList.DataPortal_Fetch", ex);
|
||||
throw new DbCslaException("AnnotationTypeInfoList.DataPortal_Fetch", ex);
|
||||
}
|
||||
//this.RaiseListChangedEvents = true;
|
||||
}
|
||||
|
||||
private void ReadData(SafeDataReader dr)
|
||||
{
|
||||
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] retrieveAnnotSelectionsList.ReadData", GetHashCode());
|
||||
try
|
||||
{
|
||||
_TypeID = dr.GetInt32("TypeID");
|
||||
_ItemID = dr.GetInt32("ItemID");
|
||||
_Name = dr.GetString("Name");
|
||||
_Config = dr.GetString("Config");
|
||||
_DTS = dr.GetDateTime("DTS");
|
||||
_UserID = dr.GetString("UserID");
|
||||
_AnnotationTypeAnnotationCount = dr.GetInt32("AnnotationCount");
|
||||
if (dr.GetSchemaTable().Rows.OfType<DataRow>().Any(row => row["ColumnName"].ToString() == "IsEPAnnotationType"))
|
||||
_IsEPAnnotationType = (bool)dr.GetValue("IsEPAnnotationType");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (_MyLog.IsErrorEnabled) _MyLog.Error("retrieveAnnotSelectionsList.ReadData", ex);
|
||||
_ErrorMessage = ex.Message;
|
||||
throw new DbCslaException("retrieveAnnotSelectionsList.ReadData", ex);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -387,6 +387,7 @@
|
||||
<Compile Include="Generated\ZContentInfo.cs" />
|
||||
<Compile Include="Generated\ZTransition.cs" />
|
||||
<Compile Include="Generated\ZTransitionInfo.cs" />
|
||||
<Compile Include="Minimal\AnnotationstypeSections.cs" />
|
||||
<Compile Include="Minimal\UserSettings.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="VEObjects\VEDrillDown.cs" />
|
||||
|
@ -120,7 +120,14 @@ namespace Volian.Controls.Library
|
||||
if (CurrentItem.MyDocVersion.DocVersionAssociationCount > 0)
|
||||
_ROPath = CurrentItem.MyDocVersion.DocVersionAssociations[0].MyROFst.MyRODb.FolderPath;
|
||||
ProcItem = CurrentItem.MyProcedure;
|
||||
}
|
||||
// C2025-027
|
||||
mschill marked this conversation as resolved
mschill
commented
just to double check - was this intended to be commented out? just to double check - was this intended to be commented out?
mschill
commented
was this (ProcItem = CurrentItem.MyProcedure;) intended to be removed? was this (ProcItem = CurrentItem.MyProcedure;) intended to be removed?
plarsen
commented
Yes it did not work where I moved the code to retrieve selected anno types for the annotation details. Also it was not needed any more. Yes it did not work where I moved the code to retrieve selected anno types for the annotation details. Also it was not needed any more.
mschill
commented
sounds good. Just wanted to double check since this existed before your changes that removing it wasn't going to impact something else. sounds good. Just wanted to double check since this existed before your changes that removing it wasn't going to impact something else.
|
||||
//cbGridAnnoType.DataSource = VEPROMS.CSLA.Library.AnnotationstypeSelections.Get(ProcItem.ItemID);
|
||||
cbGridAnnoType.DataSource = VEPROMS.CSLA.Library.AnnotationstypeSelections.Get(MyUserInfo.UserID, ProcItem.ItemID);
|
||||
mschill marked this conversation as resolved
Outdated
mschill
commented
this is set to a different DataSource in: should this be there/replace that? DisplayMember / ValueMember / etc... is set there - are they the same? which should be the driving DataSource / (what would happen if a discrepancy between the two - for example if all annotation types were filtered out)? this is set to a different DataSource in:
public void SetupAnnotations(DisplaySearch annosrch)
should this be there/replace that?
DisplayMember / ValueMember / etc... is set there - are they the same?
which should be the driving DataSource / (what would happen if a discrepancy between the two - for example if all annotation types were filtered out)?
|
||||
cbGridAnnoType.WatermarkText = "Select Annotation Type";
|
||||
mschill marked this conversation as resolved
Outdated
mschill
commented
commented out code should be removed or reason given for why it is commented out / should be in the code long term. (lines 122-127) commented out code should be removed or reason given for why it is commented out / should be in the code long term. (lines 122-127)
plarsen
commented
Fixed Fixed
|
||||
|
||||
|
||||
|
||||
}
|
||||
public AnnotationInfo FirstExeAnnotation(ItemInfo ii)
|
||||
{
|
||||
if (ii == null) return null;
|
||||
|
@ -573,11 +573,12 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
if (ProcedureCheckedOutTo != null) ProcedureCheckedOutTo(sender, args);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// C2025-027
|
||||
public event vlnTreeViewEvent SelectAnnotations;
|
||||
private void OnSelectAnnotations(object sender, vlnTreeEventArgs args)
|
||||
{
|
||||
if (SelectAnnotations != null) SelectAnnotations(sender, args);
|
||||
}
|
||||
public event vlnTreeViewEvent ExportImportProcedureSets;
|
||||
private void OnExportImportProcedureSets(object sender, vlnTreeEventArgs args)
|
||||
{
|
||||
@ -871,6 +872,8 @@ namespace Volian.Controls.Library
|
||||
MenuItem miqp = new MenuItem("Quick Print");
|
||||
//MenuItem mips = new MenuItem("Print Section");
|
||||
MenuItem mia = new MenuItem("Approve");
|
||||
MenuItem misa = new MenuItem("Select Annotations"); //C2025-027
|
||||
|
||||
int k = 0;
|
||||
foreach (string s in pri.MyDocVersion.UnitNames)
|
||||
{
|
||||
@ -895,12 +898,16 @@ namespace Volian.Controls.Library
|
||||
MenuItem mtc = mitcas.MenuItems.Add(s, new EventHandler(miMultiUnit_Click));
|
||||
mtc.Enabled = procAppl;
|
||||
mtc.Tag = k;
|
||||
MenuItem msa = misa.MenuItems.Add(s, new EventHandler(miMultiUnit_Click));
|
||||
msa.Enabled = procAppl;
|
||||
msa.Tag = k;
|
||||
}
|
||||
cm.MenuItems.Add(micas);
|
||||
cm.MenuItems.Add(mitcas);
|
||||
cm.MenuItems.Add(mip);
|
||||
cm.MenuItems.Add(miqp);
|
||||
//cm.MenuItems.Add(mips);
|
||||
cm.MenuItems.Add(misa);
|
||||
AddShowChangeBarsAfterMenuItem(cm.MenuItems, pri);
|
||||
cm.MenuItems.Add(mia);
|
||||
AddApprovedRevisionsMultiUnit(cm.MenuItems, pri);
|
||||
@ -916,6 +923,7 @@ namespace Volian.Controls.Library
|
||||
AddShowChangeBarsAfterMenuItem(cm.MenuItems, pri);
|
||||
cm.MenuItems.Add("Approve", new EventHandler(mi_Click));
|
||||
//_MyLog.WarnFormat("Context Menu 1 before - {0}", GC.GetTotalMemory(true));
|
||||
cm.MenuItems.Add("Select Annotations", new EventHandler(mi_Click)); //C2025-027
|
||||
AddApprovedRevisions(cm.MenuItems, pri);
|
||||
//_MyLog.WarnFormat("Context Menu 1 after - {0}", GC.GetTotalMemory(true));
|
||||
}
|
||||
@ -928,6 +936,7 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
MenuItem mip = new MenuItem("Print");
|
||||
MenuItem miqp = new MenuItem("Quick Print");
|
||||
MenuItem misa = new MenuItem("Select Annotations"); //C2025-027
|
||||
int k = 0;
|
||||
foreach (string s in pri.MyDocVersion.UnitNames)
|
||||
{
|
||||
@ -936,15 +945,19 @@ namespace Volian.Controls.Library
|
||||
mp.Tag = k;
|
||||
MenuItem mqp = miqp.MenuItems.Add(s, new EventHandler(miMultiUnit_Click));
|
||||
mqp.Tag = k;
|
||||
MenuItem msa = misa.MenuItems.Add(s, new EventHandler(miMultiUnit_Click));
|
||||
msa.Tag = k;
|
||||
}
|
||||
cm.MenuItems.Add(mip);
|
||||
cm.MenuItems.Add(miqp);
|
||||
cm.MenuItems.Add(misa);
|
||||
AddApprovedRevisionsMultiUnit(cm.MenuItems, pri);
|
||||
}
|
||||
else
|
||||
{
|
||||
cm.MenuItems.Add("Print", new EventHandler(mi_Click));
|
||||
cm.MenuItems.Add("Quick Print", new EventHandler(mi_Click));
|
||||
cm.MenuItems.Add("Select Annotations", new EventHandler(mi_Click)); //C2025-027
|
||||
AddApprovedRevisions(cm.MenuItems, pri);
|
||||
}
|
||||
}
|
||||
@ -1936,6 +1949,9 @@ namespace Volian.Controls.Library
|
||||
case "Create Time Critical Action Summary":
|
||||
OnCreateTimeCriticalActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag));
|
||||
break;
|
||||
case "Select Annotations": // C2025-027
|
||||
OnSelectAnnotations(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
|
||||
break;
|
||||
default:
|
||||
if (mip.Text.StartsWith("Showing Change Bars Starting"))
|
||||
OnSelectDateToStartChangeBars(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
|
||||
@ -2241,6 +2257,9 @@ namespace Volian.Controls.Library
|
||||
FlexibleMessageBox.Show("You have copied a document that is NOT linked to an Enhanced Document.\n\n" +
|
||||
"You cannot paste a Non-Enhanced Procedure into an Enhanced Procedure Set.", "Cannot Paste Here");
|
||||
break;
|
||||
case "Select Annotations": // C2025-027
|
||||
OnSelectAnnotations(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
|
||||
break;
|
||||
//case "Check Out Procedure Set":
|
||||
// CheckOutDocVersion(SelectedNode as VETreeNode);
|
||||
// break;
|
||||
|
just to check - is there a reason these 2 items (the id and NameStr) are global variables / should stay in memory while the form is open?
It looks like they are only used in 1 function - update?
I moved them