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); } }); }
private void CreateItem() { var itemVM = _itemTypeVmFactory.GetViewModelInstance(); //show selection step CommonConfirmRequest.Raise(new ConditionalConfirmation(() => !string.IsNullOrEmpty(itemVM.SelectedItemType)) { Content = itemVM, Title = "Select item type".Localize() }, (x) => { if (x.Confirmed) { if (itemVM.SelectedItemType == itemVM.SearchFilterItemTypes[0].Value) { RaiseCartPromotionCreateInteractionRequest(); } else if (itemVM.SelectedItemType == itemVM.SearchFilterItemTypes[1].Value) { RaisePromotionItemCreateInteractionRequest(); } } } ); }
private void RaiseItemRebuildInteractionRequest(BuildSettings item) { var confirmation = new ConditionalConfirmation { Content = string.Format("Are you sure you want to rebuild index \'{0}\'?".Localize(), item.DocumentType), Title = "Action confirmation".Localize(null, LocalizationScope.DefaultCategory) }; if (IsActive) { Stop(); } CommonConfirmRequest.Raise(confirmation, (x) => { if (x.Confirmed) { item.Status = System.Convert.ToInt32(BuildStatus.NeverStarted); _repository.UnitOfWork.Commit(); } }); if (IsActive) { Start(10); } }
private void RaiseItemPickInteractionRequest() { var itemVM = _vmFactory.GetViewModelInstance( new KeyValuePair <string, object>("catalogInfo", Parent.InnerItem.Catalog) , new KeyValuePair <string, object>("searchType", string.Empty) ); itemVM.ExcludeItemId = Parent.InnerItem.ItemId; CommonConfirmRequest.Raise( new ConditionalConfirmation(() => itemVM.SelectedItem != null) { Content = itemVM, Title = "Select an item".Localize() }, (x) => { if (x.Confirmed) { var selectedItem = itemVM.SelectedItem; if (Parent.ItemRelations.InnerItems.Any(x1 => x1.ChildItemId == selectedItem.ItemId)) { selectedItem = Parent.ItemRelations.InnerItems.First(x1 => x1.ChildItemId == selectedItem.ItemId).ChildItem; } InnerItem.ChildItem = selectedItem; InnerItem.ChildItemId = selectedItem.ItemId; OnPropertyChanged("DisplayName"); } }); }
private void RestoreAccess() { if (CommonConfirmRequest != null) { var confirmation = new ConditionalConfirmation() { Title = "Action confirmation".Localize(null, LocalizationScope.DefaultCategory), Content = string.Format("Restore access for user '{0}'?".Localize(), InnerItem.FullName) }; CommonConfirmRequest.Raise(confirmation, async(x) => { if (x.Confirmed) { try { await Task.Run(() => _securityService.Unlock(InnerItem.MemberId)); HasCurrentContactLoginAndSuspendAccessCheck(); } catch (Exception ex) { ShowErrorDialog(ex, string.Format("An error occurred when trying to restore access: {0}".Localize(), ex.InnerException.Message)); } } }); } }
private void RaiseDeleteRequest() { if (ItemListSelectedItem is FileSearchViewModel || ItemListSelectedItem is FolderSearchViewModel) { var item = (AssetEntitySearchViewModelBase)ItemListSelectedItem; var message = ItemListSelectedItem is FileSearchViewModel ? "Are you sure you want to delete file '{0}'?".Localize() : "Are you sure you want to delete folder '{0}' and all its files and subfolders?".Localize(); var confirmation = new ConditionalConfirmation { Content = string.Format(message, item.DisplayName), Title = "Delete confirmation".Localize(null, LocalizationScope.DefaultCategory) }; CommonConfirmRequest.Raise(confirmation, (x) => { if (x.Confirmed) { _assetRepository.Delete(item.InnerItemID); LoadItems(); } }); } }
protected override void RaiseItemDeleteInteractionRequest(IList selectedItemsList) { var selectionCount = selectedItemsList.Count; if (selectionCount > 0) { var selectedItems = selectedItemsList.Cast <VirtualListItem <IAccountViewModel> >(); string joinedNames; var names = selectedItems. Take(4). Select(x => ((ViewModelBase)x.Data).DisplayName); joinedNames = string.Join(", ", names); if (selectionCount > 4) { joinedNames += "..."; } CommonConfirmRequest.Raise(new ConditionalConfirmation() { Content = string.Format("Are you sure you want to delete \'{0}\'?".Localize(null, LocalizationScope.DefaultCategory), joinedNames), Title = "Delete confirmation".Localize(null, LocalizationScope.DefaultCategory) }, (x) => { if (x.Confirmed) { selectedItems.ToList().ForEach(y => _securityService.DeleteUser(y.Data.InnerItem.UserName)); Refresh(); } }); } }
private void RaiseAddLabelRequest() { var itemVM = _labelVmFactory.GetViewModelInstance( new KeyValuePair <string, object>("item", new Label())); CommonConfirmRequest.Raise( new ConditionalConfirmation(itemVM.InnerItem.Validate) { Title = "Add Label".Localize(), Content = itemVM }, (x) => { if (x.Confirmed) { OnUIThread(() => { ShowLoadingAnimation = true; }); using (var repository = _repositoryFactory.GetRepositoryInstance()) { repository.Add(itemVM.InnerItem); repository.UnitOfWork.Commit(); } OnUIThread(() => { Items.Add(itemVM.InnerItem); var view = CollectionViewSource.GetDefaultView(Items); view.MoveCurrentTo(itemVM.InnerItem); ShowLoadingAnimation = false; }); } } ); }
private void RaisePasswordChangeRequest(string title, bool isPasswordChanging) { var itemVM = _passwordVmFactory.GetViewModelInstance( new KeyValuePair <string, object>("isPasswordChanging", isPasswordChanging) ); var confirmation = new ConditionalConfirmation { Title = title, Content = itemVM }; CommonConfirmRequest.Raise(confirmation, (x) => { if (x.Confirmed) { try { if (isPasswordChanging) { _securityService.ChangePasswordAsync(InnerItem.UserName, itemVM.OldPassword, itemVM.Password); } else { _securityService.ResetPasswordAsync(InnerItem.UserName, itemVM.Password); } } catch (Exception ex) { var message = string.Format(isPasswordChanging ? "An error occurred when trying to change password: {0}".Localize() : "An error occurred when trying to reset password: {0}".Localize(), ex.InnerException.Message); ShowErrorDialog(ex, message); } } }); }
private void RaiseItemPickInteractionRequest() { var itemVM = _vmFactory.GetViewModelInstance( new KeyValuePair <string, object>("catalogInfo", (object)InnerItem.Catalog ?? InnerItem.CatalogId) ); // itemVM.SearchModifier = none; itemVM.InitializeForOpen(); CommonConfirmRequest.Raise( new ConditionalConfirmation(() => itemVM.SelectedItem != null) { Content = itemVM, Title = "Select a Category".Localize() }, (x) => { if (x.Confirmed) { var item = itemVM.SelectedItem; InnerItem.Category = item; InnerItem.CategoryId = item.CategoryId; InnerItem.CatalogId = item.CatalogId; OnPropertyChanged("DisplayName"); } }); }
private void RaiseTreeItemDelete(object knowlegeGroupViewModel) { if ((knowlegeGroupViewModel as KnowledgeGroupViewModel) != null) { SelectedKnowledgeGroup = (knowlegeGroupViewModel as KnowledgeGroupViewModel); } bool canDelete = false; if (SelectedKnowledgeGroup != null) { var articles = GetKnowledgeBaseArticles(SelectedKnowledgeGroup as KnowledgeGroupViewModel); var children = (SelectedKnowledgeGroup as KnowledgeGroupViewModel).GetChildren((SelectedKnowledgeGroup as KnowledgeGroupViewModel).OriginalItem); //var subGroup = _customersRepository.KnowledgeBaseGroups.Where(x => x.Parent.KnowledgeBaseGroupId == (SelectedKnowledgeGroup as KnowledgeGroupViewModel).OriginalItem.KnowledgeBaseGroupId).ToList(); canDelete = (articles != null && articles.Count() == 0 && children != null && children.Count() == 0); } if (CommonConfirmRequest != null && canDelete) { CommonConfirmRequest.Raise( new Confirmation { Title = "Remove group?".Localize(), Content = (SelectedKnowledgeGroup as KnowledgeGroupViewModel).InnerItem.Name }, (x) => { if (x.Confirmed) { Task.Factory.StartNew(() => { ShowLoadingAnimation = true; (SelectedKnowledgeGroup as KnowledgeGroupViewModel).RemoveFromDB(); }) .ContinueWith(t => { if (t.Exception == null) { OnUIThread(() => { if ((SelectedKnowledgeGroup as KnowledgeGroupViewModel).Parent != null) { SelectedKnowledgeGroup = (SelectedKnowledgeGroup as KnowledgeGroupViewModel).Parent; (SelectedKnowledgeGroup as KnowledgeGroupViewModel).Refresh(); } else { RootKnowledgeGroups.Remove(SelectedKnowledgeGroup as KnowledgeGroupViewModel); SelectedKnowledgeGroup = null; } //TODO: update treeview }); } ShowLoadingAnimation = false; }); } } ); } }
protected override void ItemDelete(Store item, ConditionalConfirmation confirmation, IRepository repository) { CommonConfirmRequest.Raise(confirmation, async(x) => { if (x.Confirmed) { string storeName; if (IsCurrentStoreLinkedToAnotherStore(item.StoreId, out storeName)) { var linkedConfirmation = new ConditionalConfirmation() { Content = string.Format( "Store '{0}' are linked to Store '{1}'. You can't delete it.".Localize(), item.Name, storeName), Title = "Warning".Localize(null, LocalizationScope.DefaultCategory) }; LinkedStoreNotifictaionRequest.Raise( linkedConfirmation, (y) => { }); return; } OnUIThread(() => { ShowLoadingAnimation = true; }); await Task.Run(() => { if (DeleteSeoKeywords(item)) { if (repository is IStoreRepository) { var temp = ((IStoreRepository)repository).Stores.Where(store => store.StoreId == item.StoreId).FirstOrDefault(); if (temp != null) { repository.Remove(temp); repository.UnitOfWork.Commit(); } } } }); OnUIThread(() => { Items.Remove(item); ShowLoadingAnimation = false; RefreshItemListCommand.Execute(); }); } }); }
private bool RaiseItemEditInteractionRequest(JobParameter item, string title) { bool result = false; var confirmation = new ConditionalConfirmation { Title = title, Content = _vmFactory.GetViewModelInstance(new KeyValuePair <string, object>("item", item)) }; CommonConfirmRequest.Raise(confirmation, (x) => { result = x.Confirmed; }); return(result); }
private void RaiseStoreSettingDeleteInteractionRequest(StoreSetting item) { var confirmation = new ConditionalConfirmation { Content = string.Format("Are you sure you want to delete Store Setting '{0}'?".Localize(), item.Name), Title = "Delete confirmation".Localize(null, LocalizationScope.DefaultCategory) }; CommonConfirmRequest.Raise(confirmation, (x) => { if (x.Confirmed) { InnerItem.Settings.Remove(item); } }); }
private bool RaisePropertyAttributeEditInteractionRequest(StorageEntity item, string title) { var result = false; var itemVM = _attributeVmFactory.GetViewModelInstance(new KeyValuePair <string, object>("item", item)); var confirmation = new ConditionalConfirmation(itemVM.Validate) { Title = title, Content = itemVM }; CommonConfirmRequest.Raise(confirmation, (x) => { result = x.Confirmed; }); return(result); }
private void RaiseValueDeleteInteractionRequest(PropertyValueBase item) { var confirmation = new ConditionalConfirmation { Content = string.Format("Are you sure you want to delete dictionary Property value '{0}'?".Localize(), item), Title = "Delete confirmation".Localize(null, LocalizationScope.DefaultCategory) }; CommonConfirmRequest.Raise(confirmation, (x) => { if (x.Confirmed) { InnerItem.PropertyValues.Remove((PropertyValue)item); } }); }
private void RaiseAttributeDeleteInteractionRequest(PropertyAttribute item) { var confirmation = new ConditionalConfirmation { Content = string.Format("Are you sure you want to delete Property attribute '{0}({1})'?".Localize(), item.PropertyAttributeName, item.PropertyAttributeValue), Title = "Delete confirmation".Localize(null, LocalizationScope.DefaultCategory) }; CommonConfirmRequest.Raise(confirmation, (x) => { if (x.Confirmed) { InnerItem.PropertyAttributes.Remove(item); } }); }
private void RaiseCustomerEditInteractionRequest() { Contact item; string title; if (InnerItem.Contact == null) { item = _entityFactory.CreateEntity <Contact>(); title = "Create Contact".Localize(); } else { item = InnerItem.Contact.DeepClone(_entityFactory as IKnownSerializationTypes); title = "Edit Contact".Localize(); } var itemVM = _customerVmFactory.GetViewModelInstance(new KeyValuePair <string, object>("item", item)); var confirmation = new ConditionalConfirmation(item.Validate) { Title = title, Content = itemVM }; CommonConfirmRequest.Raise(confirmation, (x) => { if (x.Confirmed) { if (InnerItem.Contact == null) { _parentViewModel.Repository.Add(item); InnerItem.ContactId = item.MemberId; InnerItem.Contact = item; InnerItem.ContactDisplayName = string.Format("{0}", item.FullName); RaiseCustomerAddEditDeleteCommandsCanExecute(); _parentViewModel.CurrentCustomer = item; _parentViewModel.InitializeCustomerDetailViewModel(); } else { OnUIThread(() => InnerItem.Contact.InjectFrom <CloneInjection>(item)); } _parentViewModel.IsModified = true; } }); }
private void RaisePropertyValueEditInteractionRequest(DynamicContentItemProperty originalItem) { var item = originalItem.DeepClone(EntityFactory as IKnownSerializationTypes); var itemVM = _viewModelsFactory.GetViewModelInstance( new KeyValuePair <string, object>("item", item) ); var confirmation = new ConditionalConfirmation { Title = "Enter property value".Localize(), Content = itemVM }; CommonConfirmRequest.Raise(confirmation, (x) => { if (x.Confirmed) { switch ((PropertyValueType)item.ValueType) { case PropertyValueType.Integer: OnUIThread(() => InnerItem.PropertyValues.First(y => y.Name == item.Name).IntegerValue = item.IntegerValue); break; case PropertyValueType.Decimal: OnUIThread(() => InnerItem.PropertyValues.First(y => y.Name == item.Name).DecimalValue = item.DecimalValue); break; case PropertyValueType.ShortString: OnUIThread(() => InnerItem.PropertyValues.First(y => y.Name == item.Name).ShortTextValue = item.ShortTextValue); break; case PropertyValueType.Image: case PropertyValueType.LongString: OnUIThread(() => InnerItem.PropertyValues.First(y => y.Name == item.Name).LongTextValue = item.LongTextValue); break; case PropertyValueType.Category: OnUIThread(() => InnerItem.PropertyValues.First(y => y.Name == item.Name).LongTextValue = item.LongTextValue); OnUIThread(() => InnerItem.PropertyValues.First(y => y.Name == item.Name).Alias = item.Alias); break; case PropertyValueType.Boolean: OnUIThread(() => InnerItem.PropertyValues.First(y => y.Name == item.Name).BooleanValue = item.BooleanValue); break; } } }); }
private void RaiseCaseDeleteRequest() { var confirmation = new ConditionalConfirmation { Content = string.Format("Are you sure you want to delete Case '{0}'?".Localize(), InnerItem.Number), Title = "Delete confirmation".Localize(null, LocalizationScope.DefaultCategory) }; CommonConfirmRequest.Raise(confirmation, (x) => { if (x.Confirmed) { /// TODO: implement this InnerItem.Number = UniqueNumberGenerator.GetUniqueNumber(); } }); }
private void RaiseItemDeleteInteractionRequest(CaseProperty item) { var confirmation = new ConditionalConfirmation { Content = string.Format("Are you sure you want to delete Info Value '{0}'?".Localize(), item.Name), Title = "Delete confirmation".Localize(null, LocalizationScope.DefaultCategory) }; CommonConfirmRequest.Raise(confirmation, (x) => { if (x.Confirmed) { InnerItem.CaseProperties.Remove(item); IsModified = true; } }); }
private void RaisePriceDeleteInteractionRequest(Price item) { var confirmation = new ConditionalConfirmation { Content = string.Format("Are you sure you want to delete price '{0}'?".Localize(), item.PriceId), Title = "Delete confirmation".Localize(null, LocalizationScope.DefaultCategory) }; CommonConfirmRequest.Raise(confirmation, (x) => { if (x.Confirmed) { // item.PropertyChanged -= ViewModel_PropertyChanged; Prices.Remove(item); } }); }
private void RaiseImportJobRunInteractionRequest(object item) { // initial checks if (item == null) { CommonNotifyRequest.Raise(new Notification { Content = "Select import job to run.".Localize(), Title = "Error".Localize(null, LocalizationScope.DefaultCategory) }); } else { var it = ((VirtualListItem <IImportJobViewModel>)item).Data.InnerItem; var jobEntity = new ImportEntity { ImportJob = it }; var itemVM = _runVmFactory.GetViewModelInstance( new KeyValuePair <string, object>("jobEntity", jobEntity) ); var confirmation = new ConditionalConfirmation(itemVM.Validate) { Content = itemVM, Title = "Run Import Job".Localize() }; CommonConfirmRequest.Raise(confirmation, async(x) => { if (x.Confirmed) { await Task.Run(() => { var id = Guid.NewGuid().ToString(); var statusUpdate = new StatusMessage { ShortText = string.Format("File '{0}' import.".Localize(), Path.GetFileName(jobEntity.SourceFile)), StatusMessageId = id }; EventSystem.Publish(statusUpdate); var progress = new Progress <ImportProgress>(); progress.ProgressChanged += ImportProgressChanged; PerformImportAsync(id, jobEntity, progress); }); } }); } }
private void RaiseEditLabelRequest(Label selectedLabel) { var itemVM = _labelVmFactory.GetViewModelInstance(new KeyValuePair <string, object>("item", selectedLabel)); CommonConfirmRequest.Raise( new ConditionalConfirmation(itemVM.InnerItem.Validate) { Title = "Edit Label".Localize(), Content = itemVM }, (x) => { if (x.Confirmed) { ShowLoadingAnimation = true; Task.Factory.StartNew(() => { using (var _repository = _repositoryFactory.GetRepositoryInstance()) { var labelForUpdate = _repository.Labels.Where(l => l.LabelId == selectedLabel.LabelId).SingleOrDefault(); if (labelForUpdate != null) { OnUIThread(() => labelForUpdate.InjectFrom <CloneInjection>(selectedLabel)); _repository.UnitOfWork.Commit(); } } }).ContinueWith(t => { if (t.Exception != null) { if (t.Exception.InnerExceptions.Count > 0) { ShowErrorDialog(t.Exception.InnerExceptions[0], string.Format("Error: {0}", t.Exception.InnerExceptions[0].Message)); } } else { var view = CollectionViewSource.GetDefaultView(Items); view.Refresh(); } ShowLoadingAnimation = false; }, TaskScheduler.FromCurrentSynchronizationContext()); } } ); }
private void DoClearCache() { var confirmation = new ConditionalConfirmation { Title = "Refresh locally cached Commerce Manager texts".Localize(), Content = "Are you sure you want to clear all locally cached Commerce Manager texts?".Localize() }; CommonConfirmRequest.Raise(confirmation, async xx => { if (xx.Confirmed) { ShowLoadingAnimation = true; try { await Task.Run(() => { _elementRepository.Clear(); // force Elements re-caching _elementRepository.Elements(); _elementRepository.SetStatusDate(); // force values update LocalizationManager.UpdateValues(); // update available languages menu SendCulturesToShell(); }); var notification = new Notification(); // notification.Title = "Done"; notification.Content = "All locally cached texts were removed. You may need to restart this application for the changes to take effect." .Localize(); CommonNotifyRequest.Raise(notification); } finally { ShowLoadingAnimation = false; } } }); }
private bool RaiseStoreSettingEditInteractionRequest(StoreSetting item, string title) { bool result = false; var itemVM = _settingVmFactory.GetViewModelInstance( new KeyValuePair <string, object>("item", item) ); var confirmation = new ConditionalConfirmation(itemVM.InnerItem.Validate); confirmation.Title = title; confirmation.Content = itemVM; CommonConfirmRequest.Raise(confirmation, (x) => { result = x.Confirmed; }); return(result); }
private void RaiseFilePickInteractionRequest() { _pickAssetVM.InitializeViewForSingletonViewModel(); CommonConfirmRequest.Raise( new ConditionalConfirmation(_pickAssetVM.Validate) { Content = _pickAssetVM, Title = "Select file" }, (x) => { if (x.Confirmed) { InnerItem.TemplateId = _pickAssetVM.SelectedAsset.FolderItemId; CsvFileColumns = GetCsvColumns(InnerItem.TemplateId); OnPropertyChanged("InnerItem"); } }); }
private bool RaisePropertyValueEditInteractionRequest(StorageEntity item, string title) { bool result = false; var itemVM = _propertyValueVmFactory.GetViewModelInstance( new KeyValuePair <string, object>("item", item), new KeyValuePair <string, object>("parent", this) ); var confirmation = new ConditionalConfirmation(itemVM.Validate); confirmation.Title = title; confirmation.Content = itemVM; CommonConfirmRequest.Raise(confirmation, (x) => { result = x.Confirmed; }); return(result); }
private bool RaisePropertySetEditInteractionRequest(PropertySet item, string title, out ICollectionChange <PropertySetProperty> itemsCollection) { var result = false; var itemVM = _propertySetVmFactory.GetViewModelInstance( new KeyValuePair <string, object>("item", item), new KeyValuePair <string, object>("properties", CurrentCatalogProperties)); var confirmation = new ConditionalConfirmation(itemVM.Validate) { Title = title, Content = itemVM }; CommonConfirmRequest.Raise(confirmation, (x) => { result = x.Confirmed; }); itemsCollection = itemVM.GetItemsCollection(); return(result); }
private void DeleteEmail() { if (SelectedEmail != null) { CommonConfirmRequest.Raise( new ConditionalConfirmation { Title = "Action confirmation".Localize(null, LocalizationScope.DefaultCategory), Content = "Are you sure you want to delete the email?".Localize() }, (x) => { if (x.Confirmed) { InnerItem.Emails.Remove(SelectedEmail); } }); } }