public async Task CalculateData(CommonSuggestionEngineData commonData) { if (HasCalculatedData) return; HasCalculatedData = true; _commonData = commonData; await Task.Run(() => DoCalculateData()); }
public void CalculateData() { if (HasCalculatedData) return; HasCalculatedData = true; Task<IEnumerable<MovieInformationRow>> movieInformation = _couchRepository.GetAllMovieInformation(); Task<IEnumerable<AllRatingsRow>> allRatings = _couchRepository.GetAllMovieRatings2(); Task.WaitAll(movieInformation, allRatings); _commonData = new CommonSuggestionEngineData(allRatings.Result, movieInformation.Result); var calc1 = _linearCovarianceCalculator.CalculateData(_commonData); var calc2 = _twoToOneCovarianceCalculator.CalculateData(_commonData); Task.WaitAll(calc1, calc2); }