コード例 #1
0
        private void ParceAndSaveUserFeedbackInfo(IDatabaseCustomerMarketPlace databaseCustomerMarketPlace, AmazonUserRatingInfo ratingInfo, MP_CustomerMarketplaceUpdatingHistory historyRecord)
        {
            var submittedDate = ratingInfo.SubmittedDate;

            var data = new DatabaseAmazonFeedbackData(submittedDate)
            {
                UserRaining = ratingInfo.Rating
            };

            var timePeriodsFeedback = new[] {
                TimePeriodEnum.Month,
                TimePeriodEnum.Month3,
                TimePeriodEnum.Year,
                TimePeriodEnum.Lifetime
            };

            foreach (var timePeriod in timePeriodsFeedback)
            {
                FeedbackPeriod amazonTimePeriod = AmazonDatabaseTypeConverter.ConvertToAmazonTimePeriod(timePeriod);

                var count           = ratingInfo.GetFeedbackValue(amazonTimePeriod, FeedbackType.Count);
                var negativePercent = ratingInfo.GetFeedbackValue(amazonTimePeriod, FeedbackType.Negative);
                var neutralPercent  = ratingInfo.GetFeedbackValue(amazonTimePeriod, FeedbackType.Neutral);
                var positivePercent = ratingInfo.GetFeedbackValue(amazonTimePeriod, FeedbackType.Positive);

                var negativeNumber = ConvertToNumber(negativePercent, count);
                var neutralNumber  = ConvertToNumber(neutralPercent, count);
                var positiveNumber = ConvertToNumber(positivePercent, count);

                //Debug.Assert( count == negativeNumber + neutralNumber + positiveNumber );

                data.FeedbackByPeriod.Add(timePeriod, new DatabaseAmazonFeedbackDataByPeriod(timePeriod)
                {
                    Count    = count,
                    Negative = negativeNumber,
                    Neutral  = neutralNumber,
                    Positive = positiveNumber
                });
            }

            Helper.StoreAmazonFeedbackData(databaseCustomerMarketPlace, data, historyRecord);
        }
コード例 #2
0
        public void StoreAmazonFeedbackData(IDatabaseCustomerMarketPlace databaseCustomerMarketPlace, DatabaseAmazonFeedbackData data, MP_CustomerMarketplaceUpdatingHistory historyRecord)
        {
            if (data == null)
            {
                WriteToLog("StoreAmazonUserData: invalid data to store", WriteLogType.Error);
                return;
            }

            MP_CustomerMarketPlace customerMarketPlace = GetCustomerMarketPlace(databaseCustomerMarketPlace.Id);

            var feedBack = new MP_AmazonFeedback {
                CustomerMarketPlace = customerMarketPlace,
                Created             = data.Submitted,
                UserRaining         = data.UserRaining,
                HistoryRecord       = historyRecord
            };

            if (data.FeedbackByPeriod != null && data.FeedbackByPeriod.Count > 0)
            {
                feedBack.FeedbackByPeriodItems.AddAll(data.FeedbackByPeriod.Values.Select(f => new MP_AmazonFeedbackItem {
                    AmazonFeedback = feedBack,
                    Count          = f.Count,
                    Negative       = f.Negative,
                    Positive       = f.Positive,
                    Neutral        = f.Neutral,
                    TimePeriod     = GetTimePeriod(TimePeriodFactory.Create(f.TimePeriod))
                }).ToList());
            }

            customerMarketPlace.AmazonFeedback.Add(feedBack);

            _CustomerMarketplaceRepository.Update(customerMarketPlace);
        }