178 lines
5.4 KiB
C#
178 lines
5.4 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
|
|
{
|
|
//int AnnotationTypeID;
|
|
//string AnnotationNameStr = "";
|
|
|
|
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)
|
|
{
|
|
int AnnotationTypeID;
|
|
string AnnotationNameStr = "";
|
|
// dltFlg flag is used to notify SQL SP to deleted all the entries for the user before entering the annotation type selections.
|
|
int dltFlg = 1;
|
|
|
|
foreach (AnnotataionItem item in lstSelected.Items.OfType<AnnotataionItem>())
|
|
{
|
|
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();
|
|
}
|
|
}
|
|
}
|
|
|