294 lines
		
	
	
		
			7.8 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			294 lines
		
	
	
		
			7.8 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| /*********************************************************************************************
 | |
|  * Copyright 2005 - Volian Enterprises, Inc. All rights reserved.
 | |
|  * Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
 | |
|  * ------------------------------------------------------------------------------
 | |
|  * $Workfile: AppConflict.cs $     $Revision: 4 $
 | |
|  * $Author: Kathy $   $Date: 8/16/05 2:55p $
 | |
|  *
 | |
|  * $History: AppConflict.cs $
 | |
|  * 
 | |
|  * *****************  Version 4  *****************
 | |
|  * User: Kathy        Date: 8/16/05    Time: 2:55p
 | |
|  * Updated in $/LibSource/VEObject
 | |
|  * B2005-030: error if missing ndx
 | |
|  * 
 | |
|  * *****************  Version 3  *****************
 | |
|  * User: Jsj          Date: 6/02/05    Time: 11:32a
 | |
|  * Updated in $/LibSource/VEObject
 | |
|  * fix for approving with conditional ROs
 | |
|  * 
 | |
|  * *****************  Version 2  *****************
 | |
|  * User: Kathy        Date: 3/22/05    Time: 10:01a
 | |
|  * Updated in $/LibSource/VEObject
 | |
|  * Add procnum to transition message
 | |
|  * 
 | |
|  * *****************  Version 1  *****************
 | |
|  * User: Kathy        Date: 3/08/05    Time: 1:50p
 | |
|  * Created in $/LibSource/VEObject
 | |
|  * Approval
 | |
|  *********************************************************************************************/
 | |
| using System;
 | |
| using System.Text;
 | |
| using System.Collections.Specialized;
 | |
| 
 | |
| namespace VEObject
 | |
