コード例 #1
0
ファイル: GroupsController.cs プロジェクト: hpatel98/SCAMP
 private GroupSummary MapToGroupSummary(ScampUserGroupMbrship groupMembership)
 {
     return(new GroupSummary
     {
         Id = groupMembership.Id,
         Name = groupMembership.Name,
     });
 }
コード例 #2
0
ファイル: GroupsController.cs プロジェクト: hpatel98/SCAMP
 private UserSummary MapToSummary(ScampUserGroupMbrship docDbUser)
 {
     return(new UserSummary
     {
         Id = docDbUser.Id,
         Name = docDbUser.Name,
         isManager = docDbUser.isManager
     });
 }
コード例 #3
0
        public async Task <IActionResult> Get(string groupId, string userId)
        {
            //TODO: add in group admin/manager authorization check
            //if (!await CurrentUserCanViewGroup(group))
            //    return new HttpStatusCodeResult(403); // Forbidden
            //}

            // get group details
            var tmpUser = await _userRepository.GetUserById(userId);

            if (tmpUser == null) // group not found, return appropriately
            {
                return(HttpNotFound());
            }

            ScampUserGroupMbrship tmpGroup = tmpUser.GroupMembership.FirstOrDefault(g => g.Id == groupId);

            if (tmpGroup == null)                      // user not found in group, return appropriately
            {
                return(new HttpStatusCodeResult(204)); // nothing found
            }
            // build return view
            List <ScampResourceSummary> rtnView = new List <ScampResourceSummary>();

            foreach (ScampUserGroupResources resourceRef in tmpGroup.Resources)
            {
                // get resource usage
                var rscState = await _volatileStorageController.GetResourceState(resourceRef.Id);

                ScampResourceSummary tmpSummary = new ScampResourceSummary()
                {
                    Id           = resourceRef.Id,
                    Name         = resourceRef.Name,
                    State        = rscState.State,
                    totUnitsUsed = rscState.UnitsUsed
                };
                rtnView.Add(tmpSummary);
            }

            return(new ObjectResult(rtnView)
            {
                StatusCode = 200
            });
        }