private void DrillDown(RewardItemModel reward) { if (reward != null) { if (reward.Type == "REWARD") { UIStoryboard board = UIStoryboard.FromName("Rewards", null); RewardDetailViewController ctrl = (RewardDetailViewController)board.InstantiateViewController("RewardDetailViewController") as RewardDetailViewController; ctrl.Reward = reward; ctrl.Subtitle = string.Format("{0} | {1}", RewardsViewController.RewardsCategoryName, RewardsViewController.RewardsSubcategoryName); RewardsViewController.NavigationController.PushViewController(ctrl, true); } else if (reward.Type == "CATEGORY") { UIStoryboard board = UIStoryboard.FromName("Rewards", null); RewardsViewController ctrl = (RewardsViewController)board.InstantiateViewController("RewardsViewController") as RewardsViewController; ctrl.RewardsCategoryName = RewardsViewController.RewardsCategoryName; ctrl.RewardsSubcategoryName = reward.Name; if (reward.ChildList != null) { ctrl.RewardList = reward.ChildList; } else { ctrl.CategoryID = reward.ID; SL.RewardList = null; } RewardsViewController.NavigationController.PushViewController(ctrl, true); } } }
void DrillDown(RewardItemModel reward) { if (reward != null) { if (reward.Type == "REWARD") { UIStoryboard board = UIStoryboard.FromName("Rewards", null); RewardDetailViewController ctrl = (RewardDetailViewController)board.InstantiateViewController("RewardDetailViewController") as RewardDetailViewController; ctrl.Reward = reward; RewardsViewController.NavigationController.PushViewController(ctrl, true); } else if (reward.Type == "CATEGORY") { UIStoryboard board = UIStoryboard.FromName("Rewards", null); RewardsViewController ctrl = (RewardsViewController)board.InstantiateViewController("RewardsViewController") as RewardsViewController; if (reward.ChildList != null) { ctrl.RewardList = reward.ChildList; } else { ctrl.CategoryID = reward.ID; } RewardsViewController.NavigationController.PushViewController(ctrl, true); } } }
public NavDelegate2(RewardDetailViewController viewController) { rewardDetailViewController = viewController; }
//public void Update(FeedItemModel feed) public void Update(UIView container, RewardResponseModel rewardResponse, RewardItemModel reward, RewardDetailViewController ctrl = null) { ResponseCode = rewardResponse?.ResponseCode ?? 0; Container = container; Controller = ctrl; UpdateFonts(); //float backgroundToOverlayWidthRatio = 0.9227f; //from spec //float backgroundToOverlayHegithRatio = 0.761f; //float backgroundToOverlayHegithRatio = 0.461f; nfloat width = container.Frame.Width; nfloat height = width * 0.89f; //cell.Height; nfloat x = (container.Frame.Width - width) / 2.0f; //center in overlay nfloat y = (container.Frame.Height - height) / 2.0f; //center in overlay Frame = new CGRect(x, y, width, height); CloseButton.TouchUpInside += CloseAction; (Container as UIButton).TouchUpInside += CloseAction; apologizeLabel.Text = rewardResponse.ResponseCode > 0 ? "Congratulations, " : "Oh No, we`re sorry!"; reasonLabel.Text = rewardResponse.ResponseCode > 0 ? "You got this reward!" : "You did not get this reward..."; MessageText.Text = !string.IsNullOrWhiteSpace(rewardResponse.ResponseMessage) ? rewardResponse.ResponseMessage : (rewardResponse.ResponseCode > 0 ? $"You spent {reward.MinScore} pts" : "There are no more units available"); MessageText.Lines = 0;//can be 5 lines if email not confirmed if (rewardResponse.ResponseCode <= 0) { btnSeeOtherRewards.Hidden = false; btnSeeOtherRewards.SetTitle("See what other rewards you qualify for >", UIControlState.Normal); btnSeeOtherRewards.TouchUpInside += (object sender, EventArgs e) => { onViewClosed?.Invoke(); container.RemoveFromSuperview(); ctrl?.NavigationController.PopViewController(true);//go to rewards list }; } EventImage.ContentMode = UIViewContentMode.ScaleAspectFit; EventImage.BackgroundColor = UIColor.White; // Border Color double borderMultiplier = 0.265; double contentMultiplier = 0.25; var borderMaskImageView = new UIImageView(); borderMaskImageView.Image = UIImage.FromBundle("Polygon-mask1"); borderMaskImageView.Frame = new CGRect(0, 0, container.Frame.Width * borderMultiplier, (container.Frame.Width * borderMultiplier) * 1.1); borderMaskImageView.ContentMode = UIViewContentMode.ScaleAspectFit; var contentMaskImageView = new UIImageView(); contentMaskImageView.Image = UIImage.FromBundle("Polygon-mask1"); contentMaskImageView.Frame = new CGRect(0, 0, container.Frame.Width * contentMultiplier, (container.Frame.Width * contentMultiplier) * 1.1); contentMaskImageView.ContentMode = UIViewContentMode.ScaleAspectFit; float startContentX = (float)(container.Frame.Width * borderMultiplier - container.Frame.Width * contentMultiplier) / 2; float startContentY = (float)((container.Frame.Width * borderMultiplier) * 1.1 - (container.Frame.Width * contentMultiplier) * 1.1) / 2; var profileImage = new UIImageView(); //profileImage.Image = UIImage.FromBundle("CellImagePlaceholder"); //hardcode profileImage.BackgroundColor = UIColor.Gray; ImageService.Instance.LoadUrl(reward.MainImageURL).Into(profileImage); profileImage.ContentMode = UIViewContentMode.ScaleAspectFill; profileImage.MaskView = contentMaskImageView; // Make a little bit smaller to show "border" image behind it profileImage.Frame = new CGRect(startContentX, startContentY, container.Frame.Width * contentMultiplier, (container.Frame.Width * contentMultiplier) * 1.1); EventImage.MaskView = borderMaskImageView; EventImage.AddSubview(profileImage); if (rewardResponse.ResponseCode > 0) { collectButton.Hidden = false; collectButton.TouchUpInside += (object sender, EventArgs e) => { var webView = new WKWebView(ctrl.View.Frame, new WKWebViewConfiguration()); webView.NavigationDelegate = new NavDelegate(this); Overlay = Platform.AddOverlay(ctrl.View, webView.Frame, UIColor.White, true, true, 0.1f); webView.LoadRequest(new NSUrlRequest(new NSUrl("https://socialladder.rkiapps.com/SL/HelpDesk/RewardStatus?deviceUUID=" + SL.DeviceUUID + "&AreaGUID=" + SL.AreaGUID))); ctrl.View.AddSubview(webView); onViewClosed?.Invoke(); container.RemoveFromSuperview(); }; } }