protected FuncResult <Session> GetSessionInternal(string sessionId) { if (!sessions.ContainsKey(sessionId)) { return(FuncResult.Failed <Session>()); } return(sessions[sessionId].AsFuncResult()); }
protected FuncResult <string> ReadFromFile(string filePath) { if (!File.Exists(filePath)) { return(FuncResult.Failed <string>()); } var content = File.ReadAllText(filePath); return(content.AsFuncResult()); }
public FuncResult <Snapshot> GetSnapshotSave(string sessionId, string snapshotId) { var sessionResult = GetSessionSave(sessionId); if (sessionResult.IsSuccessful) { var snapshotResult = sessionResult.Value.GetSnapshotSave(snapshotId); return(snapshotResult); } return(FuncResult.Failed <Snapshot>()); }
public FuncResult <Snapshot> GetSnapshotSave(string sessionId, string snapshotId) { Contract.NotNull <ArgumentNullException>(sessionId); Contract.NotNull <ArgumentNullException>(snapshotId); var filePath = GetPathForSnapshot(sessionId, snapshotId); var resultFromFile = ReadFromFile(filePath); if (resultFromFile.IsSuccessful) { var snapshot = Deserialize <Snapshot>(resultFromFile.Value); return(snapshot.AsFuncResult()); } return(FuncResult <Snapshot> .Failed()); }
public FuncResult <Session> GetSessionSave(string sessionId) { Contract.NotNull <ArgumentNullException>(sessionId); var filePath = GetPathForSession(sessionId); var resultFromFile = ReadFromFile(filePath); if (resultFromFile.IsSuccessful) { var session = Deserialize <Session>(resultFromFile.Value); session = FillSnapshotsFromSnapshotFiles(session); return(session.AsFuncResult()); } return(FuncResult <Session> .Failed()); }
public FuncResult <Session> GetSessionSave(string sessionId) { var result = GetSessionInternal(sessionId); if (result.IsSuccessful) { return(result); } if (settings.IsSessionAutoCreate) { var session = CreateSession(sessionId); return(session.AsFuncResult()); } return(FuncResult.Failed <Session>()); }
public FuncResult <Session> GetSessionSave(string sessionId) { if (settings.IsEnabledFileCache && inMemoryStorage.DoesSessionExist(sessionId)) { return(inMemoryStorage.GetSessionSave(sessionId)); } var resultFromFile = dataProvider.GetSessionSave(sessionId); if (resultFromFile.IsSuccessful) { inMemoryStorage.Add(resultFromFile.Value); return(resultFromFile); } if (settings.IsSessionAutoCreate) { var session = inMemoryStorage.CreateSession(sessionId); return(session.AsFuncResult()); } return(FuncResult.Failed <Session>()); }
public static FuncResult <TValue> Failed <TValue>() { return(FuncResult <TValue> .Failed()); }