public async Task SetPermissionsAsync(UpdateCollabPermissionsRequest request) { if (request == null) { return; } var id = request.CollabId; var tasks = new List <Task>(); if (Permission.AllowIsValid(request.UndoCheckouts)) { tasks.Add(Client.UpdateProjectPermissions(id, new Permission("UndoCheckouts", request.UndoCheckouts))); } if (Permission.AllowIsValid(request.CreateSessions)) { tasks.Add(Client.UpdateProjectPermissions(id, new Permission("CreateSessions", request.CreateSessions))); } if (Permission.AllowIsValid(request.ShareItems)) { tasks.Add(Client.UpdateProjectPermissions(id, new Permission("ShareItems", request.ShareItems))); } if (Permission.AllowIsValid(request.Invite)) { tasks.Add(Client.UpdateProjectPermissions(id, new Permission("Invite", request.Invite))); } if (Permission.AllowIsValid(request.ManageParticipants)) { tasks.Add(Client.UpdateProjectPermissions(id, new Permission("ManageParticipants", request.ManageParticipants))); } if (Permission.AllowIsValid(request.ManagePermissions)) { tasks.Add(Client.UpdateProjectPermissions(id, new Permission("ManagePermissions", request.ManagePermissions))); } if (Permission.AllowIsValid(request.FullControl)) { tasks.Add(Client.UpdateProjectPermissions(id, new Permission("FullControl", request.FullControl))); } await Task.WhenAll(tasks); }
public async Task SetPermissionsAsync(UpdateCollabPermissionsRequest request) { if (request == null) { return; } var id = request.CollabId; var tasks = new List <Task>(); if (Permission.AllowIsValid(request.SaveCopy)) { tasks.Add(Client.UpdateSessionPermissions(id, new Permission("SaveCopy", request.SaveCopy))); } if (Permission.AllowIsValid(request.PrintCopy)) { tasks.Add(Client.UpdateSessionPermissions(id, new Permission("PrintCopy", request.PrintCopy))); } if (Permission.AllowIsValid(request.Markup)) { tasks.Add(Client.UpdateSessionPermissions(id, new Permission("Markup", request.Markup))); } if (Permission.AllowIsValid(request.AddDocuments)) { tasks.Add(Client.UpdateSessionPermissions(id, new Permission("AddDocuments", request.AddDocuments))); } if (Permission.AllowIsValid(request.MarkupAlert)) { tasks.Add(Client.UpdateSessionPermissions(id, new Permission("MarkupAlert", request.MarkupAlert))); } if (Permission.AllowIsValid(request.FullControl)) { tasks.Add(Client.UpdateSessionPermissions(id, new Permission("FullControl", request.FullControl))); } await Task.WhenAll(tasks); }
public async Task <IActionResult> UpdatePermissions([Bind] UpdateCollabPermissionsRequest request) { try { if (request == null) { return(BadRequest()); } await InitClient(); await CollaborationService.SetPermissionsAsync(request); return(RedirectToAction("PermissionDetails", new Dictionary <string, string> { { "collabId", request.CollabId } })); } catch (StudioApiException e) { return(HandleError(e)); } }