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; } }
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; } }
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); } }