private Learner DataOrArchive(ILearnerDataService dataService, int learnerId) { LearnerResponse response = dataService.GetLearner(learnerId); return(response.IsArchived ? _archiveService.GetLearner(learnerId) : response.Learner); }
public void Teardown() { _archiveService = null; _failoverDataService = null; _liveDataService = null; _failoverService = null; _sut = null; }
public void Setup() { _archiveService = A.Fake <ILearnerArchiveService>(); _failoverDataService = A.Fake <ILearnerDataService>(); _liveDataService = A.Fake <ILearnerDataService>(); _failoverService = A.Fake <IFailoverService>(); _sut = new LearnerService(_archiveService, _failoverDataService, _liveDataService, _failoverService); }
public LearnerService( ILearnerArchiveService archiveService , ILearnerDataService failoverDataService , ILearnerDataService liveDataService , IFailoverService failoverService ) { _archiveService = archiveService; _failoverDataService = failoverDataService; _liveDataService = liveDataService; _failoverService = failoverService; }
// inFailoverMode passed as a Func as we only want to call it (expensive) when required private Func <int, Learner> GetStrategy(bool isLearnerArchived, Func <bool> inFailoverMode) { if (isLearnerArchived) { return((id) => _archiveService.GetLearner(id)); } else { ILearnerDataService dataService = inFailoverMode() ? _failoverDataService : _liveDataService; return((id) => DataOrArchive(dataService, id)); } }