private void RewardCommitResponse(RewardResponseModel rewardResponse) { Action onSubmmitCompleted = (() => { RestoreRewardButtonState(); }); if (rewardResponse != null) { if (rewardResponse.RewardAction == "UPDATE" && rewardResponse.UpdatedReward != null) { this.Reward = rewardResponse.UpdatedReward; Refresh(); } if (rewardResponse.ResponseCode > 0 && string.IsNullOrEmpty(rewardResponse.ResponseMessage)) { AddButtonTapGreenAnimation(() => { var overlay = Platform.AddOverlay(UIApplication.SharedApplication.KeyWindow.Frame, Colors.RewardsGreenAnimationCircleColor, true); SubmitComplete(RewardButton, rewardResponse, onSubmmitCompleted); RewardCompleteView rewardComplete = RewardCompleteView.Create(); rewardComplete.onViewClosed += RestoreRewardButtonState; overlay.AddSubview(rewardComplete); RewardButton.SetBackgroundImage(UIImage.FromBundle("claim-btn_success"), UIControlState.Normal); lblClaimIt.Text = string.Empty; lblPointsButtonText.Text = "Claimed"; rewardComplete.Update(overlay, rewardResponse, Reward, this); }); return; } //if (Overlay != null) //{ AddButtonTapRedAnimation(() => { var overlay = Platform.AddOverlay(UIApplication.SharedApplication.KeyWindow.Frame, Colors.RewardsRedAnimationCircleColor, true); SubmitComplete(RewardButton, rewardResponse, onSubmmitCompleted); RewardCompleteView rewardComplete = RewardCompleteView.Create(); rewardComplete.onViewClosed += RestoreRewardButtonState; overlay.AddSubview(rewardComplete); RewardButton.SetBackgroundImage(UIImage.FromBundle("claim-btn_fail"), UIControlState.Normal); lblClaimIt.Text = string.Empty; lblPointsButtonText.Text = "Didn't Get"; LockImage.Hidden = true; rewardComplete.Update(overlay, rewardResponse, Reward, this); }); //} } }
private void OnRewardDrillDownCompleted(RewardResponseModel model) { //if (ShouldDrillUpImmediately && model.RewardList != null && model.RewardList.Count == 0) //{ // UIStoryboard board = UIStoryboard.FromName("Rewards", null); // var ctrl = board.InstantiateViewController("RewardCollectionViewController") as RewardCollectionViewController; // SL.RewardList = null; // ShouldDrillUpImmediately = false; // UIViewController parentController = Platform.RootViewController; // if (parentController?.GetType() == typeof(SLNavigationController)) // { // ctrl.IsChangingAreasDisabled = false; // var child = parentController.ChildViewControllers[0]; // (child as MainViewController).SwapInViewController(ctrl, (int)ENavigationTabs.REWARDS); // return; // } // parentController = Platform.TopViewController; // if (parentController?.GetType() == typeof(SLNavigationController)) // { // var child = parentController.ChildViewControllers[0]; // ctrl.IsChangingAreasDisabled = false; // (child as MainViewController).SwapInViewController(ctrl, (int)ENavigationTabs.REWARDS); // return; // } //} //ShouldDrillUpImmediately = true; TableView.ReloadData(); //if (model?.RewardList?.Count == 1) //{ // RewardList = model.RewardList[0].ChildList; // RewardsSubcategoryName = model.RewardList[0].Name; // await SL.Manager.GetRewardsAsync(); // TableView.ReloadData(); //} }
private void RewardsRefreshCompleted(RewardResponseModel rewardResponse) { //if (ShouldDrillDownImmediately && SL.RewardList?.Count == 1 && SL.RewardList[0].Type == "CATEGORY") //{ // var reward = SL.RewardList[0]; // IsContentShouldBeCleared = true; // UIStoryboard board = UIStoryboard.FromName("Rewards", null); // RewardsViewController ctrl = (RewardsViewController)board.InstantiateViewController("RewardsViewController") as RewardsViewController; // ctrl.RewardsCategoryName = reward.Name; // if (reward.ChildList != null) // ctrl.RewardList = reward.ChildList; // else // { // ctrl.CategoryID = reward.ID; // SL.RewardList = null; // } // ShouldDrillDownImmediately = false; // UIViewController parentController = Platform.RootViewController; // if (parentController?.GetType() == typeof(SLNavigationController)) // { // ctrl.IsChangingAreasDisabled = false; // ctrl.IsCategoryPageSkiped = true; // var child = parentController.ChildViewControllers[0]; // (child as MainViewController).SwapInViewController(ctrl, (int)ENavigationTabs.REWARDS); // return; // } // parentController = Platform.TopViewController; // if (parentController?.GetType() == typeof(SLNavigationController)) // { // var child = parentController.ChildViewControllers[0]; // ctrl.IsChangingAreasDisabled = false; // ctrl.IsCategoryPageSkiped = true; // (child as MainViewController).SwapInViewController(ctrl, (int)ENavigationTabs.REWARDS); // return; // } // //if (parentController?.GetType() == typeof(SLNavigationController)) // //{ // // var child = parentController.ChildViewControllers[0]; // // (child as MainViewController).SelectedIndex = (int)2; // // return; // //} // //parentController = Platform.TopViewController; // //if (parentController?.GetType() == typeof(SLNavigationController)) // //{ // // var child = parentController.ChildViewControllers[0]; // // (child as MainViewController).SelectedIndex = (int)tabToNavigate; // // return; // //} // //SLNavigationController viewController = storyboard.InstantiateViewController(viewControllerName) as SLNavigationController; // //parentController.PresentViewController(viewController, false, null); // //NavigationController.PushViewController(ctrl, true); //} IsContentShouldBeCleared = false; ShouldDrillDownImmediately = true; CollectionView.ReloadData(); IsRewardCollectionEmpty(); _isContentLoaded = true; HideLoader(); }
void RefreshRewardsComplete(RewardResponseModel response) { didRefreshRewards = true; RefreshComplete(); }
//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(); }; } }