private async Task <string> TryExtractCode(string name) { var pp = new PriceProvider(); var c = pp.GetCode(name.ToLower()); if (!string.IsNullOrEmpty(c) && await pp.IsValidAsCode(c)) { return(c); } if (await pp.IsValidAsCode(name)) { return(name); } return(null); }