119 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			119 lines
		
	
	
		
			3.7 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.Windows.Forms;
 | 
						|
using VEPROMS.CSLA.Library;
 | 
						|
using JR.Utils.GUI.Forms;
 | 
						|
 | 
						|
namespace Volian.Controls.Library
 | 
						|
{
 | 
						|
	public partial class dlgEnhMissingItem : Form
 | 
						|
	{
 | 
						|
		StepTabRibbon STRibbon = null;
 | 
						|
		private ItemInfo _SourceItem = null;
 | 
						|
		private int _EnhType = -1;
 | 
						|
		private bool _Initializing = false;
 | 
						|
		public bool OKSelected = false;
 | 
						|
		public dlgEnhMissingItem(StepTabRibbon strbn, ItemInfo srcItem, int enhType)
 | 
						|
		{
 | 
						|
			_Initializing = true;
 | 
						|
			_SourceItem = srcItem;
 | 
						|
			_EnhType = enhType;
 | 
						|
			InitializeComponent();
 | 
						|
			STRibbon = strbn;
 | 
						|
			btnOK.Enabled = true;
 | 
						|
			ItemInfoList iil = ItemInfoList.GetListEnhancedForMissing(srcItem, enhType);
 | 
						|
			// if none found, only can do 'create'
 | 
						|
			if (iil == null || iil.Count == 0)
 | 
						|
			{
 | 
						|
				rbLinkToExisting.Enabled = false;
 | 
						|
				cbUnlinkedEnhancedItems.Enabled = false;
 | 
						|
			}
 | 
						|
			else
 | 
						|
			{
 | 
						|
				rbLinkToExisting.Enabled = true;
 | 
						|
				cbUnlinkedEnhancedItems.DataSource = iil;
 | 
						|
				cbUnlinkedEnhancedItems.SelectedIndex = -1;
 | 
						|
				cbUnlinkedEnhancedItems.Enabled = false;
 | 
						|
			}
 | 
						|
			if (srcItem.IsProcedure) this.Text = "Create Missing Enhanced Item for " + srcItem.DisplayNumber;
 | 
						|
			else this.Text = "Create Missing Enhanced Item";
 | 
						|
			_Initializing = false;
 | 
						|
		}
 | 
						|
 | 
						|
		private void btnOK_Click(object sender, EventArgs e)
 | 
						|
		{
 | 
						|
			if (rbCreateNew.Checked)
 | 
						|
			{
 | 
						|
				STRibbon.enhUseExist = null;
 | 
						|
				STRibbon.enhDoConv = false;
 | 
						|
			}
 | 
						|
			else
 | 
						|
			{
 | 
						|
				ItemInfo ii = cbUnlinkedEnhancedItems.SelectedItem as ItemInfo;
 | 
						|
				STRibbon.enhUseExist = ii;
 | 
						|
			}
 | 
						|
			OKSelected = true;
 | 
						|
			this.Close();
 | 
						|
		}
 | 
						|
 | 
						|
		private void rbLinkToExisting_CheckedChanged(object sender, EventArgs e)
 | 
						|
		{
 | 
						|
			if (rbLinkToExisting.Checked)
 | 
						|
			{
 | 
						|
				cbUnlinkedEnhancedItems.Enabled = true;
 | 
						|
				cbUnlinkedEnhancedItems.SelectedIndex = -1;
 | 
						|
				btnOK.Enabled = false;    // disable until user selects an item from combobox
 | 
						|
			}
 | 
						|
			else
 | 
						|
				cbUnlinkedEnhancedItems.Enabled = false;
 | 
						|
		}
 | 
						|
 | 
						|
		private void rbCreateNew_CheckedChanged(object sender, EventArgs e)
 | 
						|
		{
 | 
						|
			if (rbCreateNew.Checked) btnOK.Enabled = true;
 | 
						|
		}
 | 
						|
		private void cbUnlinkedEnhancedItems_SelectedIndexChanged(object sender, EventArgs e)
 | 
						|
		{
 | 
						|
			if (_Initializing) return;
 | 
						|
			// cbUnlinkedEnhancedItems combo box has a list of all items in the enhanced document
 | 
						|
			// that can be linked to from this item.
 | 
						|
			btnOK.Enabled = true;
 | 
						|
			STRibbon.enhDoConv = false;
 | 
						|
			// if on a procedure, take the selected enhanced procedure & see if there are non-procedure items 
 | 
						|
			// within it that can be linked based on old 16 bit data.  If no sections/steps are returned, only the 
 | 
						|
			// procedure can be linked so it really isn't a match.  Otherwise, prompt user to see if they want to
 | 
						|
			// convert the data.  If so, convert all items within it that can be linked. If not, just link as before.
 | 
						|
			if (_SourceItem.IsProcedure)
 | 
						|
			{
 | 
						|
				ItemInfo ii = cbUnlinkedEnhancedItems.SelectedItem as ItemInfo;
 | 
						|
				if (ii == null) return;
 | 
						|
				ContentInfoList cil = ContentInfoList.Get16BitEnhancedContents(_SourceItem.ItemID, ii.ItemID, _EnhType);
 | 
						|
				bool foundSubItem = false;	// in returned list, see if there are any sections/steps.  If none, don't prompt
 | 
						|
				foreach (ContentInfo ci in cil)
 | 
						|
				{
 | 
						|
					if (ci.Type >= 10000)
 | 
						|
					{
 | 
						|
						foundSubItem = true;
 | 
						|
						break;
 | 
						|
					}
 | 
						|
				}
 | 
						|
				if (foundSubItem)
 | 
						|
				{
 | 
						|
					DialogResult dr = FlexibleMessageBox.Show("The procedure that is selected has enhanced data.  Do you want to convert it (this will link any section/steps that can be linked)?", "Enhanced Links", MessageBoxButtons.YesNo);
 | 
						|
					if (dr == DialogResult.Yes)
 | 
						|
					{
 | 
						|
						STRibbon.enhUseExist = ii;
 | 
						|
						STRibbon.enhDoConv = true;
 | 
						|
						btnOK_Click(sender, e);   
 | 
						|
					}
 | 
						|
				}
 | 
						|
			}
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 |