public static AssessmentItem ShowAndReturnObject(List<Criteria> available)
        {
            var dlg = new FrmAddAssessmentItem();

            dlg._available = available;

            /*dlg._availableCriteria = new ListBox.ObjectCollection(dlg.lstAvailableCriteria);
            dlg._availableCriteria.Add( available.First() );
            dlg._availableCriteria.Add( "Test" );*/

            dlg.Redraw();

            //dlg._availableCriteria.AddRange( dlg._available.Select ( x => (object) x).ToArray() );

            dlg._selectedCriteria = new ListBox.ObjectCollection(dlg.lstSelectedCriteria);

            // loop in case we need to validate later
            while (true)
            {
                DialogResult ans = dlg.ShowDialog();

                if (ans == DialogResult.OK)
                {
                    if (dlg.txtName.Text.Length <= 0)
                    {
                        MessageBox.Show("You must enter a name.", "Error");
                        continue;
                    }

                    if (dlg.lstSelectedCriteria.Items.Count < 1)
                    {
                        MessageBox.Show("You must select at least one criteria.", "Error");
                        continue;
                    }

                    AssessmentItem crit = new AssessmentItem
                    {
                        Name = dlg.txtName.Text,
                        Criterion = dlg._selected,
                    };

                    return crit;
                }

                return null;
            }
        }
 public bool InsertAssessmentItem( AssessmentItem ai )
 {
     RawQuery( ai.AddQuery );
     return true;
 }
 /// <summary>
 /// Equalses the specified p.
 /// </summary>
 /// <param name="p">The p.</param>
 /// <returns></returns>
 public bool Equals(AssessmentItem p)
 {
     return Id == p.Id;
 }