public ImportResult Execute(NopCommerceDataReader dataReader) { using (new NotificationDisabler()) { var nopImportContext = new NopImportContext(); var messages = new List <string> { _importPictureData.ImportPictures(dataReader, nopImportContext), _importCountryData.ProcessCountries(dataReader, nopImportContext), _importRegionData.ProcessRegions(dataReader, nopImportContext), _importAddresses.ProcessAddresses(dataReader, nopImportContext), _importUsers.ProcessUsers(dataReader, nopImportContext), _importTaxRates.ProcessTaxRates(dataReader, nopImportContext), _importBrands.ProcessBrands(dataReader, nopImportContext), _importSpecifications.ProcessSpecifications(dataReader, nopImportContext), _importSpecificationAttributeOptions.ProcessSpecificationAttributeOptions(dataReader, nopImportContext), _importOptions.ProcessOptions(dataReader, nopImportContext), _importTags.ProcessTags(dataReader, nopImportContext), _importCategories.ProcessCategories(dataReader, nopImportContext), _importProducts.ProcessProducts(dataReader, nopImportContext), _importOrders.ProcessOrders(dataReader, nopImportContext) }; _indexService.InitializeAllIndices(); return(new ImportResult { Messages = messages, Success = true }); } }
public string ProcessCategories(NopCommerceDataReader dataReader, NopImportContext nopImportContext) { var categoryDatas = dataReader.GetCategoryData(); IEnumerable <CategoryData> parentCategories = categoryDatas.Where(data => !data.ParentId.HasValue); var productSearch = _uniquePageService.GetUniquePage <ProductSearch>(); _session.Transact(session => { foreach (CategoryData categoryData in parentCategories) { UpdateCategory(session, categoryData, productSearch, categoryDatas, nopImportContext); } }); return(string.Format("{0} categories processed.", categoryDatas.Count)); }
public ImportResult UpdateOrdersAndUsers(NopCommerceDataReader dataReader) { using (new NotificationDisabler()) { var nopImportContext = new NopImportContext(); var messages = new List <string> { _importUsers.ProcessUsers(dataReader, nopImportContext), _importOrders.ProcessOrders(dataReader, nopImportContext) }; _indexService.InitializeAllIndices(); return(new ImportResult { Messages = messages, Success = true }); } }
private void UpdateCategory(ISession session, CategoryData categoryData, Webpage parent, HashSet <CategoryData> allData, NopImportContext nopImportContext) { CategoryData data = categoryData; var suggestParams = new SuggestParams { DocumentType = typeof(Category).FullName, PageName = data.Name, UseHierarchy = true }; var category = new Category { Name = data.Name, UrlSegment = string.IsNullOrWhiteSpace(data.Url) ? _webpageUrlService.Suggest(parent, suggestParams) : data.Url, Parent = parent, CategoryAbstract = data.Abstract.LimitCharacters(500), PublishOn = data.Published ? CurrentRequestData.Now.Date : (DateTime?)null, RevealInNavigation = true }; var mediaFile = nopImportContext.FindNew <MediaFile>(data.PictureId); if (mediaFile != null) { category.FeatureImage = mediaFile.FileUrl; } session.Save(category); nopImportContext.AddEntry(data.Id, category); List <CategoryData> children = allData.Where(d => d.ParentId == data.Id).ToList(); foreach (CategoryData child in children) { UpdateCategory(session, child, category, allData, nopImportContext); } }