Exemplo n.º 1
0
 private void OnRemoveGroupCommand(string obj)
 {
     if (SelectedMemberGroup != null)
     {
         MemberGroups.Remove(SelectedMemberGroup);
     }
 }
Exemplo n.º 2
0
 private void OnAddGroupCommand(string obj)
 {
     if (SelectedGroup != null)
     {
         if (MemberGroups.Where(t => t.Id == SelectedGroup.Id).Any() == false)
         {
             MemberGroups.Add(SelectedGroup);
         }
     }
 }
Exemplo n.º 3
0
        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;
            }
        }
Exemplo n.º 7
0
 public void SortChildren()
 {
     // TODO(Vladimir): classes functionality.
     //Classes.ToList().ForEach(x => x.RecursivelySort());
     MemberGroups.ToList().ForEach(x => x.Sort());
 }
Exemplo n.º 8
0
        //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;
            }
        }
Exemplo n.º 9
0
        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();
        }