Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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));
        }