public IHttpActionResult DoExport(StoreExportConfiguration exportConfiguration) { var notification = new ExportNotification(CurrentPrincipal.GetCurrentUserName()) { Title = "Store export task", Description = "starting export...." }; _notifier.Upsert(notification); var store = _storeService.GetById(exportConfiguration.StoreId); if (store == null) { throw new NullReferenceException("store"); } var backupStoreJob = new BackupStoreJob(); BackgroundJob.Enqueue(() => backupStoreJob.DoExport(exportConfiguration, notification)); return Ok(notification); }
public IHttpActionResult DoExport(StoreExportConfiguration exportConfiguration) { var notification = new ExportNotification(CurrentPrincipal.GetCurrentUserName()) { Title = "Store export task", Description = "starting export...." }; _notifier.Upsert(notification); var store = _storeService.GetById(exportConfiguration.StoreId); if (store == null) { throw new NullReferenceException("store"); } var backupStoreJob = new BackupStoreJob(); BackgroundJob.Enqueue(() => backupStoreJob.DoExport(exportConfiguration, notification)); return(Ok(notification)); }
public virtual void DoExport(StoreExportConfiguration exportConfiguration, ExportNotification notification) { //Notification notification.Description = "loading ..."; _notifier.Upsert(notification); try { var store = _storeService.GetById(exportConfiguration.StoreId); var settings = new List<SettingEntry>(); var backup = new Backup(_blobStorageProvider, _blobUrlResolver); // Add objects to backup backup.AddEntry(_stopeXmlName, store); // Add collections of the same types elements if (!exportConfiguration.IsDisableLanguages) { backup.AddEntry(_storeLanguagesXmlName, store.Languages.ToArray()); } if (!exportConfiguration.IsDisableCurrencies) { backup.AddEntry(_storeCurrenciesXmlName, store.Currencies.ToArray()); } if (!exportConfiguration.IsDisableSeo) { backup.AddEntry(_storeSeoXmlName, store.SeoInfos.ToArray()); } // Add collections of different types elements if (!exportConfiguration.IsDisablePamentMethods) { foreach (var paymentMethod in store.PaymentMethods.Where(x => x.IsActive)) { //don't export Settings because security backup.AddEntry(string.Format("{0}{1}.xml", _paymentMethodXmlNamePrefix, paymentMethod.Code), paymentMethod); } } if (!exportConfiguration.IsDisableShipmentMethods) { foreach (var shippingMethod in store.ShippingMethods.Where(x => x.IsActive)) { backup.AddEntry(string.Format("{0}{1}.xml", _shippingMethodXmlNamePrefix, shippingMethod.Code), shippingMethod); settings.AddRange(shippingMethod.Settings); } } settings.AddRange(store.Settings); backup.AddEntry(_settingsXmlName, settings.ToArray()); // Create backup file var zipUrl = backup.Save("Store-" + (store.Name ?? store.Id) + ".zip"); notification.DownloadUrl = zipUrl; notification.Description = "Export finished"; } catch (Exception ex) { notification.Description = "Export error"; notification.ErrorCount++; notification.Errors.Add(ex.ToString()); } finally { notification.Finished = DateTime.UtcNow; _notifier.Upsert(notification); } }
public virtual void DoExport(StoreExportConfiguration exportConfiguration, ExportNotification notification) { //Notification notification.Description = "loading ..."; _notifier.Upsert(notification); try { var store = _storeService.GetById(exportConfiguration.StoreId); var settings = new List <SettingEntry>(); var backup = new Backup(_blobStorageProvider, _blobUrlResolver); // Add objects to backup backup.AddEntry(_stopeXmlName, store); // Add collections of the same types elements if (!exportConfiguration.IsDisableLanguages) { backup.AddEntry(_storeLanguagesXmlName, store.Languages.ToArray()); } if (!exportConfiguration.IsDisableCurrencies) { backup.AddEntry(_storeCurrenciesXmlName, store.Currencies.ToArray()); } if (!exportConfiguration.IsDisableSeo) { backup.AddEntry(_storeSeoXmlName, store.SeoInfos.ToArray()); } // Add collections of different types elements if (!exportConfiguration.IsDisablePamentMethods) { foreach (var paymentMethod in store.PaymentMethods.Where(x => x.IsActive)) { //don't export Settings because security backup.AddEntry(string.Format("{0}{1}.xml", _paymentMethodXmlNamePrefix, paymentMethod.Code), paymentMethod); } } if (!exportConfiguration.IsDisableShipmentMethods) { foreach (var shippingMethod in store.ShippingMethods.Where(x => x.IsActive)) { backup.AddEntry(string.Format("{0}{1}.xml", _shippingMethodXmlNamePrefix, shippingMethod.Code), shippingMethod); settings.AddRange(shippingMethod.Settings); } } settings.AddRange(store.Settings); backup.AddEntry(_settingsXmlName, settings.ToArray()); // Create backup file var zipUrl = backup.Save("Store-" + (store.Name ?? store.Id) + ".zip"); notification.DownloadUrl = zipUrl; notification.Description = "Export finished"; } catch (Exception ex) { notification.Description = "Export error"; notification.ErrorCount++; notification.Errors.Add(ex.ToString()); } finally { notification.Finished = DateTime.UtcNow; _notifier.Upsert(notification); } }