private async Task SaveTraceAsync(LogsDatabaseContext context, HttpEntry entry) { try { var trace = new Entities.Trace { Id = Guid.NewGuid(), CallDuration = entry.CallDuration, CallerIdentity = entry.CallerIdentity ?? "(anonymous)", ReasonPhrase = entry.ReasonPhrase, RequestHeaders = ProcessHeaders(entry.RequestHeaders), ResponseHeaders = ProcessHeaders(entry.ResponseHeaders), RequestPayload = entry.Request, RequestTimestamp = entry.CallDateTime, ResponsePayload = entry.Response, StatusCode = entry.StatusCode, Url = entry.RequestUri.AbsolutePath, Verb = entry.Verb }; context.Traces.Add(trace); await context.SaveChangesAsync(); } catch { } }
public static Entities.Trace Add(Entities.Trace item) { Entities.Trace result = new Entities.Trace(); var dbContext = new Naboo.DataAccess.Model.OSAgnosticContext(ConnectionHandler.ConnectionString()); Naboo.DataAccess.Model.Trace jobDb = item.Convert(); dbContext.Trace.Add(jobDb); dbContext.SaveChanges(); result = jobDb.Convert(); return(result); }