private void InitializePropertiesForViewing()
        {
            if (this is IImportJobOverviewStepViewModel || IsSingleDialogEditing)
            {
                if (AllAvailableEntityImporters == null)
                {
                    AllAvailableEntityImporters = new EntityImporterBase[] { new ItemImporter("Product"), new ItemImporter("Sku"), new ItemImporter("Bundle"), new ItemImporter("Package"), new ItemImporter("DynamicKit"), new CategoryImporter(), new AssociationImporter(), new PriceImporter() };
                    //AllAvailableEntityImporters = new string[] { "Product", "Sku", "Bundle", "Package", "Dynamickit", "Category", "Association", "Price" };
                    OnPropertyChanged("AllAvailableEntityImporters");

                    AllAvailableColumnDelimiters = GetColumnDelimiters();
                    OnPropertyChanged("AllAvailableColumnDelimiters");
                }

                if (AllAvailableCatalogs == null)
                {
                    AllAvailableCatalogs = _catalogRepository.Catalogs.ToArray();
                    OnPropertyChanged("AllAvailableCatalogs");
                }

                if (AllAvailablePropertySets == null)
                {
                    AllAvailablePropertySets = _catalogRepository.PropertySets.ToArray();                     //.Where(x => x.CatalogId == InnerItem.ContainerId && x.TargetType == InnerItem.EntityImporter).ToArray();
                    OnPropertyChanged("AllAvailablePropertySets");
                }

                //InnerItem.PropertyChanged += InnerItem_PropertyChanged;

                //if (AllAvailableCurrencies == null)
                //{
                //    AllAvailableCurrencies = ImportJobViewModel.GetAvailableCurrencies();
                //    OnPropertyChanged("AllAvailableCurrencies");
                //}
                if (InnerItem.EntityImporter != null)
                {
                    SelectedEntityImporter = AllAvailableEntityImporters.First(x => x.Name == InnerItem.EntityImporter);
                }
                else
                {
                    SelectedEntityImporter = AllAvailableEntityImporters.First();
                }
                //SelectedColumnMapping = InnerItem.ColumnMapping;
                //InnerItem.PropertyChanged += InnerItem_PropertyChanged;
            }

            if (this is IImportJobMappingStepViewModel || IsSingleDialogEditing)
            {
            }
        }
        public void InitializeForOpen()
        {
            // initialize if needed
            if (InnerItem == _originalItem)
            {
                IsInitializing = true;

                DetachEventListeners();


                // Load complete item here
                _originalItem = LoadItem(_originalItem.ImportJobId);
                InnerItem     = _originalItem.DeepClone(_entityFactory as IKnownSerializationTypes);
                // current workaround for repository crash
                //ItemRepository = Container.Resolve<IImportRepository>();
                _itemRepository.Attach(InnerItem);

                InitializePropertiesForViewing();

                if (InnerItem.EntityImporter != null)
                {
                    SelectedEntityImporter = AllAvailableEntityImporters.First(x => x.Name == InnerItem.EntityImporter);
                }
                else
                {
                    SelectedEntityImporter = AllAvailableEntityImporters.First();
                }

                CsvFileColumns = GetCsvColumns(InnerItem.TemplateId);

                InnerItem.PropertyChanged += CurrentItem_PropertyChanged;

                //OnUIThread(() =>
                //{

                //});
            }
        }