public SampleWorkflow(Sample sample, DataLocker <Sample> locker) : base(sample, locker) { int id = sample.Id; SampleTests.AddFilter(() => e => e.SampleId == id); var task = UpdateChildsAsync(); SetState(sample.Stage); }
public SampleWorkflow(Sample sample, DataLocker <Sample> locker) : base(sample, locker) { var id = sample.Id; SampleTests.AddFilter(() => e => e.SampleId == id); H <SampleWorkflow> .Initialize(this); var task = UpdateChildrenAsync(); SetState(sample.Stage); }
public void Log(LogLevel level, string message, params object[] args) { string str = args.Length > 0 ? string.Format(message, args) : message; #if DEBUG Trace.WriteLine(str); #endif /* * switch(level) * { * case LogLevel.debug: logger.Debug(str); * break; * * case LogLevel.info: logger.Info(str); * break; * * case LogLevel.warning: logger.Warn(str); * break; * * case LogLevel.error: logger.Error(str); * break; * * case LogLevel.fatal: logger.Fatal(str); * break; * } */ using (DataLocker <List <LogEntry> > entries = Entries) { LogEntry entry = new LogEntry(m_entriesID++, str, level); entries.Data.Add(entry); if (entries.Data.Count > ENTRIES_LIMIT) { entries.Data.RemoveAt(0); } // LogEvent is fired inside the lock to sync the new entry and the prop "Entries" if (LogEvent != null) { LogEvent(entry); } } }
private void UpdateLogHandler(bool attach) { if (m_hasLogHandler == attach) { return; } if (attach) { using (DataLocker <List <LogEntry> > entries = LogsManager.Instance.Entries) { m_logsCollection.Clear(); foreach (LogEntry entry in entries.Data) { OnLog(entry.Message, false); } BindLogs(); LogsManager.Instance.AddHandler(OnLogEvent); } /* * List<LogItem> logsCollection = new List<LogItem>(); * * Random rnd = new Random(); * int count = rnd.Next(1, 100); * for(int i = 0; i < count; i++) * { * logsCollection.Add(new LogItem { Content = i.ToString() }); * } * * m_logsView.ItemsSource = logsCollection; */ } else { LogsManager.Instance.RemoveHandler(OnLogEvent); } m_hasLogHandler = attach; }
public void LockObjectTest() { try { var pc = new ControllerContainer.PartController(); var part = pc.Select(1); var dl = new DataLocker("deadbeef", 1); dl.Add(part); part.Amount = 4040.00f; part.LastUpdate = DateTime.Now; var same = dl.Validate(part); Assert.AreNotEqual(same, false); } catch (Exception ex) { Assert.AreEqual(0, 1); Debug.Write(ex); } }
private List <string> GetCurrentLog(FormatType formatType = FormatType.HTML, LogTime logTime = LogTime.UTC) { SimpleDateFormat dateFormatter = null; Date logCurrenTimeZone = null; Calendar calendar = null; List <string> logItem = null; long utcTimeStamp = 0; string log = ""; calendar = Calendar.Instance; dateFormatter = new SimpleDateFormat("dd MMM yyyy HH:mm:ss"); if (logTime == LogTime.UTC) { dateFormatter.TimeZone = Java.Util.TimeZone.GetTimeZone("GMT"); } using (DataLocker <List <LogEntry> > entries = LogsManager.Instance.Entries) { logItem = new List <string>(); foreach (LogEntry entry in entries.Data) { utcTimeStamp = (entry.Timestamp.Ticks / TimeSpan.TicksPerSecond) - unixEpochTime; calendar.TimeInMillis = utcTimeStamp * 1000; logCurrenTimeZone = (Date)calendar.Time; switch (formatType) { case FormatType.HTML: { log = "<font color='blue'>" + dateFormatter.Format(logCurrenTimeZone) + "</font> [<font color='"; switch (entry.Level) { case LogLevel.debug: { log += "purple"; } break; case LogLevel.error: { log += "red"; } break; case LogLevel.fatal: { log += "red"; } break; case LogLevel.info: { log += "darkgreen"; } break; case LogLevel.warning: { log += "orange"; } break; default: { log += "black"; } break; } log += "'>" + entry.Level + "</font>]: " + entry.Message; } break; case FormatType.PLAIN_TEXT: { log = dateFormatter.Format(logCurrenTimeZone) + " UTC [" + entry.Level + "] " + entry.Message; } break; default: { log = ""; } break; } logItem.Add(log); } } return(logItem); }