public void StoreEbayFeedbackData(IDatabaseCustomerMarketPlace databaseCustomerMarketPlace, DatabaseEbayFeedbackData data, MP_CustomerMarketplaceUpdatingHistory historyRecord) { if (data == null) { WriteToLog("StoreEbayUserData: invalid data to store", WriteLogType.Error); return; } MP_CustomerMarketPlace customerMarketPlace = GetCustomerMarketPlace(databaseCustomerMarketPlace.Id); var feedBack = new MP_EbayFeedback { CustomerMarketPlace = customerMarketPlace, Created = data.Submitted, RepeatBuyerCount = data.RepeatBuyerCount, RepeatBuyerPercent = data.RepeatBuyerPercent, TransactionPercent = data.TransactionPercent, UniqueBuyerCount = data.UniqueBuyerCount, UniqueNegativeCount = data.UniqueNegativeCount, UniqueNeutralCount = data.UniqueNeutralCount, UniquePositiveCount = data.UniquePositiveCount, HistoryRecord = historyRecord }; if (data.FeedbackByPeriod != null && data.FeedbackByPeriod.Count > 0) { feedBack.FeedbackByPeriodItems.AddAll(data.FeedbackByPeriod.Values.Select(f => new MP_EbayFeedbackItem { EbayFeedback = feedBack, Negative = f.Negative, Positive = f.Positive, Neutral = f.Neutral, TimePeriod = GetTimePeriod(TimePeriodFactory.Create(f.TimePeriod)) }).ToList()); } if (data.RaitingByPeriod != null && data.RaitingByPeriod.Count > 0) { feedBack.RaitingByPeriodItems.AddAll(data.RaitingByPeriod.Values.Select(r => new MP_EbayRaitingItem { EbayFeedback = feedBack, Communication = r.Communication, ItemAsDescribed = r.ItemAsDescribed, ShippingAndHandlingCharges = r.ShippingAndHandlingCharges, ShippingTime = r.ShippingTime, TimePeriod = GetTimePeriod(TimePeriodFactory.Create(r.TimePeriod)) }).ToList()); } customerMarketPlace.EbayFeedback.Add(feedBack); _CustomerMarketplaceRepository.Update(customerMarketPlace); }
} // BuildEBay private static void BuildEbayFeedbackData(MP_EbayFeedback ebayFeedBack, EBayModel model) { if (ebayFeedBack == null) return; model.NegativeFeedbackCount = Convert.ToString(ebayFeedBack.FeedbackByPeriodItems.Sum(x => x.Negative)); model.NeutralFeedbackCount = Convert.ToString(ebayFeedBack.FeedbackByPeriodItems.Sum(x => x.Neutral)); model.PositiveFeedbackCount = Convert.ToString(ebayFeedBack.FeedbackByPeriodItems.Sum(x => x.Positive)); model.UniqueNegativeFeedbackCount = Convert.ToString(ebayFeedBack.UniqueNegativeCount); model.UniqueNeutralFeedbackCount = Convert.ToString(ebayFeedBack.UniqueNeutralCount); model.UniqueBuyerCount = Convert.ToString(ebayFeedBack.UniqueBuyerCount); model.UniquePositiveFeedbackCount = Convert.ToString(ebayFeedBack.UniquePositiveCount); model.TransactionPercent = Convert.ToString(ebayFeedBack.TransactionPercent, CultureInfo.InvariantCulture); model.RepeatBuyerCount = Convert.ToString(ebayFeedBack.RepeatBuyerCount); model.RepeatBuyerPercent = Convert.ToString(ebayFeedBack.RepeatBuyerPercent, CultureInfo.InvariantCulture); } // BuildEbayFeedbackData
} // GetFeedbackData private static EBayModel BuildEBay( MP_EbayUserData ebayUserData, MP_EbayUserAccountData ebayAccount, MP_EbayFeedback ebayFeedBack ) { var ebayFeedBackScore = ebayUserData != null ? ebayUserData.FeedbackScore : 0; var ebayAdditionalAccount = ebayAccount != null ? ebayAccount.EbayUserAdditionalAccountData.LastOrDefault() : null; var model = new EBayModel { EBayFeedBackScore = ebayFeedBackScore.ToString(), }; BuildEbayUserData(ebayUserData, model); BuildEbayAccountData(ebayAccount, model); BuildEbayAdditionalAccountData(model, ebayAdditionalAccount); BuildEbayFeedbackData(ebayFeedBack, model); return model; } // BuildEBay