175 lines
5.1 KiB
C#
175 lines
5.1 KiB
C#
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();
|
|
}
|
|
|
|
// 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)
|
|
{
|
|
DataTable dt2 = coverToTable();
|
|
VEPROMS.CSLA.Library.AnnotationstypeSelections.Update(dt2, UserID);
|
|
}
|
|
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"]));
|
|
}
|
|
}
|
|
|
|
private void btnCancel_Click_1(object sender, EventArgs e)
|
|
{
|
|
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;
|
|
}
|
|
}
|
|
}
|
|
|