private void RaisePropertyDeleteInteractionRequest(Property originalItem) { var propertySets = InnerItem.PropertySets.Where(x => x.PropertySetProperties.Any(y => y.PropertyId == originalItem.PropertyId)); var propertySetsNameString = string.Empty; propertySets.ToList().ForEach(x => propertySetsNameString += String.Format("'{0}',\r\n", x.Name)); propertySetsNameString = !string.IsNullOrEmpty(propertySetsNameString) ? propertySetsNameString.Remove(propertySetsNameString.LastIndexOf(",")) : propertySetsNameString; var confirmation = new ConditionalConfirmation { Content = string.IsNullOrEmpty(propertySetsNameString) ? string.Format("Are you sure you want to delete Property '{0}'?".Localize(), originalItem.Name) : string.Format("Property '{0}' is used in \r\n{1}\r\nproperty set(s).\r\nAre you sure to delete it?".Localize(), originalItem.Name, propertySetsNameString), Title = "Delete".Localize(null, LocalizationScope.DefaultCategory) }; CommonConfirmRequest.Raise(confirmation, (x) => { if (x.Confirmed) { originalItem.PropertyValues.Clear(); Repository.Remove(originalItem); Repository.UnitOfWork.Commit(); CurrentCatalogProperties.Remove(originalItem); OnViewModelPropertyChangedUI(null, null); } }); }
protected override void InitializePropertiesForViewing() { if (AllAvailableLanguages == null) { AllAvailableLanguages = GetAvailableLanguages(InnerItem.CatalogId, _appConfigRepositoryFactory); OnPropertyChanged("AllAvailableLanguages"); } // currently selected languages var InnerItemCatalogLanguageDisplays = AllAvailableLanguages.Where(x => InnerItem.CatalogLanguages.Any(y => y.Language.Equals(x.Language.Language, StringComparison.InvariantCultureIgnoreCase))); InnerItemCatalogLanguages = new ObservableCollection <CatalogLanguageDisplay>(InnerItemCatalogLanguageDisplays); OnPropertyChanged("InnerItemCatalogLanguages"); if (!IsWizardMode) { // Initialize catalog Properties var allProperties = ItemRepository.Properties.ExpandAll().Where(x => x.CatalogId == InnerItem.CatalogId).ToList(); OnUIThread(() => { CurrentCatalogProperties.Clear(); CurrentCatalogProperties.Add(allProperties); }); OnPropertyChanged("CurrentCatalogProperties"); } }
private void RaisePropertyCreateInteractionRequest() { var item = EntityFactory.CreateEntity <Property>(); if (RaisePropertyEditInteractionRequest(item, "Create property".Localize())) { item.CatalogId = InnerItem.CatalogId; CurrentCatalogProperties.Add(item); Repository.Add(item); OnViewModelPropertyChangedUI(null, null); } }