void VisualizeStatsAboutEvent(CEvent Event) { //Кол-во трасс с выбранным событием int Count = 0; foreach (var Trace in NowView.Traces) if (Trace.Events.FindIndex(x => x.Name == Event.Name) != -1) Count++; CaseEventCount.Text = Count.ToString("F2"); CaseEventPercent.Text = ((double)Count/(double)NowView.TraceCount).ToString(); }
public static CEvent GenerateEvent(CLog log, ref Random rand) { CEvent evt = new CEvent(log); evt.Name = GenerateString(ref rand); evt.Date = GenerateDateTimeOffset(ref rand); int paramsCount = rand.Next(0, 15); for (int i = 0; i < paramsCount; i++) try { evt[GenerateString(ref rand, 7)] = evt.Name; } catch (ArgumentException) { File.AppendAllText(@"C:\Users\Fedor\Документы ВШЭ\Программирование\Курсовая\Log ver 2 Test Results\Error Log.txt", "Попытка присвоить значение другого типа\r\n"); } paramsCount = rand.Next(0, 15); for (int i = 0; i < paramsCount;i++ ) try { evt[GenerateString(ref rand, 10)] = rand.Next(); } catch (ArgumentException) { File.AppendAllText(@"C:\Users\Fedor\Документы ВШЭ\Программирование\Курсовая\Log ver 2 Test Results\Error Log.txt", "Попытка присвоить значение другого типа\r\n"); } paramsCount = rand.Next(0, 15); for (int i = 0; i < paramsCount;i++ ) try { evt[GenerateString(ref rand)] = rand.NextDouble() + rand.Next(); } catch (ArgumentException) { File.AppendAllText(@"C:\Users\Fedor\Документы ВШЭ\Программирование\Курсовая\Log ver 2 Test Results\Error Log.txt", "Попытка присвоить значение другого типа\r\n"); } return evt; }
/// <summary> /// Удаляет событие /// </summary> public void Remove(CEvent evt) { Events.Remove(evt); }
/// <summary> /// Добавляет событие в трассу /// </summary> public void Add(CEvent evt) { Events.Add(evt); }
// Открывает XES в класс Log private static void open_xml_to_class(XmlDocument doc, out CLog log, out List<XmlNode> trash) { int ErrorCount = 0; DateTimeOffset? date = null; XmlNodeList listoftraces = doc.DocumentElement.ChildNodes; XmlNodeList listofevents; XmlNodeList listofnames; CultureInfo a = new CultureInfo(CultureInfo.CurrentCulture.Name); a.NumberFormat.NumberDecimalSeparator = "."; log = new CLog(); trash = new List<XmlNode>(); foreach (XmlNode trace in listoftraces) { if (trace.Name == "trace") { CTrace tr = new CTrace(); listofevents = trace.ChildNodes; foreach (XmlNode node in listofevents) { switch (node.Name) { case "string": if (node.Attributes[0].Value == "concept:name") tr.Name = node.Attributes[1].Value; else tr.Text_Parameters.Add(node.Attributes[0].Value, node.Attributes[1].Value); break; case "int": try { tr.Int_Parameters.Add(node.Attributes[0].Value, int.Parse(node.Attributes[1].Value)); //TODO Это } catch { ErrorCount++; } break; case "float": try { tr.Double_Parameters.Add(node.Attributes[0].Value, double.Parse(node.Attributes[1].Value)); } catch { ErrorCount++; } break; case "boolean": try { tr.Bool_Parameters.Add(node.Attributes[0].Value, bool.Parse(node.Attributes[1].Value)); } catch { ErrorCount++; } break; case "event": CEvent ev = new CEvent(log); listofnames = node.ChildNodes; foreach (XmlNode name in listofnames) switch (name.Name) { case "date": DateTimeOffset dat = new DateTimeOffset(); DateTimeOffset.TryParse(name.Attributes[1].Value, out dat); date = dat; ev.Date = date; break; case "string": if (name.Attributes[0].Value != "concept:name") ev.Text_Parameters.Add(name.Attributes[0].Value, name.Attributes[1].Value); else ev.Name = name.Attributes[1].Value; break; case "int": try { ev.Int_Parameters.Add(name.Attributes[0].Value, int.Parse(name.Attributes[1].Value)); } catch { ErrorCount++; } break; case "float": try { ev.Double_Parameters.Add(name.Attributes[0].Value, double.Parse(name.Attributes[1].Value, a)); } catch { ErrorCount++; } //TODO Создать логгирующую ошибки системы break; case "boolean": try { ev.Bool_Parameters.Add(name.Attributes[0].Value, bool.Parse(name.Attributes[1].Value)); } catch { ErrorCount++; } break; } tr.Add(ev); break; } } log.Add(tr); } else trash.Add(trace); } listofevents = null; listofnames = null; listoftraces = null; if ((ErrorCountEvent != null) && (ErrorCount > 0)) ErrorCountEvent(ErrorCount); }
public void TestMethod4() { CLog log = new CLog(); CEvent evt; for (int i=0;i<100;i++) evt = new CEvent(log); for (int i=0;i<100;i++) Assert.AreEqual(i,log[i,-1].EventID); }
public void TestMethod3() { CLog log = new CLog(); CEvent evt = new CEvent(log); log[0,-1].Name = "test1"; Assert.AreEqual("test1", evt.Name); }
public void CLogEventNamesTest() { CLog log = new CLog(); string name = ""; for (int i=1;i<15;i++) { name += "a"; for (int j = 0; j < i; j++) { CEvent evt = new CEvent(log); evt.Name = name; } } Assert.AreEqual(14, log.EventNamesCount); name = ""; foreach (string key in log.EventNames) name += key + "\r\n"; File.WriteAllText(String.Format(@"C:\Users\Fedor\Документы ВШЭ\Программирование\Курсовая\Log ver 2 Test Results\CLogEventNamesTest{3}_{4}_{0}_{1}_{2}.txt", DateTime.Now.Day.ToString(),DateTime.Now.Month.ToString(),DateTime.Now.Year.ToString(),DateTime.Now.Hour.ToString(),DateTime.Now.Minute.ToString()), name); }