C2025-027-AnnotationsTypeSelect
This commit is contained in:
178
PROMS/VEPROMS User Interface/DlgAnnotationsSelect.cs
Normal file
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;
|
||||
string AnnotationNameStr = "";
|
||||
|
||||
public DlgAnnotationsSelect()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public DlgAnnotationsSelect(string userid)
|
||||
{
|
||||
InitializeComponent();
|
||||
//MyItemID = pi.ItemID;
|
||||
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;
|
||||
|
||||
foreach (AnnotataionItem item in lstSelected.Items.OfType<AnnotataionItem>())
|
||||
{
|
||||
lstSelected.DisplayMember = "NameStr";
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user