Esempio n. 1
0
        public UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath, AthleteItem item)
        {
            var cell = tableView.DequeueReusableCell("SchoolAthleteCell", indexPath) as SchoolAthleteCell;

            cell.SetData(item, indexPath.Row, (pos, btnFollow) =>
            {
                var model = source.Items[pos];
                Shared.Follower.ToggleFollow(btnFollow, model, model.Id, FeedType.User);
            }, NavigationController);
            cell.SelectionStyle = UITableViewCellSelectionStyle.None;
            return(cell);
        }
Esempio n. 2
0
        View GetAthletesView(AthleteItem item, int position, View convertView, ViewGroup parent)
        {
            View view = convertView;

            if (view == null)
            {
                view = Activity.LayoutInflater.Inflate(Resource.Layout.SportTeamsItem, null);
                view.FindViewById <Button>(Resource.Id.btnFollow).Click += (sender, e) =>
                {
                    var model = athletesAdapter.Items[(int)view.Tag];
                    Fanword.Android.Shared.Follower.FollowToggle(ActivityProgresDialog, sender as Button, model, model.Id, FeedType.User);
                };

                view.FindViewById <TextView>(Resource.Id.lblName).Click += (sender, e) =>
                {
                    var model = athletesAdapter.Items[(int)view.Tag];
                    Navigator.GoToUserProflie(model.Id);
                };

                view.FindViewById <ImageViewAsync>(Resource.Id.imgProfile).Click += (sender, e) =>
                {
                    var model = athletesAdapter.Items[(int)view.Tag];
                    Navigator.GoToUserProflie(model.Id);
                };
            }
            view.Tag = position;

            view.FindViewById <TextView>(Resource.Id.lblName).Text     = item.Name;
            view.FindViewById <TextView>(Resource.Id.lblSubtitle).Text = item.SchoolName;

            var profileImageView = view.FindViewById <ImageViewAsync>(Resource.Id.imgProfile);

            profileImageView.Tag?.CancelPendingTask(item.ProfileUrl);
            var task = ImageService.Instance.LoadUrl(item.ProfileUrl)
                       .Retry(3, 300)
                       .Transform(new CircleTransformation())
                       .LoadingPlaceholder(Resource.Drawable.DefProfPic.ToString(), ImageSource.CompiledResource)
                       .Into(profileImageView);

            profileImageView.Tag = new ImageLoaderHelper(task);

            Views.SetFollowed(view.FindViewById <Button>(Resource.Id.btnFollow), item.IsFollowing);

            return(view);
        }
Esempio n. 3
0
        public void SetData(AthleteItem item, int position, Action <int, UIButton> followClicked, UINavigationController navigationController)
        {
            this.item = item;
            pos       = position;
            if (isNew)
            {
                btnFollow.TouchUpInside += (sender, e) =>
                {
                    followClicked?.Invoke(pos, btnFollow);
                };

                imgProfile.UserInteractionEnabled = true;
                imgProfile.AddGestureRecognizer(new UITapGestureRecognizer(() =>
                {
                    Navigator.GoToUserProfile(navigationController, this.item.Id);
                }));

                lblName.UserInteractionEnabled = true;
                lblName.AddGestureRecognizer(new UITapGestureRecognizer(() =>
                {
                    Navigator.GoToUserProfile(navigationController, this.item.Id);
                }));

                isNew = false;
            }
            lblName.Text = item.Name;
            lblTeam.Text = item.SchoolName + " " + item.SportName;

            Views.SetFollowed(btnFollow, item.IsFollowing);

            imageTask?.Cancel(item.ProfileUrl);
            if (!string.IsNullOrEmpty(item.ProfileUrl))
            {
                imageTask = new ImageLoaderHelper(item.ProfileUrl, imgProfile, "DefaultProfile", null, new CircleTransformation());
            }
        }
 public void SetData(AthleteItem item, int position, Action <int, UIButton> followClicked, UINavigationController navigationController)
 {
     SetView(item.ProfileUrl, item.Name, item.SportName, true, position, followClicked, item.IsFollowing, navigationController, item.Id);
 }
 public AthleteItem Athletes([FromBody] AthleteItem athlete)
 {
     _db.Athletes.Attach(athlete).State = EntityState.Modified;
     _db.SaveChangesAsync();
     return(athlete);
 }