コード例 #1
0
        public async Task <IActionResult> PermissionDetails(string collabId)
        {
            try
            {
                await InitClient();

                var detail = CollaborationService.GetDetailsAsync(collabId);
                var perms  = CollaborationService.GetPermissionsAsync(collabId);
                await Task.WhenAll(detail, perms);

                var allPerms   = CollaborationService.GetPermissionTypes();
                var foundTypes = perms.Result.Select(p => p.Type).ToList();
                foreach (var perm in allPerms)
                {
                    if (!foundTypes.Contains(perm))
                    {
                        perms.Result.Add(new Studio.Api.Model.Permissions.Permission(perm, (bool?)null));
                    }
                }
                var model = new CollaborationDetails {
                    Collab = detail.Result, Permissions = perms.Result
                };
                return(View(model));
            }
            catch (StudioApiException e)
            {
                return(HandleError(e));
            }
        }
コード例 #2
0
        public async Task <IActionResult> Details(string collabId)
        {
            try
            {
                await InitClient();

                var project = await CollaborationService.GetDetailsAsync(collabId);

                var model = new CollaborationDetails {
                    Collab = project
                };
                return(View(model));
            }
            catch (StudioApiException e)
            {
                return(HandleError(e));
            }
        }
コード例 #3
0
        public async Task <IActionResult> UserList(string collabId, int page = 1)
        {
            try
            {
                await InitClient();

                var detail = CollaborationService.GetDetailsAsync(collabId);
                var users  = CollaborationService.GetUsersAsync(collabId, page);
                await Task.WhenAll(detail, users);

                var model = new CollaborationDetails {
                    Collab = detail.Result, Users = users.Result
                };
                return(View(model));
            }
            catch (StudioApiException e)
            {
                return(HandleError(e));
            }
        }
コード例 #4
0
        public async Task <IActionResult> Activity(string collabId, int page = 1)
        {
            try
            {
                await InitClient();

                var detail = CollaborationService.GetDetailsAsync(collabId);
                var ars    = CollaborationService.GetActivity(collabId, page);
                await Task.WhenAll(detail, ars);

                var cd = new CollaborationDetails {
                    Collab = detail.Result, IsSessionActivityPage = true
                };
                var model = new SessionActivity {
                    Activities = ars.Result, CollaborationDetails = cd
                };
                return(View(model));
            }
            catch (StudioApiException e)
            {
                return(HandleError(e));
            }
        }