protected override void OnSelectionMessageReceived(ProductDetailsSelectionChangedMessage msg) { if (this.Id != msg.ParameterId) { return; } var newSelectedValues = msg.ApplyedParameterValues; if (newSelectedValues.IsNullOrEmpty()) { ClearSelectedValue(); } else { SelectedValue = new ApplyedProductParameter { Id = this.Id, DataType = this.DataType, Values = newSelectedValues }; Items = new ObservableCollection <MultiCollectionItemVM>(Values .Where(x => newSelectedValues.Any(y => y.Id == x.Id)) .Select(z => new MultiCollectionItemVM(z.Id, z.ValueName)) ); } Messenger.Publish(new ProductDetailsReloadWhenValueChangedMessage(this)); }
protected override void OnSelectionMessageReceived(ProductDetailsSelectionChangedMessage msg) { if (this.Id != msg.ParameterId) { return; } var newSelectedValue = msg.ApplyedParameterValues?.SingleOrDefault(); if (newSelectedValue == null) { ClearSelectedValue(); } else { var filterValue = Values.FirstOrDefault(x => x.Id == newSelectedValue.Id); if (filterValue != null) { ValueName = filterValue.ValueName; SelectedValue = new ApplyedProductParameter { Id = this.Id, DataType = this.DataType, Values = new List <ApplyedProductParameterValue> { newSelectedValue } }; } } Messenger.Publish(new ProductDetailsReloadWhenValueChangedMessage(this)); }
protected abstract void OnSelectionMessageReceived(ProductDetailsSelectionChangedMessage msg);