void ImageIsNull(UIImage image, ChallengeTypeModel challengeType)
 {
     if (image == null)
     {
         FileCachingService.BeginDownloadImageFromUrl(challengeType.ImageUrl, DownloadImageFromUrlCompleted);
     }
 }
        public override UICollectionViewCell GetCell(UICollectionView collectionView, NSIndexPath indexPath)
        {
            Crashlytics.Instance.Log("Challenges_ChallengesCollectionSource_GetCell()");
            try
            {
                var list = SL.ChallengeTypeList != null ? SL.ChallengeTypeList : ChallengesTypes;
                ChallengeTypeModel summary = list != null && indexPath.Row < list.Count ? list[indexPath.Row] : null;

                var cell = (ChallengeCollectionViewCell)collectionView.DequeueReusableCell(ChallengeCollectionViewCell.ClassName, indexPath);

                cell.ApplyStyle();

                if (summary != null)
                {
                    ChallengeCollectionView challengeCollection = collectionView as ChallengeCollectionView;
                    bool isSelected = challengeCollection != null && indexPath.Row == challengeCollection.SelectedItem;
                    cell.UpdateCellData(summary, isSelected, challengeCollection.Frame.Height);
                }
                else
                {
                    collectionView.ReloadData();    //dataset does not match
                }
                return(cell);
            }
            catch (Exception e)
            {
                Crashlytics.Instance.Log($"Challenges_ChallengesCollectionSource_GetCell() - {e.Message}");
                throw;
            }
        }
Example #3
0
        public void UpdateCellData(ChallengeModel item)
        {
            Crashlytics.Instance.Log("Challenges_ChallengesTableCell_UpdateCellData()");
            try
            {
                SetupFonts();

                _challengeTypeModel = new ChallengeTypeModel
                {
                    TypeCode    = (item as ChallengeModel).TypeCode,
                    DisplayName = (item as ChallengeModel).TypeCodeDisplayName,
                    ImageUrl    = (item as ChallengeModel).IconImageURL
                };

                int color = Convert.ToInt32(ChallengeModel.GetTypeCodeColor(item.TypeCode, item.TypeCodeDisplayName), 16);
                int r     = (color & 0xff0000) >> 16;
                int g     = (color & 0xff00) >> 8;
                int b     = (color & 0xff);
                LeftSideView.BackgroundColor  = UIColor.FromRGB(r, g, b);
                SeperatorView.BackgroundColor = UIColor.FromRGB(r, g, b);
                ChallengeName.Text            = item.Name;

                LoadImages(_challengeTypeModel);
                ChallengeImage.Image = ChallengeImage.Image.ImageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate);
                //ImgMapService.SetImage(item.IconImageURL, ChallengeImage);

                PointsText.Text = "+" + item.PointValue.ToString() + " pts";

                ChallengeTime.Text = item.NextEventCountDown;

                ChallengeImage.TintColor = UIColor.LightGray;
                if (item.LockStatus)
                {
                    ClosedImage.Hidden         = false;
                    ChellangeRightImage.Hidden = PointsText.Hidden = true;
                    ClosedImage.Image          = UIImage.FromBundle("lock_icon");
                }
                else
                {
                    var icon = UIImage.FromBundle("points-icon_white");
                    ClosedImage.Hidden = PointsText.Hidden = false;
                    ClosedImage.Image  = icon;
                }
            }
            catch (Exception e)
            {
                Crashlytics.Instance.Log($"Challenges_ChallengesTableCell_UpdateCellData() - {e.Message}");
            }
        }
        public void UpdateCellData(ChallengeTypeModel challengeType, bool isSelected, nfloat containerHeight)
        {
            Crashlytics.Instance.Log("ChallengeCollectionViewCell_UpdateCellData()");
            try
            {
                if (challengeType == null)
                {
                    return;
                }

                _challengeTypeModel = challengeType;

                ChallengeImage.TintColor = UIColor.Clear;
                int color = Convert.ToInt32(ChallengeModel.GetTypeCodeColor(challengeType.TypeCode, challengeType.DisplayName), 16);
                int r     = (color & 0xff0000) >> 16;
                int g     = (color & 0xff00) >> 8;
                int b     = (color & 0xff);
                Background.BackgroundColor = UIColor.FromRGB(r, g, b);
                ChallengeName.Text         = challengeType.DisplayName;//ChallengeModel.GetTypeCodeDisplayName(challengeType.TypeCode);

                LoadImages(challengeType);

                //else
                //    ChallengeImage.Image = UIImage.FromBundle("insta-icon_white");
                ChallengeProgressBar.Progress = challengeType.Total > 0 ? (float)challengeType.TotalComplete / (float)challengeType.Total : 0;
                ChallengeProgressText.Text    = challengeType.TotalComplete + " of " + challengeType.Total;

                DidSelect = isSelected;
                UpdateItem(1.0f);
                if (isSelected)
                {
                    UpdateItem(CellMultiplayer);
                }
            }
            catch (Exception e)
            {
                Crashlytics.Instance.Log($"ChallengeCollectionViewCell_UpdateCellData() {e.Message}");
                throw;
            }
        }