| {
 | |
| 	/// <summary>
 | |
| 	/// Summary description for AppConflict.
 | |
| 	/// </summary>
 | |
| 
 | |
| 	public enum AppConflictTypes
 | |
| 	{
 | |
| 		RO=0, Trans=1, LibDoc=2
 | |
| 	};
 | |
| 
 | |
| 	public class AppConflict
 | |
| 	{
 | |
| 		public AppConflictTypes CType;
 | |
| 		public string ProcNum;
 | |
| 		public string SeqNum;
 | |
| 		public VEO_DummySet DummySet;
 | |
| 
 | |
| 		public AppConflict()
 | |
| 		{
 | |
| 		
 | |
| 		}
 | |
| 		public string GetLocStr(string pnum, string snum)
 | |
| 		{
 | |
| 			string locstr=null;
 | |
| 			string secnumtitle = DummySet.GetSectionNumAndTitle(pnum,snum);
 | |
| 			if (snum.Length>1)
 | |
| 			{
 | |
| 				char tmp = System.Convert.ToChar(snum.Substring(1,1));
 | |
| 				string stpnum = System.Convert.ToString(tmp-'0');
 | |
| 				locstr = secnumtitle + " Step " + stpnum;
 | |
| 			}
 | |
| 			else
 | |
| 				locstr = secnumtitle;
 | |
| 			return locstr;
 | |
| 		}
 | |
| 		public virtual StringCollection GetStrForDlg()
 | |
| 		{
 | |
| 			return null;
 | |
| 		}
 | |
| 		public virtual string GetStrForEdit()
 | |
| 		{
 | |
| 			return null;
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	public class AppROConflict : AppConflict
 | |
| 	{
 | |
| 		public string ROID;
 | |
| 		public string AccID;
 | |
| 		public bool IsImage;
 | |
| 		public string Val1, Val2;
 | |
| 
 | |
| 		public AppROConflict(VEO_DummySet ds, string rid, string pnum, string snum, bool image, string v1, string v2)
 | |
| 		{
 | |
| 			CType = AppConflictTypes.RO;
 | |
| 			ROID = rid;
 | |
| 			DummySet = ds;
 | |
| 			ProcNum = pnum;
 | |
| 			SeqNum = snum;
 | |
| 			IsImage=image;
 | |
| 			Val1=v1;			//if image, this will contain image file path
 | |
| 			Val2=v2;
 | |
| 			if (Val1==null) Val1=" not defined ";
 | |
| 			if (Val2==null) Val2=" not defined ";
 | |
| 		}
 | |
| 
 | |
| 		public override string GetStrForEdit()
 | |
| 		{
 | |
| 			// For ROs:
 | |
| 			// reference line is trimmed to 100 chars & consists of...
 | |
| 			//    12 chars - sequence number where RO is used
 | |
| 			//    20 chars - procedure number where RO is used
 | |
| 			//    88 chars - menu item text, i.e. what's shown on dialog.
 | |
| 
 | |
| 			StringBuilder sb = new StringBuilder(125);
 | |
| 			sb.Append(SeqNum.PadRight(12,' '));
 | |
| 			sb.Append(ProcNum.PadRight(20,' '));
 | |
| 			string locstr = GetLocStr(ProcNum,SeqNum);
 | |
| 			string tmp=null;
 | |
| 			if (IsImage)
 | |
| 				tmp = "RO: Image File Difference: " + Val1.Replace("\n"," ") + " used in " + locstr;
 | |
| 			else
 | |
| 				tmp = "RO: New Value = " + Val1.Replace("\n"," ") + " Old Value = " + Val2.Replace("\n"," ") + " used in " + locstr;
 | |
| 			int len = tmp.Length;
 | |
| 			if (len==88)
 | |
| 				sb.Append(tmp);
 | |
| 			else if (len > 88)
 | |
| 				sb.Append(tmp.Substring(0,88));
 | |
| 			else
 | |
| 				sb.Append(tmp.PadRight(88,' '));
 | |
| 			return sb.ToString();
 | |
| 		}
 | |
| 
 | |
| 		public override StringCollection GetStrForDlg()
 | |
| 		{
 | |
| 			StringCollection retstrs = new StringCollection();
 | |
| 			StringBuilder sb = new StringBuilder();
 | |
| 			string retstr;
 | |
| 			string locstr = GetLocStr(ProcNum,SeqNum);
 | |
| 			if (IsImage)
 | |
| 			{
 | |
| 				sb.Append("  RO Image File Difference At: ");
 | |
| 				sb.Append(locstr);
 | |
| 				retstrs.Add(sb.ToString());
 | |
| 				sb.Remove(0,sb.Length);
 | |
| 				sb.Append("  RO Value: ");
 | |
| 				sb.Append(Val1);
 | |
| 				retstrs.Add(sb.ToString());
 | |
| 			}
 | |
| 			else
 | |
| 			{
 | |
| 				int nlptr = -1;
 | |
| 				int idx = 0;
 | |
| 				sb.Append("  RO Difference At: ");
 | |
| 				sb.Append(locstr);
 | |
| 				retstrs.Add(sb.ToString());
 | |
| 				sb.Remove(0,sb.Length);
 | |
| 				sb.Append("        New Value = ");
 | |
| 				nlptr = Val1.IndexOf("\n");
 | |
| 				while (nlptr > -1)
 | |
| 				{
 | |
| 					sb.Append(Val1.Substring(idx,nlptr-idx));
 | |
| 					retstrs.Add(sb.ToString());
 | |
| 					sb.Remove(0,sb.Length);
 | |
| 					idx = nlptr+1;
 | |
| 					nlptr = Val1.IndexOf("\n",idx);
 | |
| 					sb.Append("                    ");
 | |
| 				}
 | |
| 				sb.Append(Val1.Substring(idx));
 | |
| 				retstrs.Add(sb.ToString());
 | |
| 				sb.Remove(0,sb.Length);
 | |
| 				sb.Append("        Old Value = ");
 | |
| 				idx = 0;
 | |
| 				nlptr = Val2.IndexOf("\n");
 | |
| 				while (nlptr > -1)
 | |
| 				{
 | |
| 					sb.Append(Val2.Substring(idx,nlptr-idx));
 | |
| 					retstrs.Add(sb.ToString());
 | |
| 					sb.Remove(0,sb.Length);
 | |
| 					idx = nlptr+1;
 | |
| 					nlptr = Val2.IndexOf("\n",idx);
 | |
| 					sb.Append("                    ");
 | |
| 				}
 | |
| 				sb.Append(Val2.Substring(idx));
 | |
| 				retstrs.Add(sb.ToString());
 | |
| 			}
 | |
| 			return retstrs;
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	public class AppTransConflict : AppConflict
 | |
| 	{
 | |
| 		public string ToNum;
 | |
| 		public string ToSeq;
 | |
| 		public string OldTo;
 | |
| 
 | |
| 		public AppTransConflict(VEO_DummySet ds, string pnum, string snum, string tpnum, string tsnum, string old)
 | |
| 		{
 | |
| 			CType = AppConflictTypes.Trans;
 | |
| 			DummySet = ds;
 | |
| 			ProcNum = pnum;
 | |
| 			SeqNum = snum;
 | |
| 			ToNum=tpnum;
 | |
| 			ToSeq=tsnum;
 | |
| 			OldTo = old;
 | |
| 		}
 | |
| 
 | |
| 		public override StringCollection GetStrForDlg()
 | |
| 		{
 | |
| 			StringCollection retstrs = new StringCollection();
 | |
| 			StringBuilder sb = new StringBuilder();
 | |
| 			sb.Append("  Transition: From = ");
 | |
| 			sb.Append(ProcNum);
 | |
| 			sb.Append(" ");
 | |
| 			sb.Append(GetLocStr(ProcNum,SeqNum));
 | |
| 			retstrs.Add(sb.ToString());
 | |
| 			sb.Remove(0,sb.Length);
 | |
| 			sb.Append("                To = ");
 | |
| 			sb.Append(ToNum);
 | |
| 			sb.Append(" ");
 | |
| 			sb.Append(GetLocStr(ToNum,ToSeq));
 | |
| 			retstrs.Add(sb.ToString());
 | |
| 			return retstrs;
 | |
| 		}
 | |
| 
 | |
| 		public override string GetStrForEdit()
 | |
| 		{
 | |
| 			// For Trans:
 | |
| 			// reference line is trimmed to 100 chars & consists of...
 | |
| 			//    12 chars - sequence number where Tran is used
 | |
| 			//    20 chars - procedure number where Tran is used
 | |
| 			//    88 chars - menu item text, i.e. what's shown on dialog.
 | |
| 
 | |
| 			StringBuilder sb = new StringBuilder(125);
 | |
| 			sb.Append(SeqNum.PadRight(12,' '));
 | |
| 			sb.Append(ProcNum.PadRight(20,' '));
 | |
| 			string tmp = "Transition: To = " + " " + GetLocStr(ToNum,ToSeq);
 | |
| 			
 | |
| 			int len = tmp.Length;
 | |
| 			if (len==88)
 | |
| 				sb.Append(tmp);
 | |
| 			else if (len > 88)
 | |
| 				sb.Append(tmp.Substring(0,88));
 | |
| 			else
 | |
| 				sb.Append(tmp.PadRight(88,' '));
 | |
| 			return sb.ToString();
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	public class AppLibDocConflict : AppConflict
 | |
| 	{
 | |
| 		public string LibDocName;
 | |
| 		public AppLibDocConflict(VEO_DummySet ds, string pnum, string seq, string Lname)
 | |
| 		{
 | |
| 			CType = AppConflictTypes.LibDoc;
 | |
| 			DummySet = ds;
 | |
| 			ProcNum = pnum;
 | |
| 			SeqNum = seq;
 | |
| 			LibDocName = Lname;
 | |
| 		}
 | |
| 		
 | |
| 
 | |
| 		public override StringCollection GetStrForDlg()
 | |
| 		{
 | |
| 			StringCollection retstrs = new StringCollection();
 | |
| 			StringBuilder sb = new StringBuilder();
 | |
| 			sb.Append("  Library Doc = ");
 | |
| 			sb.Append(LibDocName);
 | |
| 			sb.Append(" used in ");
 | |
| 			sb.Append(GetLocStr(ProcNum,SeqNum));
 | |
| 			retstrs.Add(sb.ToString());
 | |
| 			return retstrs;
 | |
| 		}
 | |
| 
 | |
| 		public override string GetStrForEdit()
 | |
| 		{
 | |
| 			// For libdoc:
 | |
| 			// reference line is trimmed to 100 chars & consists of...
 | |
| 			//    12 chars - sequence number where LibDoc is used
 | |
| 			//    20 chars - procedure number where LibDoc is used
 | |
| 			//    88 chars - menu item text, i.e. what's shown on dialog.
 | |
| 
 | |
| 			StringBuilder sb = new StringBuilder(125);
 | |
| 			sb.Append(SeqNum.PadRight(12,' '));
 | |
| 			sb.Append(ProcNum.PadRight(20,' '));
 | |
| 			string tmp = "Library Document: File Name = " + LibDocName + " used in " + GetLocStr(ProcNum,SeqNum);
 | |
| 			
 | |
| 			int len = tmp.Length;
 | |
| 			if (len==88)
 | |
| 				sb.Append(tmp);
 | |
| 			else if (len > 88)
 | |
| 				sb.Append(tmp.Substring(0,88));
 | |
| 			else
 | |
| 				sb.Append(tmp.PadRight(88,' '));
 | |
| 			return sb.ToString();
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| }
 |