public string[] GetProductRecommendations(string visitorUID, int numberOfRecommendations, string database) { if (!_db.CheckForDatabase(database)) { return(new string[0]); } try { Visitor visitor = _db.GetVisitor(visitorUID, database).Result; List <int> topVisitorProducts = _db.GetTopProducts(visitorUID, database).Result; if (topVisitorProducts.Count <= 0) { return(GetMonthlyTopProducts(database, numberOfRecommendations).ToArray()); } return(GetRecommendations(topVisitorProducts, numberOfRecommendations, database)); }catch (AggregateException ae) { return(GetMonthlyTopProducts(database, numberOfRecommendations).ToArray()); } }