public async Task Update(UssdSessionLog log) { var filter = Builders <MongoDbSessionLog> .Filter.Where(x => x.SessionId == log.SessionId); var update = Builders <MongoDbSessionLog> .Update.Set(x => x.EndTime, log.EndTime) .Set(x => x.DurationInMilliseconds, log.DurationInMilliseconds) .Set(x => x.ErrorStackTrace, log.ErrorStackTrace); await Collection.FindOneAndUpdateAsync(filter, update); }
public async Task Create(UssdSessionLog log) { var mongoLog = new MongoDbSessionLog { StartTime = log.StartTime, ArbitraryData = log.ArbitraryData, SessionId = log.SessionId, Mobile = log.Mobile, EndTime = log.EndTime, Entries = log.Entries, DurationInMilliseconds = log.DurationInMilliseconds, }; await Collection.InsertOneAsync(mongoLog); }
private static async Task PreLog(ILoggingStore store, UssdRequest request, DateTime startTime, string arbitraryData) { if (store == null) { return; } if (request.RequestType != UssdRequestTypes.Initiation) { return; } var log = new UssdSessionLog { Mobile = request.Mobile, SessionId = request.SessionId, StartTime = startTime, ArbitraryData = arbitraryData, }; await store.Create(log); }