private void UsersColorChangedEventHandler(UsersColorModel payload) { if (!string.IsNullOrEmpty(payload.Subject)) { this._captionTextBox.Text = string.Format(UiResources.ColoredBy_1, payload.Subject); } else { this._captionTextBox.Text = string.Empty; } var userDic = payload.UsersColorDic; foreach (var item in this._layer.Items) { var shape = item as MapShape; if (shape != null) { var user = shape.Tag as CP.NLayer.Models.Entities.User; if (user != null) { if (userDic.Any(x => x.Key.Id == user.Id)) { var color = userDic.First(x => x.Key.Id == user.Id).Value; MapUtilities.ColorShape(shape, color); } } } } }
private void ChangeShapesColor() { var dic = new Dictionary <CP.NLayer.Models.Entities.User, Color>(); foreach (var item in Dashboard.Home.ViewModel.Users) { if (item.Department != null && this.SelectedDepartments.Any(x => x.Name == item.Department.Name)) { var color = (Color)ColorConverter.ConvertFromString(this.SelectedDepartments.First(x => x.Name == item.Department.Name).ColorHexValue); dic.Add(item, color); } else { dic.Add(item, _defaultColor); } } var payload = new UsersColorModel() { Subject = MResources.Department, UsersColorDic = dic }; Dashboard.Home.ViewModel.PublishUsersColorChangedEvent(payload); }
public static void PublishUsersColorChangedEvent(UsersColorModel payload) { var eventAggregator = ServiceLocator.Current.GetInstance <IEventAggregator>(); eventAggregator.GetEvent <UsersColorChangedEvent>().Publish(payload); }