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); }
} // RetrieveCustomerSecurityInfo protected override ElapsedTimeInfo RetrieveAndAggregate( IDatabaseCustomerMarketPlace databaseCustomerMarketPlace, MP_CustomerMarketplaceUpdatingHistory historyRecord ) { return(new ElapsedTimeInfo()); } // RetrieveAndAggregate
} // RetrieveAndAggregate private void CheckTokenStatus( IDatabaseCustomerMarketPlace databaseCustomerMarketPlace, DataProviderCreationInfo info, MP_CustomerMarketplaceUpdatingHistory historyRecord ) { Helper.CustomerMarketplaceUpdateAction( CustomerMarketplaceUpdateActionType.UpdateAccountInfo, databaseCustomerMarketPlace, historyRecord, () => { var elapsedTimeInfo = new ElapsedTimeInfo(); var checker = new DataProviderCheckAuthenticationToken(info); var result = ElapsedTimeHelper.CalculateAndStoreElapsedTimeForCallInSeconds( elapsedTimeInfo, databaseCustomerMarketPlace.Id, ElapsedDataMemberType.RetrieveDataFromExternalService, () => checker.Check() ); return(new UpdateActionResultInfo { Name = UpdateActionResultType.GetTokenStatus, RequestsCounter = result == null ? null : result.RequestsCounter, ElapsedTime = elapsedTimeInfo }); } ); } // CheckTokenStatus
protected virtual void InternalUpdateInfo( IDatabaseCustomerMarketPlace databaseCustomerMarketPlace, MP_CustomerMarketplaceUpdatingHistory historyRecord ) { RetrieveAndAggregate(databaseCustomerMarketPlace, historyRecord); }
} // RetrieveCustomerSecurityInfo protected override ElapsedTimeInfo RetrieveAndAggregate(IDatabaseCustomerMarketPlace databaseCustomerMarketPlace, MP_CustomerMarketplaceUpdatingHistory historyRecord) { var securityInfo = (YodleeSecurityInfo)RetrieveCustomerSecurityInfo(databaseCustomerMarketPlace.Id); return(UpdateClientOrdersInfo(databaseCustomerMarketPlace, securityInfo, historyRecord)); } // RetrieveAndAggregate
private MP_EbayAmazonCategory[] GetAndSaveAmazonProcuctCategoryByProductSellerSku( IDatabaseCustomerMarketPlace databaseCustomerMarketPlace, AmazonSecurityInfo securityInfo, string sellerSku, ActionAccessType access, RequestsCounterData requestCounter, ElapsedTimeInfo elapsedTimeInfo ) { var categories = Helper.FindAmazonCategoryByProductSellerSKU(sellerSku, elapsedTimeInfo, databaseCustomerMarketPlace.Id); if (categories == null) { var requestInfo = new AmazonProductsRequestInfoBySellerSku { MarketplaceId = securityInfo.MarketplaceId, MerchantId = securityInfo.MerchantId, SellerSku = sellerSku, ErrorRetryingInfo = this.amazonSettings, MWSAuthToken = securityInfo.MWSAuthToken }; categories = GetAndSaveAmazonProcuctCategory(databaseCustomerMarketPlace, requestInfo, access, requestCounter, elapsedTimeInfo); } return(categories); }
private void UpdateClientFeedbackInfo(IDatabaseCustomerMarketPlace databaseCustomerMarketPlace, AmazonSecurityInfo securityInfo, MP_CustomerMarketplaceUpdatingHistory historyRecord) { Helper.CustomerMarketplaceUpdateAction(CustomerMarketplaceUpdateActionType.UpdateFeedbackInfo, databaseCustomerMarketPlace, historyRecord, () => { var elapsedTimeInfo = new ElapsedTimeInfo(); var request = new AmazonUserInfo { MerchantId = securityInfo.MerchantId, }; var amazonUserRatingInfo = ElapsedTimeHelper.CalculateAndStoreElapsedTimeForCallInSeconds(elapsedTimeInfo, databaseCustomerMarketPlace.Id, ElapsedDataMemberType.RetrieveDataFromExternalService, () => AmazonServiceHelper.GetUserStatisticsInfo(request) ); ElapsedTimeHelper.CalculateAndStoreElapsedTimeForCallInSeconds(elapsedTimeInfo, databaseCustomerMarketPlace.Id, ElapsedDataMemberType.StoreDataToDatabase, () => ParceAndSaveUserFeedbackInfo(databaseCustomerMarketPlace, amazonUserRatingInfo, historyRecord) ); return(new UpdateActionResultInfo { Name = UpdateActionResultType.FeedbackRaiting, Value = amazonUserRatingInfo == null ? null : (object)amazonUserRatingInfo.Rating, RequestsCounter = amazonUserRatingInfo == null ? null : amazonUserRatingInfo.RequestsCounter, ElapsedTime = elapsedTimeInfo }); }); }
} // ValidateAccount private int SaveMarketplace(AddAccountState oState, AccountModel model) { int nResult = -1; try { new Transactional(() => { model.id = _mpTypes.GetAll().First(a => a.InternalId == oState.VendorInfo.Guid()).Id; model.displayName = model.displayName ?? model.name; IDatabaseCustomerMarketPlace mp = _helper.SaveOrUpdateEncryptedCustomerMarketplace( model.name, oState.Marketplace, model, _context.Customer ); oState.Model = Json(AccountModel.ToModel(mp), JsonRequestBehavior.AllowGet); oState.CustomerMarketPlace = mp; nResult = mp.Id; }).Execute(); } catch (Exception e) { ms_oLog.Error(e, "Failed to save marketplace."); oState.Error = CreateError(e); } // try return(nResult); } // SaveMarketplace
private MP_EbayAmazonCategory[] GetAndSaveAmazonProcuctCategory( IDatabaseCustomerMarketPlace databaseCustomerMarketPlace, AmazonProductsRequestInfoBySellerSku requestInfo, ActionAccessType access, RequestsCounterData requestCounter, ElapsedTimeInfo elapsedTimeInfo ) { MP_EbayAmazonCategory[] categories = null; AmazonProductItemBase productItem = null; try { productItem = ElapsedTimeHelper.CalculateAndStoreElapsedTimeForCallInSeconds( elapsedTimeInfo, databaseCustomerMarketPlace.Id, ElapsedDataMemberType.RetrieveDataFromExternalService, () => AmazonServiceHelper.GetProductCategories(this.connectionInfo, requestInfo, access, requestCounter) ); } catch (MarketplaceWebServiceProductsException) { // Product not found or cannot be retrieved. } // try if (productItem != null) { var marketplace = databaseCustomerMarketPlace.Marketplace; categories = Helper.AddAmazonCategories(marketplace, productItem, elapsedTimeInfo, databaseCustomerMarketPlace.Id); } // if return(categories); }
protected virtual void InternalUpdateInfoFirst( IDatabaseCustomerMarketPlace databaseCustomerMarketPlace, MP_CustomerMarketplaceUpdatingHistory historyRecord ) { InternalUpdateInfo(databaseCustomerMarketPlace, historyRecord); }
public void SaveOrUpdateAcctountInfo(IDatabaseCustomerMarketPlace databaseCustomerMarketPlace, PayPalPersonalData data) { MP_CustomerMarketPlace customerMarketPlace = GetCustomerMarketPlace(databaseCustomerMarketPlace.Id); if (customerMarketPlace.PersonalInfo == null) { customerMarketPlace.PersonalInfo = new MP_PayPalPersonalInfo { CustomerMarketPlace = customerMarketPlace, }; _CustomerMarketplaceRepository.Save(customerMarketPlace); } MP_PayPalPersonalInfo info = customerMarketPlace.PersonalInfo; info.Updated = data.SubmittedDate; info.BusinessName = data.BusinessName; info.City = data.AddressCity; info.FirstName = data.FirstName; info.Country = data.AddressCountry; info.DateOfBirth = data.BirthDate; info.Phone = data.Phone == "0" ? null : data.Phone; info.EMail = data.Email; info.LastName = data.LastName; info.FullName = data.FullName; info.PlayerId = data.PlayerId; info.Postcode = data.AddressPostCode; info.State = data.AddressState; info.Street1 = data.AddressStreet1; info.Street2 = data.AddressStreet2; _CustomerMarketplaceRepository.SaveOrUpdate(customerMarketPlace); }
private IDatabaseCustomerMarketPlace SaveSage(SageServiceInfo oEsi, AccessTokenContainer accessTokenContainer, string approvalToken) { IDatabaseCustomerMarketPlace oResult = null; Transactional.Execute(() => { int marketPlaceId = _mpTypes .GetAll() .First(a => a.InternalId == oEsi.InternalId) .Id; var securityData = new SageSecurityInfo { ApprovalToken = approvalToken, AccessToken = accessTokenContainer.access_token, TokenType = accessTokenContainer.token_type, MarketplaceId = marketPlaceId }; var sageDatabaseMarketPlace = new SageDatabaseMarketPlace(); string accountName = string.Format("SageOne Account #{0}", _customer.CustomerMarketPlaces.Count(a => a.Marketplace.InternalId == oEsi.InternalId) + 1 ); log.Info("Saving sage marketplace data..."); var marketPlace = _helper.SaveOrUpdateCustomerMarketplace(accountName, sageDatabaseMarketPlace, securityData, _customer); log.Info("Saved sage marketplace data."); oResult = marketPlace; }); return(oResult); }
public AmazonOrdersList GetAllAmazonOrdersData(DateTime submittedDate, IDatabaseCustomerMarketPlace databaseCustomerMarketPlace) { MP_CustomerMarketPlace customerMarketPlace = GetCustomerMarketPlace(databaseCustomerMarketPlace.Id); var orders = new AmazonOrdersList(submittedDate); orders.AddRange(customerMarketPlace .AmazonOrders .SelectMany(amazonOrder => amazonOrder.OrderItems) .Distinct(new AmazonOrderComparer()) .Select(o => { AmazonOrdersList2ItemStatusType orderStatus; Enum.TryParse(o.OrderStatus, out orderStatus); return(new AmazonOrderItem { OrderId = o.OrderId, OrderStatus = orderStatus, PurchaseDate = o.PurchaseDate, LastUpdateDate = o.LastUpdateDate, NumberOfItemsShipped = o.NumberOfItemsShipped, NumberOfItemsUnshipped = o.NumberOfItemsUnshipped, OrderTotal = _CurrencyConvertor.ConvertToBaseCurrency(o.OrderTotal, o.PurchaseDate), PaymentsInfo = new AmazonOrderItem2PaymentsInfoList( o.PaymentsInfo.Select(pi => new AmazonOrderItem2PaymentInfoListItem { MoneyInfo = _CurrencyConvertor.ConvertToBaseCurrency(pi.MoneyInfo, o.PurchaseDate), PaymentMethod = pi.SubPaymentMethod })), SellerOrderId = o.SellerOrderId, }); })); return(orders); }
private void UpdateAccountInfo(IDatabaseCustomerMarketPlace databaseCustomerMarketPlace) { var securityInfo = RetrieveCustomerSecurityInfo <PayPalSecurityData>(databaseCustomerMarketPlace); PayPalPersonalData personalData = GetAccountInfo(securityInfo.PermissionsGranted); Helper.SaveOrUpdateAcctountInfo(databaseCustomerMarketPlace, personalData); }
public static FreeAgentAccountModel ToModel(IDatabaseCustomerMarketPlace account) { return(new FreeAgentAccountModel { id = account.Id, displayName = account.DisplayName }); }
} // InternalUpdateInfo protected override ElapsedTimeInfo RetrieveAndAggregate( IDatabaseCustomerMarketPlace databaseCustomerMarketPlace, MP_CustomerMarketplaceUpdatingHistory historyRecord ) { // This method is not implemented here because elapsed time is got from over source. throw new NotImplementedException(); } // RetrieveAndAggregate
public AddAccountState() { VendorInfo = null; AccountData = null; Marketplace = null; Error = null; Model = null; CustomerMarketPlace = null; } // constructor
protected override void InternalUpdateInfoFirst(IDatabaseCustomerMarketPlace databaseCustomerMarketPlace, MP_CustomerMarketplaceUpdatingHistory historyRecord) { log.DebugFormat("InternalUpdateInfoFirst customer {0} amazon mp {1}", databaseCustomerMarketPlace.Customer.Id, databaseCustomerMarketPlace.DisplayName); var securityInfo = RetrieveCustomerSecurityInfo <AmazonSecurityInfo>(databaseCustomerMarketPlace); UpdateClientOrdersInfo(databaseCustomerMarketPlace, securityInfo, ActionAccessType.Full, historyRecord); //UpdateClientInventoryInfo( databaseCustomerMarketPlace, securityInfo, ActionAccessType.Full, historyRecord ); UpdateClientFeedbackInfo(databaseCustomerMarketPlace, securityInfo, historyRecord); }
public MP_PayPalTransaction SavePayPalTransactionInfo(IDatabaseCustomerMarketPlace databaseCustomerMarketPlace, List <PayPalTransactionItem> data, MP_CustomerMarketplaceUpdatingHistory historyRecord, MP_PayPalTransaction mpTransaction) { MP_CustomerMarketPlace customerMarketPlace = GetCustomerMarketPlace(databaseCustomerMarketPlace.Id); if (data == null) { return(mpTransaction); } if (mpTransaction == null) { mpTransaction = new MP_PayPalTransaction { CustomerMarketPlace = customerMarketPlace, Created = DateTime.UtcNow, HistoryRecord = historyRecord }; } if (data.Count != 0) { foreach (var dataItem in data) { var mpTransactionItem = new MP_PayPalTransactionItem2 { Transaction = mpTransaction, Created = dataItem.Created, Currency = _CurrencyRateRepository.GetCurrencyOrCreate("GBP"), FeeAmount = _CurrencyConvertor.ConvertToBaseCurrency( dataItem.FeeAmount ?? new AmountInfo { CurrencyCode = "GBP", Value = 0 }, dataItem.Created).Value, GrossAmount = _CurrencyConvertor.ConvertToBaseCurrency( dataItem.GrossAmount ?? new AmountInfo { CurrencyCode = "GBP", Value = 0 }, dataItem.Created).Value, NetAmount = _CurrencyConvertor.ConvertToBaseCurrency( dataItem.NetAmount ?? new AmountInfo { CurrencyCode = "GBP", Value = 0 }, dataItem.Created).Value, TimeZone = dataItem.Timezone, Status = dataItem.Status, Type = dataItem.Type, PayPalTransactionId = dataItem.TransactionId }; mpTransaction.TransactionItems.Add(mpTransactionItem); } } customerMarketPlace.PayPalTransactions.Add(mpTransaction); _CustomerMarketplaceRepository.Update(customerMarketPlace); return(mpTransaction); }
public DateTime?GetLastPayPalTransactionRequest(IDatabaseCustomerMarketPlace databaseCustomerMarketPlace) { var mpCustomerMarketPlace = GetMarketPlace(databaseCustomerMarketPlace); if (mpCustomerMarketPlace == null || mpCustomerMarketPlace.PayPalTransactions.Count == 0) { return(null); } return(mpCustomerMarketPlace.PayPalTransactions.Max(o => o.Created)); }
public DateTime?GetLastAmazonOrdersRequest(IDatabaseCustomerMarketPlace databaseCustomerMarketPlace) { var mpCustomerMarketPlace = GetMarketPlace(databaseCustomerMarketPlace); if (mpCustomerMarketPlace == null || mpCustomerMarketPlace.AmazonOrders.Count == 0) { return(null); } return(mpCustomerMarketPlace.AmazonOrders.Max(o => o.Created)); }
public static YodleeAccountModel ToModel(IDatabaseCustomerMarketPlace marketplace, YodleeBanksRepository yodleeBanksRepository) { var securityInfo = Serialized.Deserialize <YodleeSecurityInfo>(marketplace.SecurityData); var yodleeBank = yodleeBanksRepository.Search(securityInfo.CsId); return(new YodleeAccountModel { bankId = yodleeBank.Id, displayName = yodleeBank.Name }); } // ToModel
public void StoreEbayUserAccountData(IDatabaseCustomerMarketPlace databaseCustomerMarketPlace, IDatabaseEbayAccountInfo data, MP_CustomerMarketplaceUpdatingHistory historyRecord) { if (data == null) { WriteToLog("StoreEbayUserData: invalid data to store", WriteLogType.Error); return; } MP_CustomerMarketPlace customerMarketPlace = GetCustomerMarketPlace(databaseCustomerMarketPlace.Id); try { var accountData = new MP_EbayUserAccountData { CustomerMarketPlace = customerMarketPlace, Created = data.SubmittedDate.ToUniversalTime(), Currency = data.Currency, Id = 0, PaymentMethod = data.PaymentMethod, AccountId = data.AccountId, AccountState = data.AccountState, AmountPastDueValue = data.AmountPastDueValue, BankAccountInfo = data.BankAccountInfo, BankModifyDate = data.BankModifyDate, CreditCardExpiration = data.CreditCardExpiration, CreditCardInfo = data.CreditCardInfo, CreditCardModifyDate = data.CreditCardModifyDate, CurrentBalance = data.CurrentBalance, PastDue = data.PastDue, HistoryRecord = historyRecord }; if (data.AdditionalAccount != null && data.AdditionalAccount.Length > 0) { data.AdditionalAccount.ForEach( a => accountData.EbayUserAdditionalAccountData.Add( new MP_EbayUserAdditionalAccountData { Currency = a.Currency, AccountCode = a.AccountCode, Balance = a.Balance.Value, EbayUserAccountData = accountData })); } customerMarketPlace.EbayUserAccountData.Add(accountData); _CustomerMarketplaceRepository.Update(customerMarketPlace); } catch (Exception ex) { WriteToLog("StoreEbayUserData: failed to store data", WriteLogType.Error, ex); } }
private UpdateActionResultInfo UpdateTransactionInfo(IDatabaseCustomerMarketPlace databaseCustomerMarketPlace, PayPalSecurityData securityInfo, MP_CustomerMarketplaceUpdatingHistory historyRecord) { var endDate = DateTime.UtcNow; var elapsedTimeInfo = new ElapsedTimeInfo(); DateTime?startDate = ElapsedTimeHelper.CalculateAndStoreElapsedTimeForCallInSeconds( elapsedTimeInfo, databaseCustomerMarketPlace.Id, ElapsedDataMemberType.RetrieveDataFromDatabase, () => Helper.GetLastPayPalTransactionDate(databaseCustomerMarketPlace) ); if (!startDate.HasValue) { startDate = endDate.AddMonths(-CurrentValues.Instance.PayPalTransactionSearchMonthsBack); } var errorRetryingInfo = new ErrorRetryingInfo((bool)CurrentValues.Instance.PayPalEnableRetrying, CurrentValues.Instance.PayPalMinorTimeoutInSeconds, CurrentValues.Instance.PayPalUseLastTimeOut); errorRetryingInfo.Info = new ErrorRetryingItemInfo[3]; errorRetryingInfo.Info[0] = new ErrorRetryingItemInfo(CurrentValues.Instance.PayPalIterationSettings1Index, CurrentValues.Instance.PayPalIterationSettings1CountRequestsExpectError, CurrentValues.Instance.PayPalIterationSettings1TimeOutAfterRetryingExpiredInMinutes); errorRetryingInfo.Info[1] = new ErrorRetryingItemInfo(CurrentValues.Instance.PayPalIterationSettings2Index, CurrentValues.Instance.PayPalIterationSettings2CountRequestsExpectError, CurrentValues.Instance.PayPalIterationSettings2TimeOutAfterRetryingExpiredInMinutes); errorRetryingInfo.Info[2] = new ErrorRetryingItemInfo(CurrentValues.Instance.PayPalIterationSettings3Index, CurrentValues.Instance.PayPalIterationSettings3CountRequestsExpectError, CurrentValues.Instance.PayPalIterationSettings3TimeOutAfterRetryingExpiredInMinutes); var reqInfo = new PayPalRequestInfo { SecurityInfo = securityInfo, StartDate = startDate.Value, EndDate = endDate, ErrorRetryingInfo = errorRetryingInfo, OpenTimeOutInMinutes = CurrentValues.Instance.PayPalOpenTimeoutInMinutes, SendTimeoutInMinutes = CurrentValues.Instance.PayPalSendTimeoutInMinutes, DaysPerRequest = CurrentValues.Instance.PayPalDaysPerRequest }; MP_PayPalTransaction mpTransaction = null; int numOfTransactions = 0; RequestsCounterData requestsCounter = ElapsedTimeHelper.CalculateAndStoreElapsedTimeForCallInSeconds( elapsedTimeInfo, databaseCustomerMarketPlace.Id, ElapsedDataMemberType.RetrieveDataFromExternalService, () => PayPalServiceHelper.GetTransactionData(reqInfo, data => { mpTransaction = Helper.SavePayPalTransactionInfo(databaseCustomerMarketPlace, data, historyRecord, mpTransaction); numOfTransactions += (data == null ? 0 : data.Count); return(true); }) ); return(new UpdateActionResultInfo { Name = UpdateActionResultType.TransactionItemsCount, Value = numOfTransactions, RequestsCounter = requestsCounter, ElapsedTime = elapsedTimeInfo }); }
public EbayDatabaseOrdersList GetAllEBayOrders(DateTime submittedDate, IDatabaseCustomerMarketPlace databaseCustomerMarketPlace) { var orders = new EbayDatabaseOrdersList(submittedDate); var dbOrders = _MP_EbayOrderRepository.GetOrdersItemsByMakretplaceId(databaseCustomerMarketPlace.Id); orders.AddRange(dbOrders.Select(o => { EBayOrderStatusCodeType orderStatus; Enum.TryParse(o.OrderStatus, out orderStatus); return(new EbayDatabaseOrderItem { PaymentMethod = o.PaymentMethod, AmountPaid = _CurrencyConvertor.ConvertToBaseCurrency(o.AmountPaid, o.CreatedTime), OrderStatus = orderStatus, PaymentHoldStatus = o.PaymentHoldStatus, ShippingAddressData = Convert(o.ShippingAddress), BuyerName = o.BuyerName, CheckoutStatus = o.CheckoutStatus, PaymentMethods = o.PaymentMethod, SubTotal = _CurrencyConvertor.ConvertToBaseCurrency(o.SubTotal, o.CreatedTime), Total = _CurrencyConvertor.ConvertToBaseCurrency(o.Total, o.CreatedTime), AdjustmentAmount = _CurrencyConvertor.ConvertToBaseCurrency(o.AdjustmentAmount, o.CreatedTime), PaymentTime = o.PaymentTime, TransactionData = new EbayDatabaseTransactionDataList(o.Transactions.Select(t => new EbayDatabaseTransactionDataItem { CreatedDate = t.CreatedDate, PaymentHoldStatus = t.PaymentHoldStatus, QuantityPurchased = t.QuantityPurchased, PaymentMethodUsed = t.PaymentMethodUsed, TransactionPrice = _CurrencyConvertor.ConvertToBaseCurrency(t.TransactionPrice, t.CreatedDate), ItemID = t.ItemID, ItemPrivateNotes = t.ItemPrivateNotes, ItemSKU = t.ItemSKU, ItemSellerInventoryID = t.ItemSellerInventoryID, eBayTransactionId = t.eBayTransactionId, OrderItemDetail = t.OrderItemDetail })), CreatedTime = o.CreatedTime, PaymentStatus = o.PaymentStatus, ShippedTime = o.ShippedTime, ExternalTransactionData = new EBayDatabaseExternalTransactionList(o.ExternalTransactions.Select(t => new EBayDatabaseExternalTransactionItem { FeeOrCreditAmount = t.FeeOrCreditAmount, PaymentOrRefundAmount = t.PaymentOrRefundAmount, TransactionID = t.TransactionID, TransactionTime = t.TransactionTime })) }); })); return(orders); }
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); }
public DateTime?GetLastPayPalTransactionDate(IDatabaseCustomerMarketPlace databaseCustomerMarketPlace) { var mpCustomerMarketPlace = GetMarketPlace(databaseCustomerMarketPlace); if (mpCustomerMarketPlace == null || mpCustomerMarketPlace.PayPalTransactions.Count == 0) { return(null); } var transactionsDates = mpCustomerMarketPlace.PayPalTransactions.SelectMany(x => x.TransactionItems).Select(x => x.Created).ToList(); return(transactionsDates.Any() ? transactionsDates.Max() : (DateTime?)null); }
public void StoreEbayUserData(IDatabaseCustomerMarketPlace databaseCustomerMarketPlace, IDatabaseEbayUserData data, MP_CustomerMarketplaceUpdatingHistory historyRecord) { if (data == null) { WriteToLog("StoreEbayUserData: invalid data to store", WriteLogType.Error); return; } MP_CustomerMarketPlace customerMarketPlace = GetCustomerMarketPlace(databaseCustomerMarketPlace.Id); var userData = new MP_EbayUserData { CustomerMarketPlaceId = customerMarketPlace.Id, Created = data.SubmittedDate.ToUniversalTime(), BillingEmail = data.BillingEmail, EIASToken = data.EIASToken, EMail = data.EMail, FeedbackPrivate = data.FeedbackPrivate, FeedbackRatingStar = data.FeedbackRatingStar, FeedbackScore = data.FeedbackScore, IDChanged = data.IDChanged, IDLastChanged = data.IDLastChanged, IDVerified = data.IDVerified, NewUser = data.NewUser, PayPalAccountStatus = data.PayPalAccountStatus, PayPalAccountType = data.PayPalAccountType, QualifiesForSelling = data.QualifiesForSelling, RegistrationAddress = CreateAddressInDatabase(data.RegistrationAddress), RegistrationDate = data.RegistrationDate, SellerInfo = new EbaySellerInfo { SellerInfoQualifiesForB2BVAT = data.QualifiesForB2BVAT, SellerInfoSellerBusinessType = data.SellerBusinessType, SellerInfoStoreOwner = data.StoreOwner, SellerInfoStoreSite = data.StoreSite, SellerInfoStoreURL = data.StoreURL, SellerInfoTopRatedProgram = data.TopRatedProgram, SellerInfoTopRatedSeller = data.TopRatedSeller, SellerPaymentAddress = CreateAddressInDatabase(data.SellerPaymentAddress) }, Site = data.Site, SkypeID = data.SkypeID, UserID = data.UserID, eBayGoodStanding = data.eBayGoodStanding, HistoryRecord = historyRecord }; customerMarketPlace.EbayUserData.Add(userData); _CustomerMarketplaceRepository.Update(customerMarketPlace); }
public void UpdateCustomerMarketplaceRegular(int customerMarketPlaceId) { IDatabaseCustomerMarketPlace databaseCustomerMarketPlace = GetDatabaseCustomerMarketPlace(customerMarketPlaceId); if (databaseCustomerMarketPlace.Disabled) { return; } Helper.UpdateCustomerMarketplaceData( databaseCustomerMarketPlace, historyRecord => InternalUpdateInfo(databaseCustomerMarketPlace, historyRecord) ); }
} // ConvertToBaseCurrency private MP_EBayOrderItemDetail FindEBayOrderItemInfo( IDatabaseCustomerMarketPlace databaseCustomerMarketPlace, DataProviderCreationInfo info, string itemID, RequestsCounterData requestCounter, ElapsedTimeInfo elapsedTimeInfo ) { if (!this.settings.DownloadCategories) { return(null); } int mpID = databaseCustomerMarketPlace.Id; IMarketplaceType marketplace = databaseCustomerMarketPlace.Marketplace; var eBayItemInfoData = new eBayFindOrderItemInfoData(itemID); var eBayOrderItemInfo = Helper.FindEBayOrderItemInfo(eBayItemInfoData, elapsedTimeInfo, mpID); if (eBayOrderItemInfo == null) { var providerGetItemInfo = new DataProviderGetItemInfo(info); var req = new eBayRequestItemInfoData(eBayItemInfoData); ResultInfoEbayItemInfo ebayItemInfo = ElapsedTimeHelper.CalculateAndStoreElapsedTimeForCallInSeconds( elapsedTimeInfo, mpID, ElapsedDataMemberType.RetrieveDataFromExternalService, () => providerGetItemInfo.GetItem(req) ); requestCounter.Add(ebayItemInfo.RequestsCounter); var newEBayOrderItemInfo = new EbayDatabaseOrderItemInfo { ItemID = ebayItemInfo.ItemID, PrimaryCategory = FindCategory(marketplace, ebayItemInfo.PrimaryCategory, elapsedTimeInfo, mpID), // SecondaryCategory = FindCategory(marketplace, ebayItemInfo.SecondaryCategory, elapsedTimeInfo, mpID), // FreeAddedCategory = FindCategory(marketplace, ebayItemInfo.FreeAddedCategory, elapsedTimeInfo, mpID), Title = ebayItemInfo.Title, }; eBayOrderItemInfo = Helper.SaveEBayOrderItemInfo(newEBayOrderItemInfo, elapsedTimeInfo, mpID); } // if return(eBayOrderItemInfo); } // FindEBayOrderItemInfo