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();
|
|
}
|
|
}
|
|
|
|
}
|