public async void OnUserClickedCommand(int?index) { if (!IsEdit && index.HasValue) { if (index == 0) { return; } else if (index == UsersInGroup.Count - 1) { //Push to page NavigationParameters nav = new NavigationParameters(); nav.Add("friends", Friends); await _navigationService.NavigateAsync("AddUserToGroupPage", nav); } else { var newCollection = new ObservableCollection <UserDto>(UsersInGroup); newCollection.RemoveAt(index.Value); //Terrible UsersInGroup.Clear(); foreach (var u in newCollection) { UsersInGroup.Add(u); } } } }
public override void OnNavigatingTo(NavigationParameters parameters) { base.OnNavigatedTo(parameters); if (parameters["user"] != null) { var user = (UserDto)parameters["user"]; if (user != null) { if (!IsUserInGroup(user)) { var newCollection = new ObservableCollection <UserDto>(UsersInGroup); newCollection.Insert(UsersInGroup.Count - 1, user); //Terrible UsersInGroup.Clear(); foreach (var u in newCollection) { UsersInGroup.Add(u); } } } } else { if (parameters["group"] != null) { this.Group = (GroupDto)parameters["group"]; RaisePropertyChanged(nameof(Group)); GroupName = Group.Name; TrackCost = Group.TrackCost; SelectedIconName = Group.GroupIconName; RaisePropertyChanged(nameof(GroupName)); //UsersInGroup = new ObservableCollection<ShoutUserDto>(Group.Users); UsersInGroup.Clear(); UsersInGroup = new ObservableCollection <UserDto>(Group.Users); RaisePropertyChanged(nameof(UsersInGroup)); } else { UsersInGroup.Add(Settings.Current.User); UserDto u = new UserDto(); u.ID = DummyGuid; u.AvatarUrl = "ic_plus_white_18dp.png"; UsersInGroup.Add(u); } if (parameters["shout"] != null) { ShoutFromEdit = (RecordDto)parameters["shout"]; } if (parameters["edit"] != null) { IsEdit = true; Title = "Edit Group"; RaisePropertyChanged(nameof(IsEdit)); } } }
public override void OnNavigatingTo(NavigationParameters parameters) { if (parameters["group"] != null) { this.Group = (ShoutGroupDto)parameters["group"]; RaisePropertyChanged(nameof(Group)); ShoutName = Group.Name; TrackCost = Group.TrackCost; RaisePropertyChanged(nameof(ShoutName)); //UsersInGroup = new ObservableCollection<ShoutUserDto>(Group.Users); UsersInGroup.Clear(); UsersInGroup = new ObservableCollection <ShoutUserDto>(Group.Users); RaisePropertyChanged(nameof(UsersInGroup)); //foreach (var u in Group.Users) //{ // UsersInGroup.Add(u); //} if (CurrentApp.Current.MainViewModel.GroupColourDictionary.ContainsKey(Group.ID)) { SelectedColour = CurrentApp.Current.MainViewModel.GroupColourDictionary[Group.ID]; } } else { Random r = new Random(); SelectedColour = MyColours[r.Next(19)]; } if (parameters["shout"] != null) { ShoutFromEdit = (ShoutDto)parameters["shout"]; } if (parameters["edit"] != null) { IsEdit = true; } }