bool CanRequestNow() { bool canRequest = StoreReview.CanRequestRating(); if (canRequest) { if (requestMode == RequestMode.GameBased) { bool hasPlayedEnoughGames = false; int gamesPlayed = GetGamesPlayed(); if (gamesPlayed >= gamesPlayedAfterInstall) { int lastRequestGamesPlayed = PlayerPrefs.GetInt(LAST_REQUEST_GAMES_PLAYED_PPK, -9999); if (gamesPlayed - lastRequestGamesPlayed >= gamesPlayedBetweenRequests) { hasPlayedEnoughGames = true; } } canRequest &= hasPlayedEnoughGames; } else if (requestMode == RequestMode.TimeBased) { bool isGoodTiming = false; DateTime installTime = GetInstallTime(); if ((DateTime.Now - installTime).Days >= daysAfterInstall) { DateTime lastRequestTime = Utilities.GetTime(LAST_REQUEST_TIME_PPK, new DateTime(1970, 1, 1)); if ((DateTime.Now - lastRequestTime).Days >= daysBetweenRequests) { isGoodTiming = true; } } canRequest &= isGoodTiming; } } return(canRequest); }
public void RequestRatingLocalized() { if (!StoreReview.CanRequestRating()) { NativeUI.Alert("Alert", "The rating popup could not be shown because it was disabled or the display constraints are not satisfied."); return; } // For demo purpose, we translated the default content into French using Google Translate! var localized = new RatingDialogContent( "Évaluation " + RatingDialogContent.PRODUCT_NAME_PLACEHOLDER, "Comment évalueriez-vous " + RatingDialogContent.PRODUCT_NAME_PLACEHOLDER + "?", "C'est mauvais. Souhaitez-vous nous donner quelques commentaires à la place?", "Impressionnant! Faisons le!", "Pas maintenant", "Non", "Évaluez maintenant!", "Annuler", "Réaction" ); StoreReview.RequestRating(localized); }
void DoMyAction() { remainingRequests.Value = StoreReview.GetThisYearRemainingRequests(); }
public override void OnEnter() { StoreReview.DisableRatingRequest(); Finish(); }
public async Task <IHttpActionResult> PostStoreReview() { PetterResultType <StoreReview> petterResultType = new PetterResultType <StoreReview>(); List <StoreReview> storeReviews = new List <StoreReview>(); List <StoreReviewFile> storeReviewFiles = new List <StoreReviewFile>(); StoreReview storeReview = new StoreReview(); if (Request.Content.IsMimeMultipartContent()) { string folder = HostingEnvironment.MapPath(UploadPath.StoreReviewPath); Utilities.CreateDirectory(folder); var provider = await Request.Content.ReadAsMultipartAsync(); foreach (var content in provider.Contents) { string fieldName = content.Headers.ContentDisposition.Name.Trim('"'); if (!string.IsNullOrEmpty(content.Headers.ContentDisposition.FileName)) { StoreReviewFile storeReviewFile = new StoreReviewFile(); var file = await content.ReadAsByteArrayAsync(); string fileName = Utilities.additionFileName(content.Headers.ContentDisposition.FileName.Trim('"')); if (!FileExtension.StoreReviewExtensions.Any(x => x.Equals(Path.GetExtension(fileName.ToLower()), StringComparison.OrdinalIgnoreCase))) { petterResultType.IsSuccessful = false; petterResultType.JsonDataSet = null; petterResultType.ErrorMessage = ResultErrorMessage.FileTypeError; return(Ok(petterResultType)); } string fullPath = Path.Combine(folder, fileName); File.WriteAllBytes(fullPath, file); string thumbnamil = Path.GetFileNameWithoutExtension(fileName) + "_thumbnail" + Path.GetExtension(fileName); Utilities.ResizeImage(fullPath, thumbnamil, FileSize.StoreReviewWidth, FileSize.StoreReviewHeight, ImageFormat.Png); storeReviewFile.FileName = fileName; storeReviewFile.FilePath = UploadPath.StoreReviewPath.Replace("~", ""); storeReviewFile.DateCreated = DateTime.Now; storeReviewFile.DateModified = DateTime.Now; storeReviewFile.StateFlag = StateFlags.Use; storeReviewFiles.Add(storeReviewFile); } else { string str = await content.ReadAsStringAsync(); string item = HttpUtility.UrlDecode(str); #region switch case switch (fieldName) { case "StoreNo": storeReview.StoreNo = int.Parse(item); break; case "MemberNo": storeReview.MemberNo = int.Parse(item); break; case "Content": storeReview.Content = item; break; case "Grade": storeReview.Grade = Convert.ToDouble(item); break; default: break; } #endregion switch case } } storeReview.StateFlag = StateFlags.Use; storeReview.DateCreated = DateTime.Now; storeReview.DateModified = DateTime.Now; // 스토어 리뷰 등록 db.StoreReviews.Add(storeReview); int num = await this.db.SaveChangesAsync(); // 스토어 리뷰 파일 등록 foreach (var item in storeReviewFiles) { item.StoreReviewNo = storeReview.StoreReviewNo; } db.StoreReviewFiles.AddRange(storeReviewFiles); int num1 = await this.db.SaveChangesAsync(); storeReviews.Add(storeReview); petterResultType.IsSuccessful = true; petterResultType.JsonDataSet = storeReviews; } else { petterResultType.IsSuccessful = false; petterResultType.JsonDataSet = null; } return(Ok(petterResultType)); }