public override string ToString() { var ToolCallsToString = ""; var SubString = ""; foreach (Match m in MatchesOfToolCalls) { ToolCall tc = new ToolCall(m); if (!IsRestrictiveToolValue(tc.OrgToolCallValue - tc.OrgToolRangeValue)) { SubString = ""; } else { SubString = " (≙ Standardwerkzeug)"; } ToolCallsToString = ToolCallsToString + "• " + m.Value + SubString + "\n"; } return(ToolCallsToString + "\n-------------- INFORMATION --------------" + "\n(• " + this.MatchesOfToolCalls.Count.ToString() + "x '" + ToolCallString + "' insgesamt)" + "\n(• " + (this.MatchesOfToolCalls.Count - this.CountOfRestrictiveToolValues).ToString() + "x veränderbare '" + ToolCallString + "')" + "\n(• " + this.CountOfRestrictiveToolValues.ToString() + "x Standardwerkzeuge)"); }
private bool DetectIsToolRangeConsistent() { decimal[] ToolCallValues = new decimal[0]; decimal CalcConsistency = 0; OnlyRestrictiveToolValues = true; foreach (Match m in MatchesOfToolCalls) { ToolCall tc = new ToolCall(m); //Continue ForEach by Restriction if (IsRestrictiveToolValue(tc.OrgToolCallValue - tc.OrgToolRangeValue)) { this.CountOfRestrictiveToolValues++; continue; } else if (OnlyRestrictiveToolValues) { OnlyRestrictiveToolValues = false; FirstNotRestrictiveToolValue = tc.OrgToolCallValue - Int32.Parse(tc.OrgToolRangeValue.ToString()); } if (m.Groups.Count > 1) { Array.Resize(ref ToolCallValues, ToolCallValues.Length + 1); ToolCallValues[ToolCallValues.Length - 1] = System.Math.Floor(decimal.Parse(m.Groups[1].ToString()) / 1000); CalcConsistency = CalcConsistency + ToolCallValues[ToolCallValues.Length - 1]; } } if (ToolCallValues.Length > 0) { OriginalToolRange = Int32.Parse(ToolCallValues[0].ToString()); if (CalcConsistency / ToolCallValues.Length != ToolCallValues[0]) { return(false); } else { return(true); } } else { return(true); } }
public void ChangeToolRange(int newRange, bool showErrAtInconsistency) { if (IsToolRangeConsistent == false && showErrAtInconsistency) { DialogResult result = MessageBox.Show(NoteText + "\n" + "\n" + this.ToString() + "\n" + "Neuen ToolRange dennoch in '" + newRange.ToString() + "' ändern?", "HINWEIS... " + FrmMain.AboutApp, MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2); if (result == DialogResult.No) { return; } } var newFileContent = FileContent; string newToolCallString; int newToolCallValue; foreach (Match m in MatchesOfToolCalls) { var tc = new ToolCall(m); //Continue ForEach by Restriction if (IsRestrictiveToolValue(tc.OrgToolCallValue - tc.OrgToolRangeValue)) { continue; } newToolCallValue = (Int32.Parse(tc.OrgToolCallString.Replace(ToolCallString + " ", "")) - Int32.Parse(tc.OrgToolRangeValue.ToString())) + (newRange * 1000); newToolCallString = tc.OrgToolCallString.Replace(tc.OrgToolCallValue.ToString(), newToolCallValue.ToString()); newFileContent = newFileContent.Replace(tc.OrgToolCallString, newToolCallString); } System.IO.File.WriteAllText(System.IO.Path.Combine(File.DirectoryName, File.Name), newFileContent); }