private bool FilterPaymentMethods(object item) { bool result = false; var paymentItem = item as PaymentMethod; if (!SelectedPaymentMethods.Contains(paymentItem)) { result = true; } return(result); }
protected override void InitializePropertiesForViewing() { OnUIThread(() => { if (this is IShippingMethodOverviewStepViewModel || IsSingleDialogEditing) { if (AvailableShippingOptions == null) { using (var repository = _repositoryFactory.GetRepositoryInstance()) { AvailableShippingOptions = repository.ShippingOptions.ToArray(); OnPropertyChanged("AvailableShippingOptions"); AllAvailableCurrencies = GetAvailableCurrencies(); OnPropertyChanged("AllAvailableCurrencies"); } } } using (var paymentRepository = _paymentMethdRepositoryFactory.GetRepositoryInstance()) { AllAvailablePaymentMethods.Clear(); AllAvailablePaymentMethods = paymentRepository.PaymentMethods.Expand(pm => pm.PaymentMethodShippingMethods).ToList(); var view = CollectionViewSource.GetDefaultView(AllAvailablePaymentMethods); view.Filter = FilterPaymentMethods; SelectedPaymentMethods.Clear(); foreach (var paymentMethodShippingMethodItem in InnerItem.PaymentMethodShippingMethods) { var paymMethFromDb = paymentRepository.PaymentMethods.Where( pm => pm.PaymentMethodId == paymentMethodShippingMethodItem.PaymentMethodId) .SingleOrDefault(); if (paymMethFromDb != null) { SelectedPaymentMethods.Add(paymMethFromDb); } } view.Refresh(); } using (var orderRepository = _orderRepositoryFactory.GetRepositoryInstance()) { AllAvailableJurisdictionGroups.Clear(); AllAvailableJurisdictionGroups = orderRepository.JurisdictionGroups.Expand(jg => jg.ShippingMethodJurisdictionGroups).ToList(); var jurisGroupView = CollectionViewSource.GetDefaultView(AllAvailableJurisdictionGroups); jurisGroupView.Filter = FilterJurisdictionGroups; SelectedJurisdictionGroups.Clear(); foreach (var shippingMethodJurisdictionGroupItem in InnerItem.ShippingMethodJurisdictionGroups) { var shipMethJurGroupFromDb = orderRepository.JurisdictionGroups.Where( jg => jg.JurisdictionGroupId == shippingMethodJurisdictionGroupItem.JurisdictionGroupId) .SingleOrDefault(); if (shipMethJurGroupFromDb != null) { SelectedJurisdictionGroups.Add(shipMethJurGroupFromDb); } } jurisGroupView.Refresh(); } }); if (!IsWizardMode) { LanguagesStepViewModel = _languagesVmFactory.GetViewModelInstance( new KeyValuePair <string, object>("selectedLanguages", InnerItem.ShippingMethodLanguages)); OnPropertyChanged("LanguagesStepViewModel"); LanguagesStepViewModel.CollectionChanged = ViewModel_PropertyChanged; } }