public void Save_Persists() { var sourceRepo = new SqlSourceRepository(); var batchRepository = new SqlBatchRepository(); var logEventRepo = new SqlLogEventRepository(); var source = sourceRepo.GetOrCreate("BatchTest", null); var batch = batchRepository.Create(source); var logEvent = new LogEvent(); logEvent.Batch = batch; logEvent.Exception = "woooah"; logEvent.Message = "unit test"; logEvent.TimeStamp = DateTime.Parse("2012-05-06 13:40"); logEventRepo.Save(logEvent); var events = logEventRepo.GetAll(source); // AssertBuilder.Generate(events, "events"); // The following assertions were generated on 06-May-2012 #region CodeGen Assertions Assert.AreEqual(1, events.Count); Assert.That(events[0].Id > 0); Assert.IsNotNull(events[0].Batch); Assert.AreEqual(Convert.ToDateTime("06-May-2012 13:40:00.000"), events[0].TimeStamp); Assert.AreEqual(null, events[0].Level); Assert.AreEqual("unit test", events[0].Message); Assert.AreEqual("woooah", events[0].Exception); #endregion }
public void Save(LogEvent logEvent) { using (var dbContext = new TimberMillDbContext()) { dbContext.Batchs.Attach(logEvent.Batch); dbContext.Sources.Attach(logEvent.Batch.Source); dbContext.LogEvents.Add(logEvent); //dbContext.Entry(logEvent.Batch).State = EntityState.Unchanged; //dbContext.Entry(logEvent.Batch.Source).State = EntityState.Unchanged; dbContext.SaveChanges(); } }
private static LogEvent TimberMillEventFactory(Batch batch, LogEventInfo eventInfo) { LogEvent timberMillEvent = new LogEvent(); timberMillEvent.Batch = batch; timberMillEvent.TimeStamp = eventInfo.TimeStamp; timberMillEvent.Level = eventInfo.Level.Name; timberMillEvent.Message = eventInfo.Message; timberMillEvent.Sequence = eventInfo.SequenceID; foreach(KeyValuePair<object, object> property in eventInfo.Properties) { switch(property.Key.ToString()) { case "exception": timberMillEvent.Exception = property.Value.ToString(); break; } } return timberMillEvent; }