Example #5
0
        public static LocalChallengeTypeModel ItemToLocalItem(ChallengeTypeModel item, IPlatformAssetService assetService, bool isSelected = false)
        {
            LocalChallengeTypeModel localItem = new LocalChallengeTypeModel()
            {
                Color         = item.Color,
                DisplayName   = item.DisplayName,
                Group         = item.Group,
                ImageUrl      = item.ImageUrl,
                Total         = item.Total,
                TotalComplete = item.TotalComplete,
                TypeCode      = item.TypeCode
            };

            localItem.ItemState         = isSelected ? Enums.ChallengesCollectionItemState.Selected : Enums.ChallengesCollectionItemState.Default;
            localItem.TotalCompleteText = item.TotalComplete + " of " + item.Total;
            localItem.Progress          = (int)Math.Round(((double)item.TotalComplete / (double)item.Total) * 100);
            localItem.Color             = "#" + ChallengeModel.GetTypeCodeColor(item.TypeCode, item.DisplayName);
            //localItem.Icon = LoadImages(item.TypeCode, item.DisplayName, assetService);
            localItem.Icon = new ChallengeIcon {
                Icon = ChallengesIconHelper.LoadImages(item.TypeCode, item.DisplayName, assetService), IconUrl = localItem.ImageUrl
            };
            return(localItem);
        }
        void LoadImages(ChallengeTypeModel challengeType)
        {
            ChallengeImage.Image = null;

            if (challengeType.TypeCode == "CHECKIN")
            {
                ChallengeImage.Image = UIImage.FromBundle("location-icon_large");
                ImageIsNull(ChallengeImage.Image, challengeType);
            }
            if (challengeType.TypeCode == "COLLATERAL TRACKING")
            {
                ChallengeImage.Image = UIImage.FromBundle("location-icon_large");
                ImageIsNull(ChallengeImage.Image, challengeType);
            }
            if (challengeType.TypeCode == "POSTERING")
            {
                ChallengeImage.Image = UIImage.FromBundle("location-icon_large");
                ImageIsNull(ChallengeImage.Image, challengeType);
            }
            if (challengeType.TypeCode == "FB ENGAGEMENT")
            {
                ChallengeImage.Image = UIImage.FromBundle("fb-logo");
                ImageIsNull(ChallengeImage.Image, challengeType);
            }
            if (challengeType.TypeCode == "INSTA")
            {
                ChallengeImage.Image = UIImage.FromBundle("insta-icon_white");
                ImageIsNull(ChallengeImage.Image, challengeType);
            }
            if (challengeType.TypeCode == "INVITE")
            {
                if (challengeType.DisplayName == "Invite to Buy")
                {
                    ChallengeImage.Image = UIImage.FromBundle("ticket-icon_white");
                    ImageIsNull(ChallengeImage.Image, challengeType);
                }
                if (challengeType.DisplayName == "Invite to Join")
                {
                    ChallengeImage.Image = UIImage.FromBundle("invite-icon_white");
                    ImageIsNull(ChallengeImage.Image, challengeType);
                }
            }
            if (challengeType.TypeCode == "SHARE")
            {
                ChallengeImage.Image = UIImage.FromBundle("bullhorn_icon_white");
                ImageIsNull(ChallengeImage.Image, challengeType);
            }
            if (challengeType.TypeCode == "POSTERING")
            {
                ChallengeImage.Image = UIImage.FromBundle("postering-icon_large");
                ImageIsNull(ChallengeImage.Image, challengeType);
                ChallengeImage.TintColor = UIColor.White;
            }
            if (challengeType.TypeCode == "SUBMIT")
            {
                ChallengeImage.Image = UIImage.FromBundle("");
                ImageIsNull(ChallengeImage.Image, challengeType);
            }
            if (challengeType.TypeCode == "VERIFY")
            {
                ChallengeImage.Image = UIImage.FromBundle("");
                ImageIsNull(ChallengeImage.Image, challengeType);
            }
            if (challengeType.TypeCode == "FLYERING")
            {
                ChallengeImage.Image = UIImage.FromBundle("flyering-icon_large");
                ImageIsNull(ChallengeImage.Image, challengeType);
            }
            if (challengeType.TypeCode == "MANUAL")
            {
                ChallengeImage.Image = UIImage.FromBundle("manual-icon_large");
                ImageIsNull(ChallengeImage.Image, challengeType);
            }
            if (challengeType.TypeCode == "MC")
            {
                ChallengeImage.Image = UIImage.FromBundle("quiz-icon_white");//.ImageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate);
                ImageIsNull(ChallengeImage.Image, challengeType);
                ChallengeImage.TintColor = UIColor.White;
            }
            if (challengeType.TypeCode == "SIGNUP")
            {
                ChallengeImage.Image = UIImage.FromBundle("signup-icon_large");
                ImageIsNull(ChallengeImage.Image, challengeType);
            }
        }