private void OnRemoveGroupCommand(string obj) { if (SelectedMemberGroup != null) { MemberGroups.Remove(SelectedMemberGroup); } }
private void OnAddGroupCommand(string obj) { if (SelectedGroup != null) { if (MemberGroups.Where(t => t.Id == SelectedGroup.Id).Any() == false) { MemberGroups.Add(SelectedGroup); } } }
public bool ContainsClassOrMember(NodeSearchElement member) { var memberViewModel = new NodeSearchElementViewModel(member, null); // TODO(Vladimir): classes functionality. //if (Classes.Any(cl => cl.Equals(member))) return true; // Search among member groups. return(MemberGroups.Any(group => group.ContainsMember(memberViewModel))); }
public MainWindowViewModel() { memberList = new MemberList(); BuildTestMembers(memberList); PickRosterFile(); memberGroups = new MemberGroups(); SortAndGroupMemberList(memberList, memberGroups); List <string> tempActivities = new List <string>(); BuildTestActivities(tempActivities); ActivityList = tempActivities.Distinct().ToList(); ActivityList.Sort(); }
private void SortAndGroupMemberList(MemberList memberList, MemberGroups memberGroups) { memberList.Members = memberList.Members .OrderBy(m => m.MemberName) .ThenBy(m => m.Badge) .ToList(); var grp = from Member in memberList.Members group Member by Member.NameIndex into grouped orderby grouped.Key select new MemberList { NameIndex = grouped.Key, Members = grouped.ToList() }; memberGroups.MemberCollection = grp.ToList(); }
public async Task <MemberGroups> AddUserToGroup(MemberGroups model) { try { using (var uow = _uowProvider.CreateUnitOfWork()) { var repository = uow.GetRepository <MemberGroups>(); var result = await repository.AddAsync(model); await uow.SaveChangesAsync(); return(result); } } catch (Exception ex) { throw ex; } }
public void SortChildren() { // TODO(Vladimir): classes functionality. //Classes.ToList().ForEach(x => x.RecursivelySort()); MemberGroups.ToList().ForEach(x => x.Sort()); }
//works correctly and validated private async void joinButton_Click(object sender, RoutedEventArgs e) { pageTitle.Visibility = Visibility.Collapsed; firstViewer.Visibility = Visibility.Collapsed; groupsListBox.Visibility = Visibility.Collapsed; populateMemberGroupList(); //should repopulate membergroups before creating/validating new membergroups int currGroupID = 0; using (var client = new HttpClient()) { //first need to find groupID. Following foreach not tested yet client.BaseAddress = new Uri("http://nflff.azurewebsites.net/"); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage groupResponse = await client.GetAsync("api/Groups?byName=" + selectedItem); if (groupResponse.StatusCode == HttpStatusCode.OK) { // got the memberId... currGroupID = Convert.ToInt32(groupResponse.Content.ReadAsStringAsync().Result); } HttpResponseMessage response = await client.GetAsync("api/groups/" + currGroupID); //if getting current group is successful if (response.IsSuccessStatusCode) { string s = await response.Content.ReadAsStringAsync(); Groups currGroup = JsonConvert.DeserializeObject <Groups>(s); MemberGroups newMemGrp = new MemberGroups(currGroupID, memID, currGroup.gameID); //validate that member is not already in group if (newMemGrp.notInGroup()) //correct values being passed { //convert MemberGroups obj to Json string for server to receive string newMG = JsonConvert.SerializeObject(newMemGrp); //post new memberGroup obj to db HttpContent postStr = new StringContent(newMG); HttpResponseMessage response2 = await client.PostAsync("api/MemberGroups?newMG=" + WebUtility.UrlEncode(newMG), postStr); //if posting new membergroup is successful if (response2.IsSuccessStatusCode) { //following 2 methods perform same functionality as calling viewMembers_Click populateMemberGroupList(); getMembersPerGroup(); MessageDialog successMsg = new MessageDialog("You have successfully joined the group"); await successMsg.ShowAsync(); } else { itemSelectedListBox.Items.Add("Failed to post new membergroup"); //should never display } } else { MessageDialog inGroupErrorMsg = new MessageDialog("You're already in this group"); await inGroupErrorMsg.ShowAsync(); } } else { itemSelectedListBox.Items.Add("Failed to get current group");//should never display } //returns to group detail page pageTitle.Visibility = Visibility.Visible; firstViewer.Visibility = Visibility.Visible; groupsListBox.Visibility = Visibility.Visible; } }
private async void enterButton_Click(object sender, RoutedEventArgs e) { using (var client = new HttpClient()) { client.BaseAddress = new Uri("http://nflff.azurewebsites.net/"); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); //values obtained through popup string groupName = groupNameBox.Text; //string cdate = DateTime.Now.ToString(); DateTime cdate = DateTime.Now; int gameID = 0; string gameStr = groupGameBox.SelectedItem.ToString(); //currently throws an error List <string> homeAway = getHomeAndAway(gameStr); //might need to change this to 2 strings string away = homeAway[0]; string home = homeAway[1]; if (gameStr == null) { MessageDialog emptyMsg = new MessageDialog("You must select a game"); await emptyMsg.ShowAsync(); return; } //gameID = gameStr.gameID;//will need to var teamsMsg = await client.GetAsync("api/Games?home=" + home + "&away=" + away); if (teamsMsg.IsSuccessStatusCode) { var testing = teamsMsg.Content.ReadAsStringAsync().Result; gameID = Convert.ToInt32(teamsMsg.Content.ReadAsStringAsync().Result); } string eventType = (String)eventTypeBox.SelectedItem; if (eventType == null) { MessageDialog emptyMsg = new MessageDialog("You must select an event type"); await emptyMsg.ShowAsync(); return; } string groupLocation = groupLocationBox.Text; bool conf = false; //what are we going to do about party privacy? Groups addedGroup = new Groups(groupName, memID, cdate, gameID, eventType, groupLocation, conf); //checking that all fields filled out if (addedGroup.completelyFilled()) { //checks that group name is unique if (addedGroup.hasUniqueName()) { //convert Groups obj to Json string for server to receive it String newGroupStr = JsonConvert.SerializeObject(addedGroup); HttpContent postGroupStr = new StringContent(newGroupStr); var response = await client.PostAsync("api/Groups?groupStr=" + WebUtility.UrlEncode(newGroupStr), postGroupStr); //causing HTTP 500 error //if posting new group successful if (response.IsSuccessStatusCode) { //get groupID then create a new MemberGroup entity using gameID and memID int newGroupID = 0; HttpResponseMessage groupResponse = await client.GetAsync("api/Groups?byName=" + groupName); if (groupResponse.StatusCode == HttpStatusCode.OK) { // got the memberId... newGroupID = Convert.ToInt32(groupResponse.Content.ReadAsStringAsync().Result); MemberGroups newMemGrp = new MemberGroups(newGroupID, memID, gameID); //convert MemberGroups obj to Json string for server to receive string newMG = JsonConvert.SerializeObject(newMemGrp); //post new memberGroup obj to db HttpContent postStr = new StringContent(newMG); HttpResponseMessage response2 = await client.PostAsync("api/MemberGroups?newMG=" + WebUtility.UrlEncode(newMG), postStr); //if posting new membergroup is successful if (response2.IsSuccessStatusCode) { //following 2 methods perform same functionality as calling viewMembers_Click populateMemberGroupList(); getMembersPerGroup(); MessageDialog successMsg = new MessageDialog("You have successfully created and joined the group"); await successMsg.ShowAsync(); } else { itemSelectedListBox.Items.Add("Failed to post new membergroup"); //should never display } } //displays groups again panel2.Visibility = Visibility.Collapsed; pageTitle.Visibility = Visibility.Visible; firstViewer.Visibility = Visibility.Visible; groupsListBox.Visibility = Visibility.Visible; //GetGroups(); addAnEventPop.IsOpen = false; } else { MessageDialog failMsg = new MessageDialog("Group failed to create"); await failMsg.ShowAsync(); } } else { MessageDialog notUniqueMsg = new MessageDialog("Name is already taken"); await notUniqueMsg.ShowAsync(); } } else { errorListBox.Items.Add("You must fill out all values to create a group"); addAnEventPop.IsOpen = true; } } GetGroups(); }