public static UITableViewCell FillCellWithMember(UITableViewCell cell, CodeProjectMember member) {
			(cell.ViewWithTag (100) as UILabel).Text = member.Name;
			(cell.ViewWithTag (101) as UILabel).Text = "Posts: " + (member.ArticleCount + member.BlogCount);
			(cell.ViewWithTag (102) as UILabel).Text = member.Reputation;

			CodeProjectDatabase database = new CodeProjectDatabase ();
			byte[] gravatar = database.GetGravatar (member.Id);
			if (gravatar != null) {

				UIImage image = UIImage.LoadFromData (NSData.FromArray (gravatar));
				(cell.ViewWithTag (105) as UIImageView).Image = image;

			}

			return cell;
		}
        public CodeprojectMemberViewModel(CodeProjectMember member, Action<string> gotoPageAction, Action<string> deleteMember)
        {
            this.GotoPageCommand = new ButtonCommandBinding<string>(gotoPageAction);
            this.DeleteMemberCommand = new ButtonCommandBinding<string>(deleteMember);
            this.member = member;

            var db = new CodeProjectDatabase();
            byte[] avatar = db.GetGravatar(this.member.Id);

            if (avatar != null)
            {
                BitmapImage bitmapImage = new BitmapImage();
                MemoryStream ms = new MemoryStream(avatar);
                bitmapImage.SetSource(ms);

                AvatarImage = bitmapImage;
            }
        }
		CodeProjectMember LoadGravatar() {

			var db = new CodeProjectDatabase ();
			byte[] avatar = db.GetGravatar(Member.Id);
			if (avatar != null) {

			} else {
				WebImageRetriever imageDownloader = new WebImageRetriever ();
				Task imageDownload = imageDownloader.GetImageStreamAsync (new Uri (Member.ImageUrl)).ContinueWith (t => {

					avatar = t.Result;
				});

				imageDownload.Wait ();
			}

			Member.Avatar = avatar;
			return Member;
		}
		public override Android.Views.View GetView (int position, Android.Views.View convertView, Android.Views.ViewGroup parent)
		{

			var view = convertView ?? activity.LayoutInflater.Inflate (
				Resource.Layout.CodeProjectMemberListItem, parent, false);
			var memberName = view.FindViewById<TextView> (Resource.Id.textViewMemberName);
			var memberReputation = view.FindViewById<TextView> (Resource.Id.textViewReputation);
			var memberPostCnt = view.FindViewById<TextView> (Resource.Id.textViewPostCnt);
			var memberIcon = view.FindViewById<ImageView> (Resource.Id.imageViewMemberImage);

			memberName.Text = list[position].Name;
			memberReputation.Text = list[position].Reputation;
			memberPostCnt.Text = "Posts: " + (list[position].ArticleCount + list[position].BlogCount);

			int textAppearanceLarge = TextAppearanceHeight (Android.Resource.Attribute.TextAppearanceLarge);
			int textAppearanceSmall = TextAppearanceHeight (Android.Resource.Attribute.TextAppearanceSmall);

			int bitmapSize = textAppearanceLarge + textAppearanceSmall;
			CodeProjectDatabase database = new CodeProjectDatabase ();
			byte[] gravatar = database.GetGravatar (list[position].Id);
			if (gravatar != null) {

				Bitmap image = BitmapFactory.DecodeByteArray (gravatar, 0, gravatar.Length);
				int maxSide = Math.Max (image.Height, image.Width);

				float scale = (float)bitmapSize / maxSide;

				memberIcon.SetImageBitmap (Bitmap.CreateScaledBitmap(image, 
					(int)Math.Ceiling(scale * image.Width), 
					(int)Math.Ceiling(scale * image.Height), 
					false));
				image.Recycle();
			}

			return view;
		}