public static string ExtractCode(Uri uri) { var query = uri.QueryString().ToList(); var code = query.FirstOrDefault(entry => entry.Key.Equals("code", StringComparison.OrdinalIgnoreCase)); var error = query.FirstOrDefault(entry => entry.Key.Equals("error", StringComparison.OrdinalIgnoreCase)); var errorDesc = query.FirstOrDefault(entry => entry.Key.Equals("error_description", StringComparison.OrdinalIgnoreCase)); if (!string.IsNullOrEmpty(error.Value)) { throw new BexException(error.Value, errorDesc.Value); } if (string.IsNullOrEmpty(code.Value)) { throw new BexException("NoCode", "No code was found in this url"); } return code.Value; }
private Task ShowEmailComposeAsync(Uri uri) { return Task.Factory.StartNew(() => { var queryString = uri.QueryString(); new EmailComposeTask() { To = string.IsNullOrEmpty(uri.UserInfo) ? queryString.GetValue("to") : uri.UserInfo + "@" + uri.Host, Subject = queryString.GetValue("subject"), Body = queryString.GetValue("body"), Cc = queryString.GetValue("cc"), Bcc = queryString.GetValue("bcc") }.Show(); }); }
private Task ShowMarketplaceSearchAsync(Uri uri) { var queryString = uri.QueryString(); if (!queryString.ContainsKey("keyword")) { throw new NotSupportedException("The specified uri is not supported in Windows Phone 7.x"); } return Task.Factory.StartNew(() => { new MarketplaceSearchTask() { SearchTerms = queryString["keyword"] }.Show(); }); }
private Task ShowMarketplaceDetailAsync(Uri uri) { return Task.Factory.StartNew(() => { new MarketplaceDetailTask() { ContentIdentifier = uri.QueryString().GetValue("appid") }.Show(); }); }