98 lines
3.1 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using VEPROMS.CSLA.Library;
using Volian.Controls.Library;
namespace FixTransitions
{
public partial class frmFindAndFix : Form
{
public frmFindAndFix()
{
InitializeComponent();
}
public string FormStatus
{
get { return tsslStatus.Text; }
set { tsslStatus.Text = value; Application.DoEvents(); }
}
private ItemInfoList _ListToFix = null;
private void findToolStripMenuItem_Click(object sender, EventArgs e)
{
FormStatus = "Searching";
// Perform a query looking for '(Resolved Transition Text)'
//_ListToFix = ItemInfoList.GetListFromTextSearch("", "", "(Resolved Transition Text)", 0, ItemSearchIncludeLinks.Value, false, false);\
_ListToFix = ItemInfoList.GetListFromTextSearch("", "", "Resolved Transition Text", 0, ItemSearchIncludeLinks.Value, false, false, "");
// Place the results in the ListBox
lbResults.DataSource=_ListToFix;
lbResults.DisplayMember="DisplayText";
FormStatus = string.Format("Searching Complete: {0} Items Found",_ListToFix.Count);
}
private void fixToolStripMenuItem_Click(object sender, EventArgs e)
{
int i = 0;
foreach (ItemInfo item in _ListToFix)
{
i++;
//if (item.MyContent.ContentID == 363)
//{
// Console.WriteLine("Stop Here");
if (i >= lbResults.SelectedIndex)
{
FormStatus = string.Format("Processing {0} of {1} steps ({2})", i, _ListToFix.Count, item.DisplayText);
//rtb.ViewRTB = false;
rtb.MyItemInfo = item;
rtb.RefreshDisplay(true);
SaveText(rtb);
}
//}
}
FormStatus = "Refreshing Results";
findToolStripMenuItem_Click(sender, e);
FormStatus = "Fix Done";
}
public void SaveText(StepRTB myStepRTB)
{
if (myStepRTB.ReadOnly) return;
//if (myStepRTB.ViewRTB) return;
if (!myStepRTB.IsDirty && myStepRTB.Text.Contains("(Resolved Transition Text)") == false) return;
bool success = myStepRTB.OrigDisplayText.Save((RichTextBox)myStepRTB);
if (success)
{
myStepRTB.FindAllLinks();
myStepRTB.OrigRTF = myStepRTB.Rtf;
myStepRTB.ClearUndo();
}
}
private void processToolStripMenuItem_Click(object sender, EventArgs e)
{
ItemInfo item = ItemInfo.Get(int.Parse(tbItemID.Text));
item.UpdateTransitionText();
}
private void compareToolStripMenuItem_Click(object sender, EventArgs e)
{
// TransitionInfoList transitions = TransitionInfoList.Get();
// FormStatus = string.Format("Checking {0} transitions", transitions.Count);
// int differences = 0;
// foreach (TransitionInfo transition in transitions)
// {
// FormStatus = string.Format("Checking transition {0}", transition.TransitionID);
// string oldPath = transition.ResolvePathTo();
// string newPath = transition.ResolvePathNew2();
// if (oldPath != newPath)
// {
// differences++;
// Console.WriteLine("{0},'{1}','{2}'", transition.TransitionID, oldPath, newPath);
// }
// }
// FormStatus = string.Format("{0} transitions checked - {1} differences found", transitions.Count, differences);
}
}
}