private void OnPinClick(object sender, EventArgs e) { if (ViewModel == null) { return; } var person = ViewModel.Person; // Download an image for the tile, // once that is done we create the tile if (person.HasEmail) { var image = new System.Windows.Media.Imaging.BitmapImage(); image.ImageOpened += delegate { var imageUri = image.SaveAsTile("Person-" + Uri.EscapeDataString(person.Id)); CreateTile(person, imageUri); }; image.ImageFailed += delegate { CreateTile(person, null); }; image.CreateOptions = System.Windows.Media.Imaging.BitmapCreateOptions.None; image.UriSource = Gravatar.GetImageUrl(person.Email, 173); } else { CreateTile(person, null); } }
void StartImageDownload(ListView listView, int position, Person person) { if (imageDownloadsInProgress.Contains(person.Id)) { return; } var url = Gravatar.GetImageUrl(person.Email, 100); if (imageDownloader.HasLocallyCachedCopy(url)) { var image = imageDownloader.GetImage(url); FinishImageDownload(listView, position, person, (Bitmap)image); } else { imageDownloadsInProgress.Add(person.Id); imageDownloader.GetImageAsync(url).ContinueWith(t => { if (!t.IsFaulted) { FinishImageDownload(listView, position, person, (Bitmap)t.Result); } }, TaskScheduler.FromCurrentSynchronizationContext()); } }
private void DownloadImage() { var personInfo = (PersonViewModel)BindingContext; var person = personInfo.Person; if (person.HasEmail) { var imageUrl = Gravatar.GetImageUrl(person.Email, IMAGE_SIZE); photo.Source = new UriImageSource { Uri = imageUrl }; } }
const int ImageSize = 88 * 2; //176 void GetImage() { var p = (PersonViewModel)BindingContext; var person = p.Person; if (person.HasEmail) { var imageUrl = Gravatar.GetImageUrl(person.Email, ImageSize); var loader = new UriImageSource(); loader.Uri = imageUrl; PersonImage.Source = loader; } }
void StartImageDownload(UITableView tableView, NSIndexPath indexPath, Person person) { if (imageDownloadsInProgress.Contains(person.Id)) { return; } imageDownloadsInProgress.Add(person.Id); imageDownloader.GetImageAsync(Gravatar.GetImageUrl(person.Email, 88)).ContinueWith(t => { if (!t.IsFaulted) { FinishImageDownload(tableView, indexPath, person, (UIImage)t.Result); } }, TaskScheduler.FromCurrentSynchronizationContext()); }
public static async Task <HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Anonymous, "post")] HttpRequestMessage req, TraceWriter log) { try { log.Info("C# HTTP trigger function processed a request."); var data = await RequestDecoder.Decode <TokenCreatePostModel>(req); var response = new TokenResponseModel { id = data.email, name = GetName(data.email), iconURL = Gravatar.GetImageUrl(data.email), password = new Jwt(data.email).Encode() }; return(req.CreateResponse(HttpStatusCode.OK, response)); } catch (HttpResponseException error) { return(error.Response); } }
public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath) { var section = indexPath.Section; if (section == 0) { var cell = tableView.DequeueReusableCell("N"); if (cell == null) { cell = new UITableViewCell(UITableViewCellStyle.Default, "N"); cell.SelectionStyle = UITableViewCellSelectionStyle.None; cell.ImageView.Layer.CornerRadius = 6; cell.ImageView.Layer.MasksToBounds = true; } var person = controller.personViewModel.Person; cell.TextLabel.Text = person.SafeDisplayName; if (person.HasEmail) { var imageUrl = Gravatar.GetImageUrl(controller.personViewModel.Person.Email, ImageSize); if (imageDownloader.HasLocallyCachedCopy(imageUrl)) { cell.ImageView.Image = (UIImage)imageDownloader.GetImageAsync(imageUrl).Result; } else { cell.ImageView.Image = PlaceholderImage.Value; imageDownloader.GetImageAsync(imageUrl).ContinueWith(t => { cell.ImageView.Image = (UIImage)t.Result; }, TaskScheduler.FromCurrentSynchronizationContext()); } } return(cell); } else if (section == 1) { var cell = tableView.DequeueReusableCell("F"); if (cell == null) { cell = new UITableViewCell(UITableViewCellStyle.Default, "F"); cell.TextLabel.TextColor = ValueColor; } cell.TextLabel.Text = "Favorite"; cell.Accessory = controller.personViewModel.IsFavorite ? UITableViewCellAccessory.Checkmark : UITableViewCellAccessory.None; return(cell); } else { var cell = tableView.DequeueReusableCell("C"); if (cell == null) { cell = new UITableViewCell(UITableViewCellStyle.Value2, "C"); } var prop = controller.personViewModel.PropertyGroups [section - 2].Properties [indexPath.Row]; cell.TextLabel.Text = prop.Name.ToLowerInvariant(); cell.DetailTextLabel.Text = prop.Value; cell.SelectionStyle = prop.Type == PersonViewModel.PropertyType.Generic ? UITableViewCellSelectionStyle.None : UITableViewCellSelectionStyle.Blue; return(cell); } }