internal override void AddPromptsToRecordingList(PromptRecordingList recordingList, DateTime?onOrAfterDate) { Table table = GetPrompts(); for (int r = 0; r < table.GetNumRows(); r++) { string wording = table.GetData(r, (int)TableColumns.Prompts.Wording); string id = table.GetData(r, (int)TableColumns.Prompts.Id); string wordingDateString = table.GetData(r, (int)TableColumns.Prompts.WordingDateStamp); string idDateString = table.GetData(r, (int)TableColumns.Prompts.IdDateStamp); if (onOrAfterDate != null) { if (Common.ForcedStringToDate(wordingDateString) >= onOrAfterDate || Common.ForcedStringToDate(idDateString) >= onOrAfterDate) { if (id != null && id.Length > 0) { recordingList.AddPromptRecording(id, wording); } } } else if (id != null && id.Length > 0) { recordingList.AddPromptRecording(id, wording); } } }
internal override void ApplyPromptsFromRecordingList(PromptRecordingList recordingList) { Table table = GetPrompts(); bool didOne = false; for (int r = 0; r < table.GetNumRows(); r++) { string wording = table.GetData(r, (int)TableColumns.Prompts.Wording); string id = table.GetData(r, (int)TableColumns.Prompts.Id); string newWording = recordingList.getWording(id); if (newWording != null && newWording != wording) { table.SetData(r, (int)TableColumns.Prompts.Wording, newWording); //table.SetData(r, (int)TableColumns.Prompts.WordingDateStamp, DateTime.Now.ToString(Strings.DateColumnFormatString)); table.SetData(r, (int)TableColumns.Prompts.WordingDateStamp, PathMaker.LookupChangeLogShadow().GetLastChangeVersion()); //JDK added table.SetData(r, (int)TableColumns.Prompts.IdDateStamp, PathMaker.LookupChangeLogShadow().GetLastChangeVersion()); //JDK added didOne = true; } } if (didOne) { SetPrompts(table); } }
/** * Utility method to return the highlight color given a change date */ internal string GetColorStringForChange(DateTime date) { Table table = GetChangeLog(); string color = Strings.HighlightColorNone; if (date == null) { return(color); } for (int r = 0; r < table.GetNumRows(); r++) { DateTime revisionDate; if (DateTime.TryParse(table.GetData(r, (int)TableColumns.ChangeLog.Date), out revisionDate)) { if (revisionDate > date) { return(color); } else { color = table.GetData(r, (int)TableColumns.ChangeLog.Highlight); } } } return(color); }
private static void AddTransitions(StateWithTransitionShadow shadow, XmlElement parentElement) { Table table = shadow.GetTransitions(); if (table.IsEmpty()) { return; } XmlElement transitionListElement = CreateElement(parentElement, xmlStrings.TransitionList); for (int r = 0; r < table.GetNumRows(); r++) { XmlElement transitionElement = CreateElement(transitionListElement, xmlStrings.Transition); XmlElement conditionElement = CreateElement(transitionElement, xmlStrings.Condition); XmlElement actionElement = CreateElement(transitionElement, xmlStrings.Action); XmlElement gotoElement = CreateElement(transitionElement, xmlStrings.Goto); conditionElement.InnerText = table.GetData(r, (int)TableColumns.Transitions.Condition); conditionElement.SetAttribute(xmlStrings.Level, "0"); actionElement.InnerText = table.GetData(r, (int)TableColumns.Transitions.Action); string gotoString = table.GetData(r, (int)TableColumns.Transitions.Goto); gotoString = GetXmlGotoFromData(gotoString); gotoElement.InnerText = gotoString; } }
// parent could be an Interaction or a Start element private static void AddPromptTypes(Table table, XmlElement parentElement) { if (table.IsEmpty()) { return; } XmlElement promptTypeListElement = CreateElement(parentElement, xmlStrings.PromptTypeList); for (int r = 0; r < table.GetNumRows(); r++) { XmlElement promptTypeElement = CreateElement(promptTypeListElement, xmlStrings.PromptType); XmlElement typeElement = CreateElement(promptTypeElement, xmlStrings.Type); XmlElement promptListElement = CreateElement(promptTypeElement, xmlStrings.PromptList); XmlElement promptElement = CreateElement(promptListElement, xmlStrings.Prompt); XmlElement conditionElement = CreateElement(promptElement, xmlStrings.Condition); XmlElement wordingElement = CreateElement(promptElement, xmlStrings.Wording); XmlElement promptIdElement = CreateElement(promptElement, xmlStrings.PromptId); string type = table.GetData(r, (int)TableColumns.PromptTypes.Type); typeElement.InnerText = type; string condition = table.GetData(r, (int)TableColumns.PromptTypes.Condition); int level = Common.GetConditionLevel(condition); condition = condition.Replace(Strings.IndentCharacterString, ""); CreateCDataSection(conditionElement, condition); conditionElement.SetAttribute(xmlStrings.Level, level.ToString()); string wording = Common.StripBracketLabels(table.GetData(r, (int)TableColumns.PromptTypes.Wording)); CreateCDataSection(wordingElement, wording); string promptId = table.GetData(r, (int)TableColumns.PromptTypes.Id); promptIdElement.InnerText = promptId; } }
public static int RedoConfirmationPromptIds(ref Table table, string stateId, int startNumber, string promptIdFormat) { if (promptIdFormat.Equals(Strings.PromptIdFormatFull) || promptIdFormat.Equals(Strings.PromptIdFormatPartial)) { string statePrefix = ""; string stateNumber = ""; string stateName = ""; if (stateId != null) StateShadow.DisectStateIdIntoParts(stateId, out statePrefix, out stateNumber, out stateName); int nextNum = 1; for (int row = 0; row < table.GetNumRows(); row++) { string wording = table.GetData(row, (int)TableColumns.ConfirmationPrompts.Wording); if (wording == null || wording.Length == 0 || wording.Trim().StartsWith(Strings.CalculatedPromptStartString) || wording.Trim().StartsWith(Strings.PromptTypeMacroStartString)) continue; string newPromptId; if (stateId != null) { if (promptIdFormat.Equals(Strings.PromptIdFormatFull)) newPromptId = stateId + Strings.PromptIdSeparationChar + Strings.DefaultConfirmationPromptLetter + Strings.PromptIdSeparationChar + nextNum.ToString(); else newPromptId = statePrefix + stateNumber + Strings.PromptIdSeparationChar + Strings.DefaultConfirmationPromptLetter + Strings.PromptIdSeparationChar + nextNum.ToString(); } else newPromptId = Strings.GlobalPromptPrefix.ToString () + Strings.PromptIdSeparationChar + Strings.DefaultConfirmationPromptLetter.ToString() + Strings.PromptIdSeparationChar + nextNum; if (!table.GetData(row, (int)TableColumns.ConfirmationPrompts.Id).Equals(newPromptId)) { table.SetData(row, (int)TableColumns.ConfirmationPrompts.Id, newPromptId); //table.SetData(row, (int)TableColumns.ConfirmationPrompts.IdDateStamp, DateTime.Now.ToString(Strings.DateColumnFormatString)); table.SetData(row, (int)TableColumns.ConfirmationPrompts.IdDateStamp, PathMaker.LookupChangeLogShadow().GetLastChangeVersion());//JDK added } nextNum++; } return nextNum - 1; } else if (promptIdFormat.Equals(Strings.PromptIdFormatNumeric)) { int nextNum = startNumber; for (int row = 0; row < table.GetNumRows(); row++) { string wording = table.GetData(row, (int)TableColumns.ConfirmationPrompts.Wording); if (wording == null || wording.Length == 0 || wording.Trim().StartsWith(Strings.CalculatedPromptStartString) || wording.Trim().StartsWith(Strings.PromptTypeMacroStartString)) continue; table.SetData(row, (int)TableColumns.ConfirmationPrompts.Id, nextNum.ToString()); //table.SetData(row, (int)TableColumns.ConfirmationPrompts.IdDateStamp, DateTime.Now.ToString(Strings.DateColumnFormatString)); table.SetData(row, (int)TableColumns.ConfirmationPrompts.IdDateStamp, PathMaker.LookupChangeLogShadow().GetLastChangeVersion());//JDK added nextNum++; } return nextNum - startNumber; } else return 0; }
/** * Utility method to return the highlight color given a change version label */ internal string GetColorStringForChange(string versionLabel) { Table table = GetChangeLog(); string color = Strings.HighlightColorNone; string tempVersionStampFix; //string pattern = "[a-zA-Z-]+"; //string replacement = ""; //Regex rgx = new Regex(pattern); //DateTime revisionDate;//from old style highlight fomratting DateTime date; if (versionLabel == null || versionLabel == "") { return(color); } versionLabel = Common.CleanupVersionLabel(versionLabel);//JDK ORIG //versionLabel = GetValidVersionString(table, Common.CleanupVersionLabel(versionLabel));//JDK added some extra validation; if (Common.ForcedStringVersionToDouble(versionLabel) > Common.ForcedStringVersionToDouble(GetLastChangeVersion())) { return(color); } //JDK This check will catch any fields with dates still in the hidden stamp fields if (versionLabel.Contains("/") && DateTime.TryParse(versionLabel, out date)) { tempVersionStampFix = PathMaker.LookupChangeLogShadow().GetVersionStringForChange(date); //versionLabel = tempVersionStampFix; versionLabel = GetValidVersionString(table, tempVersionStampFix);//JDK added some extra validation //versionLabel = rgx.Replace(tempVersionStampFix, replacement); //return GetColorStringForChange(date);//will only do this for backward compatibility support } for (int r = 0; r < table.GetNumRows(); r++) { double decimalVal = 0; String revisionVersion = table.GetData(r, (int)TableColumns.ChangeLog.Version); decimalVal = Common.ForcedStringVersionToDouble(revisionVersion); if (decimalVal != 0) { if (decimalVal > Common.ForcedStringVersionToDouble(versionLabel)) { return(color); } else { color = table.GetData(r, (int)TableColumns.ChangeLog.Highlight); } } } return(color); }
internal override void AddPromptsToRecordingListVer(PromptRecordingList recordingList, String onOrAfterVersion) { Table table = GetPrompts(); //double number; for (int r = 0; r < table.GetNumRows(); r++) { string wording = table.GetData(r, (int)TableColumns.Prompts.Wording); string id = table.GetData(r, (int)TableColumns.Prompts.Id); string wordingDateString = table.GetData(r, (int)TableColumns.Prompts.WordingDateStamp); string idDateString = table.GetData(r, (int)TableColumns.Prompts.IdDateStamp); if (wordingDateString.Contains("/")) { DateTime tempDTStamp; if (DateTime.TryParse(onOrAfterVersion, out tempDTStamp)) { string tempVersionStampFix = PathMaker.LookupChangeLogShadow().GetVersionStringForChange(tempDTStamp); wordingDateString = tempVersionStampFix; } } if (idDateString.Contains("/")) { DateTime tempDTStamp; if (DateTime.TryParse(onOrAfterVersion, out tempDTStamp)) { string tempVersionStampFix = PathMaker.LookupChangeLogShadow().GetVersionStringForChange(tempDTStamp); idDateString = tempVersionStampFix; } } if (onOrAfterVersion != null) { if (!wordingDateString.Contains("/") && !idDateString.Contains("/")) { if (Common.ForcedStringVersionToDouble(wordingDateString) >= Common.ForcedStringVersionToDouble(onOrAfterVersion) || Common.ForcedStringVersionToDouble(idDateString) >= Common.ForcedStringVersionToDouble(onOrAfterVersion)) { if (id != null && id.Length > 0) { recordingList.AddPromptRecording(id, wording); } } } } else if (id != null && id.Length > 0) { recordingList.AddPromptRecording(id, wording); } } }
/** * Returns the Default Setting associated with the name passed in - JDK */ internal string GetDefaultSetting(string setting) { Table table = GetDefaultSettings(); for (int row = 0; row < table.GetNumRows(); row++) { if (table.GetData(row, (int)TableColumns.NameValuePairs.Name).Equals(setting)) { return(table.GetData(row, (int)TableColumns.NameValuePairs.Value)); } } return(String.Empty); }
public static BindingList<NameValuePairRow> GetRowsFromTable(Table table) { BindingList<NameValuePairRow> list = new BindingList<NameValuePairRow>(); for (int r = 0; r < table.GetNumRows(); r++) { NameValuePairRow nv = new NameValuePairRow(); nv.Name = table.GetData(r, (int)TableColumns.NameValuePairs.Name); nv.Value = table.GetData(r, (int)TableColumns.NameValuePairs.Value); nv.NameDateStamp = table.GetData(r, (int)TableColumns.NameValuePairs.NameDateStamp); nv.ValueDateStamp = table.GetData(r, (int)TableColumns.NameValuePairs.ValueDateStamp); list.Add(nv); } return list; }
public static BindingList<ChangeLogRow> GetRowsFromTable(Table table) { BindingList<ChangeLogRow> list = new BindingList<ChangeLogRow>(); for (int row = 0; row < table.GetNumRows(); row++) { ChangeLogRow cl = new ChangeLogRow(); cl.Date = table.GetData(row, (int)TableColumns.ChangeLog.Date); cl.Version = table.GetData(row, (int)TableColumns.ChangeLog.Version); cl.Details = table.GetData(row, (int)TableColumns.ChangeLog.Details); cl.Author = table.GetData(row, (int)TableColumns.ChangeLog.Author); cl.Highlight = table.GetData(row, (int)TableColumns.ChangeLog.Highlight); list.Add(cl); } return list; }
// returns true if something was changed internal override bool RemoveGotosThatDontUseConnectors(string uidBeingRemoved) { Table table = GetMaxHandling(); bool changed = false; if (!table.IsEmpty()) { for (int r = 0; r < table.GetNumRows(); r++) { if (table.GetData(r, (int)TableColumns.MaxHandling.Goto).Equals(uidBeingRemoved)) { table.SetData(r, (int)TableColumns.MaxHandling.Goto, Strings.HangUpKeyword); //table.SetData(r, (int)TableColumns.MaxHandling.GotoDateStamp, DateTime.Now.ToString(Strings.DateColumnFormatString)); table.SetData(r, (int)TableColumns.MaxHandling.GotoDateStamp, PathMaker.LookupChangeLogShadow().GetLastChangeVersion());//JDK added changed = true; } } if (changed) { SetMaxHandling(table); } } table = GetCommandTransitions(); if (!table.IsEmpty()) { for (int r = 0; r < table.GetNumRows(); r++) { if (table.GetData(r, (int)TableColumns.CommandTransitions.Goto).Equals(uidBeingRemoved)) { table.SetData(r, (int)TableColumns.CommandTransitions.Goto, Strings.HangUpKeyword); //table.SetData(r, (int)TableColumns.CommandTransitions.GotoDateStamp, DateTime.Now.ToString(Strings.DateColumnFormatString)); table.SetData(r, (int)TableColumns.CommandTransitions.GotoDateStamp, PathMaker.LookupChangeLogShadow().GetLastChangeVersion());//JDK added changed = true; } } if (changed) { SetCommandTransitions(table); } } return(changed); }
//JDK this was added to help with highlight colors with multiple versions on the same day internal static String MaxVersionWithDateColumn(string version, Table table, int column) { String maxVersion = version; String tempVersionStampFix = ""; //double decimalValue = 0; for (int r = 0; r < table.GetNumRows(); r++) { String lastVersionStamp = table.GetData(r, column); //NEW CODE STARTS HERE //if (lastVersionStamp.Trim().IndexOf("/")>=0 || lastVersionStamp.Trim().Equals("")) String tempCleanedVerLabel = CleanupVersionLabel(lastVersionStamp); if (!tempCleanedVerLabel.Equals(lastVersionStamp)) { DateTime tempDTStamp; if (DateTime.TryParse(lastVersionStamp, out tempDTStamp)) { tempVersionStampFix = PathMaker.LookupChangeLogShadow().GetVersionStringForChange(tempDTStamp); lastVersionStamp = tempVersionStampFix; //lastVersionStamp = PathMaker.LookupChangeLogShadow().GetValidVersionString(PathMaker.LookupChangeLogShadow().GetChangeLog(), tempVersionStampFix); table.SetData(r, column, lastVersionStamp);//JDK temporarily removed for testing } } if (Common.ForcedStringVersionToDouble(lastVersionStamp) > Common.ForcedStringVersionToDouble(maxVersion)) { maxVersion = lastVersionStamp; } //NEW CODE ENDS HERE } return(maxVersion); }
internal void RemoveOutputsIfNotInTableColumn(Table table, int gotoColumn) { List <Connect> connects = GetShapeOutputs(); List <Shadow> shadows = new List <Shadow>(); foreach (Connect connect in connects) { // The 1D connector is always the To and 2D shapes are always the From Shape toShape = connect.FromSheet; Shadow shadow = PathMaker.LookupShadowByShape(toShape); shadows.Add(shadow); } for (int row = 0; row < table.GetNumRows(); row++) { string uid = table.GetData(row, gotoColumn); Shadow shadow = PathMaker.LookupShadowByUID(uid); if (shadow != null) { shadows.Remove(shadow); } } if (shadows.Count > 0) { foreach (Shadow shadow in shadows) { shadow.shape.Delete(); } } }
public static BindingList <ChangeLogRow> GetRowsFromTable(Table table) { BindingList <ChangeLogRow> list = new BindingList <ChangeLogRow>(); for (int row = 0; row < table.GetNumRows(); row++) { ChangeLogRow cl = new ChangeLogRow(); cl.Date = table.GetData(row, (int)TableColumns.ChangeLog.Date); cl.Version = table.GetData(row, (int)TableColumns.ChangeLog.Version); cl.Details = table.GetData(row, (int)TableColumns.ChangeLog.Details); cl.Author = table.GetData(row, (int)TableColumns.ChangeLog.Author); cl.Highlight = table.GetData(row, (int)TableColumns.ChangeLog.Highlight); list.Add(cl); } return(list); }
private static void AddNameValuePairs(Table table, XmlElement parentElement, string elementName) { if (table == null) { return; } XmlElement defaultSettingsElement = CreateElement(parentElement, elementName); for (int r = 0; r < table.GetNumRows(); r++) { XmlElement nvPairElement = CreateElement(defaultSettingsElement, xmlStrings.NameValuePair); nvPairElement.SetAttribute(xmlStrings.Name, table.GetData(r, (int)TableColumns.NameValuePairs.Name)); nvPairElement.SetAttribute(xmlStrings.Value, table.GetData(r, (int)TableColumns.NameValuePairs.Value)); } }
public static BindingList<MaxHandlingRow> GetRowsFromTable(Table table) { BindingList<MaxHandlingRow> list = new BindingList<MaxHandlingRow>(); for (int row = 0; row < table.GetNumRows(); row++) { MaxHandlingRow mh = new MaxHandlingRow(); mh.Condition = table.GetData(row, (int)TableColumns.MaxHandling.Condition); mh.Count = table.GetData(row, (int)TableColumns.MaxHandling.Count); mh.Action = table.GetData(row, (int)TableColumns.MaxHandling.Action); mh.Goto = table.GetData(row, (int)TableColumns.MaxHandling.Goto); mh.CountDateStamp = table.GetData(row, (int)TableColumns.MaxHandling.CountDateStamp); mh.ActionDateStamp = table.GetData(row, (int)TableColumns.MaxHandling.ActionDateStamp); mh.GotoDateStamp = table.GetData(row, (int)TableColumns.MaxHandling.GotoDateStamp); list.Add(mh); } return list; }
public override void OnConnectDeleteOutput(Shadow shadow) { base.OnConnectDeleteOutput(shadow); Table table = GetTransitions(); for (int r = 0; r < table.GetNumRows(); r++) { string data = table.GetData(r, (int)TableColumns.Transitions.Goto); string uid = shadow.GetUniqueId(); if (data.Equals(uid)) { // cleanup the connector label ConnectorShadow connectorShadow = PathMaker.LookupShadowByUID(uid) as ConnectorShadow; if (connectorShadow != null) { connectorShadow.SetLabelName(String.Empty); } table.DeleteRow(r); SetTransitionsWithoutRemovingOutputsForDeletedTransitions(table); // only one per link possible return; } } }
/** * Because SetTransitions calls RemoveOutputsForDeletedTransitions, it can result in * a shape delete. When it's being called because of a connector delete, we can end * up with an error because we try to delete the same shape twice. This avoids that. **/ private void SetTransitionsWithoutRemovingOutputsForDeletedTransitions(Table table) { List <Connect> connects = GetShapeOutputs(); for (int r = 0; r < table.GetNumRows(); r++) { string uid = table.GetData(r, (int)TableColumns.Transitions.Goto); ConnectorShadow shadow = PathMaker.LookupShadowByUID(uid) as ConnectorShadow; if (shadow != null) { shadow.SetLabelName(table.GetData(r, (int)TableColumns.Transitions.Condition)); } } Common.SetCellTable(shape, ShapeProperties.Transitions, table); }
internal static void SetTableDataAndDateIfNecessary(Table table, int row, string newValue, TableColumns.NameValuePairs valueColumn, TableColumns.NameValuePairs dateColumn) { string oldValue = table.GetData(row, (int)valueColumn); if (oldValue.Equals(newValue)) { return; } table.SetData(row, (int)valueColumn, newValue); //table.SetData(row, (int)dateColumn, DateTime.Today.ToString(Strings.DateColumnFormatString)); if (table.GetData(0, 0) != "Mode") { table.SetData(row, (int)dateColumn, PathMaker.LookupChangeLogShadow().GetLastChangeVersion());//JDK added this to fix highlighting by version } }
internal string GetFirstChangeVersion() { Table table = GetChangeLog(); if (table.IsEmpty()) { return(string.Empty); } return(table.GetData(0, (int)TableColumns.ChangeLog.Version)); }
public string GetLastLogChangeDate() { Table table = GetChangeLog(); if (table.IsEmpty()) { return(string.Empty); } return(table.GetData(table.GetNumRows() - 1, (int)TableColumns.ChangeLog.Date)); }
public static BindingList <NameValuePairRow> GetRowsFromTable(Table table) { BindingList <NameValuePairRow> list = new BindingList <NameValuePairRow>(); Boolean newStartStep = false; //Version 1.6.1.13+ uses a new set of fields for init data NV pairs - Notes column was added JDK 08-25-2014 if (table.GetNumColumns() >= 5) { newStartStep = true; } if (newStartStep) { for (int r = 0; r < table.GetNumRows(); r++) { NameValuePairRow nv = new NameValuePairRow(); nv.Name = table.GetData(r, (int)TableColumns.NameValuePairs.Name); nv.Value = table.GetData(r, (int)TableColumns.NameValuePairs.Value); nv.Notes = table.GetData(r, (int)TableColumns.NameValuePairs.Notes); nv.NameDateStamp = table.GetData(r, (int)TableColumns.NameValuePairs.NameDateStamp); nv.ValueDateStamp = table.GetData(r, (int)TableColumns.NameValuePairs.ValueDateStamp); nv.NotesDateStamp = table.GetData(r, (int)TableColumns.NameValuePairs.NotesDateStamp); list.Add(nv); } } else { for (int r = 0; r < table.GetNumRows(); r++) { NameValuePairRow nv = new NameValuePairRow(); nv.Name = table.GetData(r, (int)TableColumns.NameValuePairs.Name); nv.Value = table.GetData(r, (int)TableColumns.NameValuePairs.Value); nv.Notes = ""; nv.NameDateStamp = table.GetData(r, (int)TableColumns.NameValuePairs.NameDateStamp); nv.ValueDateStamp = table.GetData(r, (int)TableColumns.NameValuePairs.ValueDateStamp); nv.NotesDateStamp = ""; list.Add(nv); } } return(list); }
private static void AddDeveloperNotes(Table table, XmlElement stateElement) { if (table.IsEmpty()) { return; } XmlElement developerNotesElement = CreateElement(stateElement, xmlStrings.DeveloperNotes); developerNotesElement.InnerText = table.GetData(0, (int)TableColumns.DeveloperNotes.Text); }
private static void AddSpecialSettings(Table table, XmlElement stateElement) { if (table.IsEmpty()) { return; } XmlElement specialSettingsElement = CreateElement(stateElement, xmlStrings.SpecialSettings); specialSettingsElement.InnerText = table.GetData(0, (int)TableColumns.SpecialSettings.Text); }
public override void FixUIDReferencesAfterPaste(Dictionary <string, string> oldGUIDToNewGUIDMap) { Table table = GetCommandTransitions(); for (int row = table.GetNumRows() - 1; row >= 0; row--) { string oldUID = table.GetData(row, (int)TableColumns.CommandTransitions.Goto); string newUID = CommonShadow.GetNewUIDAfterPaste(oldUID, oldGUIDToNewGUIDMap, false); if (newUID == null) { Common.ErrorMessage("Transition in Start refers to state which can't be found, changing to hang up"); table.SetData(row, (int)TableColumns.CommandTransitions.Goto, Strings.HangUpKeyword); } else if (oldUID != newUID) { table.SetData(row, (int)TableColumns.CommandTransitions.Goto, newUID); } } SetCommandTransitions(table); table = GetMaxHandling(); for (int row = table.GetNumRows() - 1; row >= 0; row--) { string oldUID = table.GetData(row, (int)TableColumns.MaxHandling.Goto); if (oldUID == null || oldUID.Length == 0) { continue; } string newUID = CommonShadow.GetNewUIDAfterPaste(oldUID, oldGUIDToNewGUIDMap, true); if (newUID == null) { Common.ErrorMessage("MaxHandler for Start refers to state which can't be found, changing to hang up"); table.SetData(row, (int)TableColumns.MaxHandling.Goto, Strings.HangUpKeyword); } else if (oldUID != newUID) { table.SetData(row, (int)TableColumns.MaxHandling.Goto, newUID); } } SetMaxHandling(table); }
public static BindingList <ResultsRow> GetRowsFromTable(Table table) { BindingList <ResultsRow> list = new BindingList <ResultsRow>(); for (int r = 0; r < table.GetNumRows(); r++) { ResultsRow txt = new ResultsRow(); txt.Error = table.GetData(r, 0); list.Add(txt); } return(list); }
public static BindingList<TransitionRow> GetRowsFromTable(Table table) { BindingList<TransitionRow> list = new BindingList<TransitionRow>(); for (int row = 0; row < table.GetNumRows(); row++) { TransitionRow ct = new TransitionRow(); ct.Action = table.GetData(row, (int)TableColumns.Transitions.Action); ct.Condition = table.GetData(row, (int)TableColumns.Transitions.Condition); // stash the real goto data in a hidden column ct.GotoData_TreatAsDateStamp = table.GetData(row, (int)TableColumns.Transitions.Goto); Shadow targetShadow = Common.GetGotoTargetFromData(ct.GotoData_TreatAsDateStamp); if (targetShadow == null) ct.Goto = ct.GotoData_TreatAsDateStamp; else ct.Goto = targetShadow.GetGotoName(); ct.ActionDateStamp = table.GetData(row, (int)TableColumns.Transitions.ActionDateStamp); ct.ConditionDateStamp = table.GetData(row, (int)TableColumns.Transitions.ConditionDateStamp); ct.GotoDateStamp = table.GetData(row, (int)TableColumns.Transitions.GotoDateStamp); list.Add(ct); } return list; }
public static BindingList <TransitionRow> GetRowsFromTable(Table table) { BindingList <TransitionRow> list = new BindingList <TransitionRow>(); for (int row = 0; row < table.GetNumRows(); row++) { TransitionRow ct = new TransitionRow(); ct.Action = table.GetData(row, (int)TableColumns.Transitions.Action); ct.Condition = table.GetData(row, (int)TableColumns.Transitions.Condition); // stash the real goto data in a hidden column ct.GotoData_TreatAsDateStamp = table.GetData(row, (int)TableColumns.Transitions.Goto); Shadow targetShadow = Common.GetGotoTargetFromData(ct.GotoData_TreatAsDateStamp); if (targetShadow == null) { ct.Goto = ct.GotoData_TreatAsDateStamp; } else { ct.Goto = targetShadow.GetGotoName(); } ct.ActionDateStamp = table.GetData(row, (int)TableColumns.Transitions.ActionDateStamp); ct.ConditionDateStamp = table.GetData(row, (int)TableColumns.Transitions.ConditionDateStamp); ct.GotoDateStamp = table.GetData(row, (int)TableColumns.Transitions.GotoDateStamp); list.Add(ct); } return(list); }
public DateTime GetLastChangeDate() { Table table = GetChangeLog(); DateTime tempDateTime; if (table.IsEmpty()) { return(new DateTime(1965, 4, 1)); } DateTime.TryParse(table.GetData(table.GetNumRows() - 1, (int)TableColumns.ChangeLog.Date), out tempDateTime); return(tempDateTime); }
internal static void LoadDesignNotesTextBox(TextBox textBox, Table table) { if (!table.IsEmpty()) { textBox.Text = table.GetData(0, (int)TableColumns.DesignNotes.Text); } else { textBox.Text = string.Empty; } textBox.KeyDown -= new KeyEventHandler(OnTextBoxKeyDownForEditorHotKey); textBox.KeyDown += new KeyEventHandler(OnTextBoxKeyDownForEditorHotKey); }
/** * Utility method to return the version for the passed in change date */ internal string GetVersionStringForChange(DateTime date) { Table table = GetChangeLog(); //string color = Strings.HighlightColorNone; //string versionMarker = GetLastChangeVersion();//defaults to latest version string versionMarker = GetFirstChangeVersion();//defaults to latest version //string pattern = "[a-zA-Z-]+"; //string replacement = ""; //Regex rgx = new Regex(pattern); //string result = rgx.Replace(versionInfo, replacement); if (date == null) { return(versionMarker); } for (int r = table.GetNumRows() - 1; r >= 0; r--) { DateTime revisionDate; if (DateTime.TryParse(table.GetData(r, (int)TableColumns.ChangeLog.Date), out revisionDate)) { if (revisionDate <= date) { versionMarker = table.GetData(r, (int)TableColumns.ChangeLog.Version); //return rgx.Replace(versionMarker, replacement); //return versionMarker;//JDK Only want to return valid versions here - don't float to highest version! return(GetValidVersionString(table, versionMarker)); } } } //if (rgx.IsMatch(versionMarker)) //{ // versionMarker = rgx.Replace(versionMarker, replacement); //} return(versionMarker); }
internal static DateTime MaxDateWithDateColumn(DateTime date, Table table, int column) { DateTime maxDate = date; for (int r = 0; r < table.GetNumRows(); r++) { DateTime changeDate = ForcedStringToDate(table.GetData(r, column)); if (changeDate > maxDate) { maxDate = changeDate; } } return(maxDate); }
public override void OnConnectorLabelChange(ConnectorShadow shadow) { Table table = GetTransitions(); for (int r = 0; r < table.GetNumRows(); r++) { if (table.GetData(r, (int)TableColumns.Transitions.Goto).Equals(shadow.GetUniqueId())) { string condition = table.GetData(r, (int)TableColumns.Transitions.Condition); string newCondition = CommonShadow.GetStringWithNewConnectorLabel(condition, shadow.GetLabelName()); if (!condition.Equals(newCondition)) { table.SetData(r, (int)TableColumns.Transitions.Condition, newCondition); //table.SetData(r, (int)TableColumns.Transitions.ConditionDateStamp, DateTime.Now.ToString(Strings.DateColumnFormatString)); table.SetData(r, (int)TableColumns.Transitions.ConditionDateStamp, PathMaker.LookupChangeLogShadow().GetLastChangeVersion());//JDK added SetTransitionsWithoutRemovingOutputsForDeletedTransitions(table); } break; } } }
// parent could be an Interaction or a Start element private static void AddMaxHandling(Shadow shadow, Table table, XmlElement parentElement) { if (table.IsEmpty()) { return; } XmlElement maxHandlingElement = CreateElement(parentElement, xmlStrings.MaxHandling); for (int r = 0; r < 4; r++) { XmlElement rowElement = CreateElement(maxHandlingElement, xmlStrings.MaxHandlingRows[r]); XmlElement countElement = CreateElement(rowElement, xmlStrings.Count); XmlElement actionElement = CreateElement(rowElement, xmlStrings.Action); XmlElement gotoElement = CreateElement(rowElement, xmlStrings.Goto); countElement.InnerText = table.GetData(r, (int)TableColumns.MaxHandling.Count); actionElement.InnerText = table.GetData(r, (int)TableColumns.MaxHandling.Action); string gotoString = table.GetData(r, (int)TableColumns.MaxHandling.Goto); gotoString = GetXmlGotoFromData(gotoString); gotoElement.InnerText = gotoString; } }
public static BindingList<PromptRow> GetRowsFromTable(Table table) { BindingList<PromptRow> list = new BindingList<PromptRow>(); for (int row = 0; row < table.GetNumRows(); row++) { PromptRow pt = new PromptRow(); pt.Condition = table.GetData(row, (int)TableColumns.Prompts.Condition); pt.Wording = table.GetData(row, (int)TableColumns.Prompts.Wording); pt.Id = table.GetData(row, (int)TableColumns.Prompts.Id); pt.ConditionDateStamp = table.GetData(row, (int)TableColumns.Prompts.ConditionDateStamp); pt.WordingDateStamp = table.GetData(row, (int)TableColumns.Prompts.WordingDateStamp); pt.IdDateStamp = table.GetData(row, (int)TableColumns.Prompts.IdDateStamp); list.Add(pt); } return list; }
internal void RemoveOutputsIfNotInTableColumn(Table table, int gotoColumn) { List<Connect> connects = GetShapeOutputs(); List<Shadow> shadows = new List<Shadow>(); foreach (Connect connect in connects) { // The 1D connector is always the To and 2D shapes are always the From Shape toShape = connect.FromSheet; Shadow shadow = PathMaker.LookupShadowByShape(toShape); shadows.Add(shadow); } for (int row = 0; row < table.GetNumRows(); row++) { string uid = table.GetData(row, gotoColumn); Shadow shadow = PathMaker.LookupShadowByUID(uid); if (shadow != null) shadows.Remove(shadow); } if (shadows.Count > 0) { foreach (Shadow shadow in shadows) shadow.shape.Delete(); } }
private static bool OptionOrPromptTypeEntriesSameAsPrevious(Table table, int row, int column) { if (row == 0) return false; string data = table.GetData(row, column); string previousData = table.GetData(row - 1, column); if (data.Length == 0) return true; if (Common.StripBracketLabels(data).Equals(Common.StripBracketLabels(previousData))) return true; return false; }
internal void SetPrompts(Table table) { // once they've edited these - no longer allow edits of the shape text for prompts Common.LockShapeText(shape.Shapes[promptShapeIndex]); bool foundOne = false; for (int row = 0; row < table.GetNumRows(); row++) { string prompt = table.GetData(row, (int)TableColumns.Prompts.Wording); if (prompt.Length > 0) { Common.ForcedSetShapeText(shape.Shapes[promptShapeIndex], CommonShadow.PromptToShapeLabel(prompt)); foundOne = true; break; } } if (!foundOne) Common.ForcedSetShapeText(shape.Shapes[promptShapeIndex], ""); Common.SetCellTable(shape, ShapeProperties.Play.Prompts, table); }
/** * Utility method to build an array of valid versions in the current revTable returns the array */ internal String GetValidVersionString(Table currentRevTable, String targetVersionMarker) { String validVersionString = "0.0"; String tempVersionString; if (!currentRevTable.IsEmpty()) { for (int i = 0; i < currentRevTable.GetNumRows(); i++) { tempVersionString = currentRevTable.GetData(i, (int)TableColumns.ChangeLog.Version); if (tempVersionString.Trim() == targetVersionMarker.Trim()) { validVersionString = targetVersionMarker; return validVersionString; } } } return validVersionString; }
/*private static void SetCellBackgroundColorIfNecessary(Cell cell, string dateTime) { WdColorIndex index = GetHighlightColorIndex(dateTime); if (index != WdColorIndex.wdNoHighlight) cell.Range.Font.Shading.BackgroundPatternColorIndex = index; }*/ private static void FillMaxHandling(Microsoft.Office.Interop.Word.Table wordTable, int wordTableBeginRow, Table table) { InsertWordTableRows(wordTable, wordTableBeginRow, table.GetNumRows() - 1); for (int row = 0; row < table.GetNumRows(); row++) { string condition = table.GetData(row, (int)TableColumns.MaxHandling.Condition); string count = table.GetData(row, (int)TableColumns.MaxHandling.Count); string action = table.GetData(row, (int)TableColumns.MaxHandling.Action); string goingTo = table.GetData(row, (int)TableColumns.MaxHandling.Goto); string countDate = table.GetData(row, (int)TableColumns.MaxHandling.CountDateStamp); string actionDate = table.GetData(row, (int)TableColumns.MaxHandling.ActionDateStamp); string goingToDate = table.GetData(row, (int)TableColumns.MaxHandling.GotoDateStamp); if (count.Trim().Length == 0) count = Strings.MaxHandlerGlobalReferenceNote; if (action.Trim().Length == 0 && goingTo.Trim().Length == 0) action = Strings.MaxHandlerGlobalReferenceNote; Cell cell = wordTable.Cell(wordTableBeginRow + row, 1); cell.Range.InsertAfter(condition); cell = wordTable.Cell(wordTableBeginRow + row, 2); cell.Range.InsertAfter(count); SetCellBackgroundColorIfNecessary(cell, countDate); BuildConditionActionGotoCell(wordTable.Cell(wordTableBeginRow + row, 3), "", "", action, actionDate, goingTo, goingToDate); } }
/** * Because SetTransitions calls RemoveOutputsForDeletedTransitions, it can result in * a shape delete. When it's being called because of a connector delete, we can end * up with an error because we try to delete the same shape twice. This avoids that. **/ private void SetTransitionsWithoutRemovingOutputsForDeletedTransitions(Table table) { List<Connect> connects = GetShapeOutputs(); for (int r = 0; r < table.GetNumRows(); r++) { string uid = table.GetData(r, (int)TableColumns.Transitions.Goto); ConnectorShadow shadow = PathMaker.LookupShadowByUID(uid) as ConnectorShadow; if (shadow != null) shadow.SetLabelName(table.GetData(r, (int)TableColumns.Transitions.Condition)); } Common.SetCellTable(shape, ShapeProperties.Transitions, table); }
public static int RedoPromptTypeIds(ref Table table, string stateId, int startNumber, string promptIdFormat) { if (promptIdFormat.Equals(Strings.PromptIdFormatFull) || promptIdFormat.Equals(Strings.PromptIdFormatPartial)) { string statePrefix = ""; string stateNumber = ""; string stateName = ""; if (stateId != null) StateShadow.DisectStateIdIntoParts(stateId, out statePrefix, out stateNumber, out stateName); int added = 0; int[] nextNumArray = new int[26]; for (int i = 0; i < 26; i++) nextNumArray[i] = 1; char letter = Strings.DefaultPromptType.ToLower().Substring(0, 1)[0]; for (int row = 0; row < table.GetNumRows(); row++) { string type = table.GetData(row, (int)TableColumns.PromptTypes.Type); if (type != null && type.Trim().Length > 0) letter = type.Trim().ToLower().Substring(0, 1)[0]; if (letter - 'a' < 0 || letter - 'a' > 25) letter = Strings.DefaultPromptType.ToLower().Substring(0, 1)[0]; string wording = table.GetData(row, (int)TableColumns.PromptTypes.Wording); if (wording == null || wording.Length == 0 || wording.Trim().StartsWith(Strings.CalculatedPromptStartString) || wording.Trim().StartsWith(Strings.PromptTypeMacroStartString)) continue; string newPromptId; if (stateId != null) { if (promptIdFormat.Equals(Strings.PromptIdFormatFull)) newPromptId = stateId + Strings.PromptIdSeparationChar + letter + Strings.PromptIdSeparationChar + nextNumArray[letter-'a'].ToString(); else newPromptId = statePrefix + stateNumber + Strings.PromptIdSeparationChar + letter + Strings.PromptIdSeparationChar + nextNumArray[letter - 'a'].ToString(); } else newPromptId = Strings.GlobalPromptPrefix + Strings.PromptIdSeparationChar + letter + Strings.PromptIdSeparationChar + nextNumArray[letter - 'a'].ToString(); if (!table.GetData(row, (int)TableColumns.PromptTypes.Id).Equals(newPromptId)) { table.SetData(row, (int)TableColumns.PromptTypes.Id, newPromptId); table.SetData(row, (int)TableColumns.PromptTypes.IdDateStamp, DateTime.Now.ToString(Strings.DateColumnFormatString)); } nextNumArray[letter - 'a']++; added++; } return added; } else if (promptIdFormat.Equals(Strings.PromptIdFormatNumeric)) { int nextNum = startNumber; for (int row = 0; row < table.GetNumRows(); row++) { string wording = table.GetData(row, (int)TableColumns.PromptTypes.Wording); if (wording == null || wording.Length == 0 || wording.Trim().StartsWith(Strings.CalculatedPromptStartString) || wording.Trim().StartsWith(Strings.PromptTypeMacroStartString)) continue; table.SetData(row, (int)TableColumns.PromptTypes.Id, nextNum.ToString()); table.SetData(row, (int)TableColumns.PromptTypes.IdDateStamp, DateTime.Now.ToString(Strings.DateColumnFormatString)); nextNum++; } return nextNum - startNumber; } else return 0; }
public static BindingList<NameValuePairRow> GetRowsFromTable(Table table) { BindingList<NameValuePairRow> list = new BindingList<NameValuePairRow>(); Boolean newStartStep = false; //Version 1.6.1.13+ uses a new set of fields for init data NV pairs - Notes column was added JDK 08-25-2014 if (table.GetNumColumns() >= 5) { newStartStep = true; } if (newStartStep) { for (int r = 0; r < table.GetNumRows(); r++) { NameValuePairRow nv = new NameValuePairRow(); nv.Name = table.GetData(r, (int)TableColumns.NameValuePairs.Name); nv.Value = table.GetData(r, (int)TableColumns.NameValuePairs.Value); nv.Notes = table.GetData(r, (int)TableColumns.NameValuePairs.Notes); nv.NameDateStamp = table.GetData(r, (int)TableColumns.NameValuePairs.NameDateStamp); nv.ValueDateStamp = table.GetData(r, (int)TableColumns.NameValuePairs.ValueDateStamp); nv.NotesDateStamp = table.GetData(r, (int)TableColumns.NameValuePairs.NotesDateStamp); list.Add(nv); } } else { for (int r = 0; r < table.GetNumRows(); r++) { NameValuePairRow nv = new NameValuePairRow(); nv.Name = table.GetData(r, (int)TableColumns.NameValuePairs.Name); nv.Value = table.GetData(r, (int)TableColumns.NameValuePairs.Value); nv.Notes = ""; nv.NameDateStamp = table.GetData(r, (int)TableColumns.NameValuePairs.NameDateStamp); nv.ValueDateStamp = table.GetData(r, (int)TableColumns.NameValuePairs.ValueDateStamp); nv.NotesDateStamp = ""; list.Add(nv); } } return list; }
public static BindingList<ConfirmationPromptRow> GetRowsFromTable(Table table) { BindingList<ConfirmationPromptRow> list = new BindingList<ConfirmationPromptRow>(); for (int row = 0; row < table.GetNumRows(); row++) { ConfirmationPromptRow cp = new ConfirmationPromptRow(); cp.Option = table.GetData(row, (int)TableColumns.ConfirmationPrompts.Option); cp.Condition = table.GetData(row, (int)TableColumns.ConfirmationPrompts.Condition); cp.Wording = table.GetData(row, (int)TableColumns.ConfirmationPrompts.Wording); cp.Id = table.GetData(row, (int)TableColumns.ConfirmationPrompts.Id); cp.OptionDateStamp = table.GetData(row, (int)TableColumns.ConfirmationPrompts.OptionDateStamp); cp.ConditionDateStamp = table.GetData(row, (int)TableColumns.ConfirmationPrompts.ConditionDateStamp); cp.WordingDateStamp = table.GetData(row, (int)TableColumns.ConfirmationPrompts.WordingDateStamp); cp.IdDateStamp = table.GetData(row, (int)TableColumns.ConfirmationPrompts.IdDateStamp); list.Add(cp); } return list; }
internal static void SetTableDataAndDateIfNecessary(Table table, int row, string newValue, TableColumns.NameValuePairs valueColumn, TableColumns.NameValuePairs dateColumn) { string oldValue = table.GetData(row, (int)valueColumn); if (oldValue.Equals(newValue)) return; table.SetData(row, (int)valueColumn, newValue); table.SetData(row, (int)dateColumn, DateTime.Today.ToString(Strings.DateColumnFormatString)); }
private int RedoPromptIds(int startNumber, string promptIdFormat, Table table) { if (promptIdFormat.Equals(Strings.PromptIdFormatFull) || promptIdFormat.Equals(Strings.PromptIdFormatPartial)) { string stateId = GetStateId(); string statePrefix, stateNumber, stateName; DisectStateIdIntoParts(stateId, out statePrefix, out stateNumber, out stateName); int nextNum = 1; for (int row = 0; row < table.GetNumRows(); row++) { string wording = table.GetData(row, (int)TableColumns.Prompts.Wording); if (wording == null || wording.Length == 0 || wording.Trim().StartsWith(Strings.CalculatedPromptStartString) || wording.Trim().StartsWith(Strings.PromptTypeMacroStartString)) continue; string newPromptId; if (stateId != null) { if (promptIdFormat.Equals(Strings.PromptIdFormatFull)) newPromptId = stateId + Strings.PromptIdSeparationChar + Strings.DefaultPromptLetter + Strings.PromptIdSeparationChar + nextNum.ToString(); else newPromptId = statePrefix + stateNumber + Strings.PromptIdSeparationChar + Strings.DefaultPromptLetter + Strings.PromptIdSeparationChar + nextNum.ToString(); } else newPromptId = Strings.DefaultPromptLetter.ToString() + Strings.PromptIdSeparationChar + nextNum; if (!table.GetData(row, (int)TableColumns.Prompts.Id).Equals(newPromptId)) { table.SetData(row, (int)TableColumns.Prompts.Id, newPromptId); table.SetData(row, (int)TableColumns.Prompts.IdDateStamp, DateTime.Now.ToString(Strings.DateColumnFormatString)); } nextNum++; } if (nextNum - 1 > 0) SetPrompts(table); return nextNum - 1; } else if (promptIdFormat.Equals(Strings.PromptIdFormatNumeric)) { int nextNum = startNumber; for (int row = 0; row < table.GetNumRows(); row++) { string wording = table.GetData(row, (int)TableColumns.Prompts.Wording); if (wording == null || wording.Length == 0 || wording.Trim().StartsWith(Strings.CalculatedPromptStartString) || wording.Trim().StartsWith(Strings.PromptTypeMacroStartString)) continue; table.SetData(row, (int)TableColumns.Prompts.Id, nextNum.ToString()); table.SetData(row, (int)TableColumns.Prompts.IdDateStamp, DateTime.Now.ToString(Strings.DateColumnFormatString)); nextNum++; } if (nextNum - startNumber > 0) SetPrompts(table); return nextNum - startNumber; } else return 0; }
internal static DateTime MaxDateWithDateColumn(DateTime date, Table table, int column) { DateTime maxDate = date; for (int r = 0; r < table.GetNumRows(); r++) { DateTime changeDate = ForcedStringToDate(table.GetData(r, column)); if (changeDate > maxDate) maxDate = changeDate; } return maxDate; }
internal void SetSpecialSettings(Table table) { Table tmp = GetSpecialSettings(); if ((table.GetData(0, 0) == null || table.GetData(0, 0).Length == 0) && tmp.IsEmpty()) return; if (tmp.IsEmpty()) { //table.SetData(0, (int)TableColumns.SpecialSettings.TextDateStamp, DateTime.Now.ToString(Strings.DateColumnFormatString)); table.SetData(0, (int)TableColumns.SpecialSettings.TextDateStamp, PathMaker.LookupChangeLogShadow().GetLastChangeVersion());//JDK added Common.SetCellTable(shape, ShapeProperties.Play.SpecialSettings, table); } else if (!tmp.GetData(0, (int)TableColumns.SpecialSettings.Text).Equals(table.GetData(0, (int)TableColumns.SpecialSettings.Text))) { //table.SetData(0, (int)TableColumns.SpecialSettings.TextDateStamp, DateTime.Now.ToString(Strings.DateColumnFormatString)); table.SetData(0, (int)TableColumns.SpecialSettings.TextDateStamp, PathMaker.LookupChangeLogShadow().GetLastChangeVersion());//JDK added Common.SetCellTable(shape, ShapeProperties.Play.SpecialSettings, table); } }
private static void FillTransitionTable(Microsoft.Office.Interop.Word.Table wordTable, int wordTableBeginRow, Table table) { InsertWordTableRows(wordTable, wordTableBeginRow, table.GetNumRows() - 1); for (int row = 0; row < table.GetNumRows(); row++) { string condition = table.GetData(row, (int)TableColumns.Transitions.Condition); string action = table.GetData(row, (int)TableColumns.Transitions.Action); string goingTo = table.GetData(row, (int)TableColumns.Transitions.Goto); string conditionDate = table.GetData(row, (int)TableColumns.Transitions.ConditionDateStamp); string actionDate = table.GetData(row, (int)TableColumns.Transitions.ActionDateStamp); string goingToDate = table.GetData(row, (int)TableColumns.Transitions.GotoDateStamp); Cell cell = wordTable.Cell(wordTableBeginRow + row, 1); cell.Range.InsertAfter(Common.StripBracketLabels(condition)); SetCellBackgroundColorIfNecessary(cell, conditionDate); cell = wordTable.Cell(wordTableBeginRow + row, 2); BuildConditionActionGotoCell(cell, "", "", action, actionDate, goingTo, goingToDate); } }
private static void FillPromptTypesTable(Microsoft.Office.Interop.Word.Table wordTable, int wordTableBeginRow, Table table) { // prompts with conditions get split over 2 rows - need to add extra for them int conditionsWithPrompts = CountConditionsWithPrompts(table, (int)TableColumns.ConfirmationPrompts.Condition, (int)TableColumns.ConfirmationPrompts.Wording); // There's already one row in the template, so always subtract 1 InsertWordTableRows(wordTable, wordTableBeginRow, table.GetNumRows() + conditionsWithPrompts - 1); int level = 0; int wordingLevel = 0; int currentWordTableRow = wordTableBeginRow; for (int row = 0; row < table.GetNumRows(); row++) { string type = table.GetData(row, (int)TableColumns.PromptTypes.Type); string condition = table.GetData(row, (int)TableColumns.PromptTypes.Condition); string wording = Common.StripBracketLabels(table.GetData(row, (int)TableColumns.PromptTypes.Wording)); string id = table.GetData(row, (int)TableColumns.PromptTypes.Id); string typeDate = table.GetData(row, (int)TableColumns.PromptTypes.TypeDateStamp); string conditionDate = table.GetData(row, (int)TableColumns.PromptTypes.ConditionDateStamp); string wordingDate = table.GetData(row, (int)TableColumns.PromptTypes.WordingDateStamp); string idDate = table.GetData(row, (int)TableColumns.PromptTypes.IdDateStamp); Cell cell = wordTable.Cell(currentWordTableRow, 1); if (OptionOrPromptTypeEntriesSameAsPrevious(table, row, (int)TableColumns.ConfirmationPrompts.Option)) cell.Range.Borders[WdBorderType.wdBorderTop].LineStyle = WdLineStyle.wdLineStyleNone; else { cell.Range.InsertAfter(Common.StripBracketLabels(type)); level = 0; wordingLevel = 0; } SetCellBackgroundColorIfNecessary(cell, typeDate); cell = wordTable.Cell(currentWordTableRow, 2); if (condition.Length > 0) { level = Common.GetConditionLevel(condition); wordingLevel = level + 1; } condition = condition.Replace(Strings.IndentCharacterString, "").Trim(); if (condition.Length > 0) { cell.Range.ParagraphFormat.IndentCharWidth((short)level); cell.Range.InsertAfter(condition); cell.Range.Font.Italic = 1; SetCellBackgroundColorIfNecessary(cell, conditionDate); } if (wording.Length > 0) { if (condition.Length > 0) { // goes on a separate line after the condition row and indented currentWordTableRow++; // clear the border in column 1 so it looks like part of the one above wordTable.Cell(currentWordTableRow, 1).Range.Borders[WdBorderType.wdBorderTop].LineStyle = WdLineStyle.wdLineStyleNone; } cell = wordTable.Cell(currentWordTableRow, 2); cell.Range.ParagraphFormat.IndentCharWidth((short)wordingLevel); cell.Range.InsertAfter(wording); SetCellBackgroundColorIfNecessary(cell, wordingDate); } if (id.Length > 0) { cell = wordTable.Cell(currentWordTableRow, 3); cell.Range.InsertAfter(id); SetCellBackgroundColorIfNecessary(cell, idDate); } currentWordTableRow++; } }
internal static void LoadSpecialSettingsTextBox(TextBox textBox, Table table) { if (!table.IsEmpty()) textBox.Text = table.GetData(0, (int)TableColumns.SpecialSettings.Text); else textBox.Text = string.Empty; textBox.KeyDown -= new KeyEventHandler(OnTextBoxKeyDownForEditorHotKey); textBox.KeyDown += new KeyEventHandler(OnTextBoxKeyDownForEditorHotKey); }
internal void SetDeveloperNotes(Table table) { Table tmp = GetDeveloperNotes(); if ((table.GetData(0, 0) == null || table.GetData(0, 0).Length == 0) && tmp.IsEmpty()) return; if (tmp.IsEmpty()) { table.SetData(0, (int)TableColumns.DeveloperNotes.TextDateStamp, DateTime.Now.ToString(Strings.DateColumnFormatString)); Common.SetCellTable(shape, ShapeProperties.DeveloperNotes, table); } else if (!tmp.GetData(0, (int)TableColumns.DeveloperNotes.Text).Equals(table.GetData(0, (int)TableColumns.DeveloperNotes.Text))) { table.SetData(0, (int)TableColumns.DeveloperNotes.TextDateStamp, DateTime.Now.ToString(Strings.DateColumnFormatString)); Common.SetCellTable(shape, ShapeProperties.DeveloperNotes, table); } }
public static BindingList<ResultsRow> GetRowsFromTable(Table table) { BindingList<ResultsRow> list = new BindingList<ResultsRow>(); for (int r = 0; r < table.GetNumRows(); r++) { ResultsRow txt = new ResultsRow(); txt.Error = table.GetData(r, 0); list.Add(txt); } return list; }
private static void FillNameValuePairs(Microsoft.Office.Interop.Word.Table wordTable, int wordTableBeginRow, Table table) { InsertWordTableRows(wordTable, wordTableBeginRow, table.GetNumRows() - 1); for (int row = 0; row < table.GetNumRows(); row++) { string name = table.GetData(row, (int)TableColumns.NameValuePairs.Name); string value = table.GetData(row, (int)TableColumns.NameValuePairs.Value); //string notes = table.GetData(row, (int)TableColumns.NameValuePairs.Notes); string nameDate = table.GetData(row, (int)TableColumns.NameValuePairs.NameDateStamp); string valueDate = table.GetData(row, (int)TableColumns.NameValuePairs.ValueDateStamp); //string notesDate = table.GetData(row, (int)TableColumns.NameValuePairs.NotesDateStamp); Cell cell = wordTable.Cell(wordTableBeginRow + row, 1); cell.Range.InsertAfter(name); SetCellBackgroundColorIfNecessary(cell, nameDate); cell = wordTable.Cell(wordTableBeginRow + row, 2); cell.Range.InsertAfter(value); SetCellBackgroundColorIfNecessary(cell, valueDate); //cell = wordTable.Cell(wordTableBeginRow + row, 3); //cell.Range.InsertAfter(notes); //SetCellBackgroundColorIfNecessary(cell, notesDate); } }
private static int CountConditionsWithPrompts(Table table, int conditionColumn, int wordingColumn) { int count = 0; for (int r = 0; r < table.GetNumRows(); r++) { string condition = table.GetData(r, conditionColumn); string wording = table.GetData(r, wordingColumn); condition = condition.Replace(Strings.IndentCharacterString, "").Trim(); if (condition.Length > 0 && wording.Length > 0) count++; } return count; }
private static void FillCommandTransitionTable(Microsoft.Office.Interop.Word.Table wordTable, int wordTableBeginRow, Table table) { InsertWordTableRows(wordTable, wordTableBeginRow, table.GetNumRows() - 1); for (int row = 0; row < table.GetNumRows(); row++) { string option = table.GetData(row, (int)TableColumns.CommandTransitions.Option); string vocab = table.GetData(row, (int)TableColumns.CommandTransitions.Vocab); string dtmf = table.GetData(row, (int)TableColumns.CommandTransitions.DTMF); string condition = table.GetData(row, (int)TableColumns.CommandTransitions.Condition); string action = table.GetData(row, (int)TableColumns.CommandTransitions.Action); string goingTo = table.GetData(row, (int)TableColumns.CommandTransitions.Goto); string confirm = table.GetData(row, (int)TableColumns.CommandTransitions.Confirm); string optionDate = table.GetData(row, (int)TableColumns.CommandTransitions.OptionDateStamp); string vocabDate = table.GetData(row, (int)TableColumns.CommandTransitions.VocabDateStamp); string dtmfDate = table.GetData(row, (int)TableColumns.CommandTransitions.DTMFDateStamp); string conditionDate = table.GetData(row, (int)TableColumns.CommandTransitions.ConditionDateStamp); string actionDate = table.GetData(row, (int)TableColumns.CommandTransitions.ActionDateStamp); string goingToDate = table.GetData(row, (int)TableColumns.CommandTransitions.GotoDateStamp); string confirmDate = table.GetData(row, (int)TableColumns.CommandTransitions.ConfirmDateStamp); Cell cell = wordTable.Cell(wordTableBeginRow + row, 1); if (OptionOrPromptTypeEntriesSameAsPrevious(table, row, (int)TableColumns.CommandTransitions.Option)) cell.Range.Borders[WdBorderType.wdBorderTop].LineStyle = WdLineStyle.wdLineStyleNone; else cell.Range.InsertAfter(Common.StripBracketLabels(option)); SetCellBackgroundColorIfNecessary(cell, optionDate); cell = wordTable.Cell(wordTableBeginRow + row, 2); cell.Range.InsertAfter(vocab); SetCellBackgroundColorIfNecessary(cell, vocabDate); cell = wordTable.Cell(wordTableBeginRow + row, 3); cell.Range.InsertAfter(dtmf); SetCellBackgroundColorIfNecessary(cell, dtmfDate); cell = wordTable.Cell(wordTableBeginRow + row, 4); BuildConditionActionGotoCell(cell, condition, conditionDate, action, actionDate, goingTo, goingToDate); cell = wordTable.Cell(wordTableBeginRow + row, 5); cell.Range.InsertAfter(confirm); SetCellBackgroundColorIfNecessary(cell, confirmDate); } }
private static void AddMaxHandlingToCache(string source, Table table) { for (int row = 0; row < table.GetNumRows(); row++) { string gotoData = table.GetData(row, (int)TableColumns.MaxHandling.Goto); if (gotoData == null || gotoData.Length == 0) continue; Shadow targetShadow = Common.GetGotoTargetFromData(gotoData); string targetName; if (targetShadow != null) { targetName = CachedGetGotoName(targetShadow); List<string> fromStates; if (gotoMaxHandlerCache.TryGetValue(targetName, out fromStates)) fromStates.Add(source); else { fromStates = new List<string>(); fromStates.Add(source); gotoMaxHandlerCache.Add(targetName, fromStates); } } } }
public static BindingList<StartCommandTransitionRow> GetRowsFromTable(Table table) { BindingList<StartCommandTransitionRow> list = new BindingList<StartCommandTransitionRow>(); for (int row = 0; row < table.GetNumRows(); row++) { StartCommandTransitionRow ct = new StartCommandTransitionRow(); ct.Action = table.GetData(row, (int)TableColumns.CommandTransitions.Action); ct.Condition = table.GetData(row, (int)TableColumns.CommandTransitions.Condition); ct.Confirm = table.GetData(row, (int)TableColumns.CommandTransitions.Confirm); ct.DTMF = table.GetData(row, (int)TableColumns.CommandTransitions.DTMF); ct.Goto = table.GetData(row, (int)TableColumns.CommandTransitions.Goto); ct.Option = table.GetData(row, (int)TableColumns.CommandTransitions.Option); ct.Vocab = table.GetData(row, (int)TableColumns.CommandTransitions.Vocab); ct.ActionDateStamp = table.GetData(row, (int)TableColumns.CommandTransitions.ActionDateStamp); ct.ConditionDateStamp = table.GetData(row, (int)TableColumns.CommandTransitions.ConditionDateStamp); ct.ConfirmDateStamp = table.GetData(row, (int)TableColumns.CommandTransitions.ConfirmDateStamp); ct.DTMFDateStamp = table.GetData(row, (int)TableColumns.CommandTransitions.DTMFDateStamp); ct.GotoDateStamp = table.GetData(row, (int)TableColumns.CommandTransitions.GotoDateStamp); ct.OptionDateStamp = table.GetData(row, (int)TableColumns.CommandTransitions.OptionDateStamp); ct.VocabDateStamp = table.GetData(row, (int)TableColumns.CommandTransitions.VocabDateStamp); list.Add(ct); } return list; }
//JDK this was added to help with highlight colors with multiple versions on the same day internal static String MaxVersionWithDateColumn(string version, Table table, int column) { String maxVersion = version; String tempVersionStampFix = ""; //double decimalValue = 0; for (int r = 0; r < table.GetNumRows(); r++) { String lastVersionStamp = table.GetData(r, column); //NEW CODE STARTS HERE //if (lastVersionStamp.Trim().IndexOf("/")>=0 || lastVersionStamp.Trim().Equals("")) String tempCleanedVerLabel = CleanupVersionLabel(lastVersionStamp); if (!tempCleanedVerLabel.Equals(lastVersionStamp)) { DateTime tempDTStamp; if (DateTime.TryParse(lastVersionStamp, out tempDTStamp)) { tempVersionStampFix = PathMaker.LookupChangeLogShadow().GetVersionStringForChange(tempDTStamp); lastVersionStamp = tempVersionStampFix; //lastVersionStamp = PathMaker.LookupChangeLogShadow().GetValidVersionString(PathMaker.LookupChangeLogShadow().GetChangeLog(), tempVersionStampFix); table.SetData(r, column, lastVersionStamp);//JDK temporarily removed for testing } } if (Common.ForcedStringVersionToDouble(lastVersionStamp) > Common.ForcedStringVersionToDouble(maxVersion)) maxVersion = lastVersionStamp; //NEW CODE ENDS HERE } return maxVersion; }