public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath)
        {
            var             list   = RewardList;
            RewardItemModel reward = list != null ? list[indexPath.Row] : null;

            UITableViewCell cell;

            if (reward.Type == "REWARD")
            {
                cell = tableView.DequeueReusableCell(AvailableRewardsTableCell.ClassName);
                IRewardTableCell rewardCell = cell as IRewardTableCell;
                if (rewardCell != null)
                {
                    rewardCell.UpdateCellData(reward, -10, RewardStatus.Aviable, false);
                }
            }
            else
            {
                cell = tableView.DequeueReusableCell(RewardCategoryTableViewCell.ClassName);
                RewardCategoryTableViewCell rewardCell = cell as RewardCategoryTableViewCell;
                if (rewardCell != null)
                {
                    rewardCell.UpdateCellData(reward);
                }
            }
            return(cell);
        }
        public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath)
        {
            var             list   = RewardList;
            RewardItemModel reward = list != null ? list[indexPath.Row] : null;

            UITableViewCell cell;

            if (reward != null && reward.Type == "REWARD")
            {
                cell = tableView.DequeueReusableCell(RewardsTableViewCell.ClassName);
                RewardsTableViewCell rewardCell = cell as RewardsTableViewCell;
                cell.Frame = new CoreGraphics.CGRect(cell.Frame.X, cell.Frame.Y, tableView.Frame.Width, cell.Frame.Height);
                cell.UpdateConstraintsIfNeeded();
                if (rewardCell != null)
                {
                    int itemIndex = list.IndexOf(reward);

                    nfloat rewardLittleOffset = UIScreen.MainScreen.Bounds.Width / 100 * 2.17f;
                    nfloat rewardBigOffset    = UIScreen.MainScreen.Bounds.Width / 100 * 7.73f;

                    bool noPoints = reward.MinScore > SL.Profile.Score;
                    bool locked   = (reward.AutoUnlockDate?.ToLocalTime() ?? DateTime.Now) > DateTime.Now;

                    rewardCell.PrepareForReuse();
                    if (noPoints && locked)
                    {
                        rewardCell.UpdateCellData(reward, rewardLittleOffset, false);
                    }
                    else if (noPoints && !locked)
                    {
                        rewardCell.UpdateCellData(reward, rewardBigOffset, false);
                    }
                    else if (!noPoints && locked)
                    {
                        rewardCell.UpdateCellData(reward, -rewardBigOffset, true);
                    }
                    else if (!noPoints && !locked)//Available
                    {
                        rewardCell.UpdateCellData(reward, -rewardLittleOffset, true);
                    }
                }
            }
            else
            {
                cell = tableView.DequeueReusableCell(RewardCategoryTableViewCell.ClassName);
                RewardCategoryTableViewCell rewardCell = cell as RewardCategoryTableViewCell;
                rewardCell.SelectionStyle = UITableViewCellSelectionStyle.None;
                if (reward != null && rewardCell != null)
                {
                    rewardCell.UpdateCellData(reward);
                }
            }
            return(cell);
        }