protected override void InitializeInternal()
        {
            var organizationId = RequestItemsService.OrganizationId;
            var accessToken    = RequestItemsService.User.AccessToken;
            var basePath       = RequestItemsService.Session.AdminApiBasePath;
            var accountId      = RequestItemsService.Session.AccountId;


            // Step 2 Start
            var apiClient = new ApiClient(basePath);

            apiClient.Configuration.DefaultHeader.Add("Authorization", "Bearer " + accessToken);
            // Step 2 End

            // Step 3 Start
            var productPermissionProfileApi = new ProductPermissionProfilesApi(apiClient);
            var productPermissionProfiles   = productPermissionProfileApi.GetProductPermissionProfiles(organizationId, Guid.Parse(accountId));

            ViewBag.CLMPermissionProfiles   = productPermissionProfiles.ProductPermissionProfiles.Find(x => x.ProductName == "CLM").PermissionProfiles;
            ViewBag.ESignPermissionProfiles = productPermissionProfiles.ProductPermissionProfiles.Find(x => x.ProductName == "ESign").PermissionProfiles;
            clmProductId   = productPermissionProfiles.ProductPermissionProfiles.Find(x => x.ProductName == "CLM").ProductId;
            eSignProductId = productPermissionProfiles.ProductPermissionProfiles.Find(x => x.ProductName == "ESign").ProductId;
            // Step 3 End

            // Step 4 Start
            var dsGroupsApi = new DSGroupsApi(apiClient);

            ViewBag.DsGroups = dsGroupsApi.GetDSGroups(organizationId, Guid.Parse(accountId)).DsGroups;
            // Step 4 End
            if (ViewBag.DsGroups.Count == 0)
            {
                throw new ApiException(0, "You do not have any groups set in your DocuSign Admin. Please go to DocuSign Admin and create a group to use this code example.");
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Delete user product permission profiles using an email address.
        /// </summary>
        /// <param name="basePath">BasePath for API calls (URI)</param>
        /// <param name="accessToken">Access Token for API call (OAuth)</param>
        /// <param name="orgId">DocuSign Organization Id (GUID)</param>
        /// <param name="accountId">The DocuSign account Id (GUID)</param>
        /// <param name="emailAddress">The email address of the user (GUID)</param>
        /// <param name="productId">The DocuSign product Id (GUID)</param>
        /// <returns>Result of the remove product action</returns>
        public static RemoveUserProductsResponse DeleteUserProductPermissionProfile(
            string basePath,
            string accessToken,
            Guid?orgId,
            Guid accountId,
            string emailAddress,
            Guid?productId)
        {
            // Step 2 start
            var apiClient = new ApiClient(basePath);

            apiClient.Configuration.DefaultHeader.Add("Authorization", "Bearer " + accessToken);
            var productPermissionProfilesApi = new ProductPermissionProfilesApi(apiClient);
            // Step 2 end

            // Step 4 start
            var userProductProfileDeleteRequest = new UserProductProfileDeleteRequest
            {
                ProductIds = new List <Guid?>
                {
                    productId
                },
                UserEmail = emailAddress
            };

            // Step 4 end

            // Step 5 start
            return(productPermissionProfilesApi.RemoveUserProductPermission(orgId, accountId, userProductProfileDeleteRequest));
            // Step 5 end
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Get permission profiles.
        /// </summary>
        /// <param name="basePath">BasePath for API calls (URI)</param>
        /// <param name="accessToken">Access Token for API call (OAuth)</param>
        /// <param name="orgId">DocuSign Organization Id (GUID)</param>
        /// <param name="accountId">The DocuSign account Id (GUID)</param>
        /// <returns>Product permission profiles</returns>
        public static ProductPermissionProfilesResponse GetPermissionProfiles(
            string basePath,
            string accessToken,
            Guid?orgId,
            Guid accountId)
        {
            var apiClient = new ApiClient(basePath);

            apiClient.Configuration.DefaultHeader.Add("Authorization", "Bearer " + accessToken);

            var productPermissionProfileApi = new ProductPermissionProfilesApi(apiClient);

            return(productPermissionProfileApi.GetProductPermissionProfiles(orgId, accountId));
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Update user product permission profile by email address.
        /// </summary>
        /// <param name="basePath">BasePath for API calls (URI)</param>
        /// <param name="accessToken">Access Token for API call (OAuth)</param>
        /// <param name="orgId">DocuSign Organization Id (GUID)</param>
        /// <param name="accountId">The DocuSign account Id (GUID)</param>
        /// <param name="emailAddress">The email of the user (string)</param>
        /// <param name="productId">The DocuSign Product Id (GUID)</param>
        /// <param name="permissionProfileId">The DocuSign Permission profile Id (GUID)</param>
        /// <returns>Result of the user update method</returns>
        public static UserProductPermissionProfilesResponse UpdateUserProductPermissionProfile(
            string basePath,
            string accessToken,
            Guid?orgId,
            Guid accountId,
            string emailAddress,
            Guid?productId,
            string permissionProfileId)
        {
            // Step 2 start
            var apiClient = new ApiClient(basePath);

            apiClient.Configuration.DefaultHeader.Add("Authorization", "Bearer " + accessToken);
            var productPermissionProfilesApi = new ProductPermissionProfilesApi(apiClient);
            // Step 2 end

            // Step 3 start
            var userProductPermissionProfilesRequest = new UserProductPermissionProfilesRequest
            {
                Email = emailAddress,
                ProductPermissionProfiles = new List <ProductPermissionProfileRequest>
                {
                    new ProductPermissionProfileRequest
                    {
                        PermissionProfileId = permissionProfileId,
                        ProductId           = productId
                    }
                }
            };

            // Step 3 end

            // Step 4 start
            return(productPermissionProfilesApi.AddUserProductPermissionProfilesByEmail(
                       orgId,
                       accountId,
                       userProductPermissionProfilesRequest
                       ));
            // Step 4 end
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Get permission profiles by email.
        /// </summary>
        /// <param name="basePath">BasePath for API calls (URI)</param>
        /// <param name="accessToken">Access Token for API call (OAuth)</param>
        /// <param name="orgId">DocuSign Organization Id (GUID)</param>
        /// <param name="accountId">The DocuSign account Id (GUID)</param>
        /// <param name="emailAddress">The email address of DocuSign user (string)</param>
        /// <returns>Product permission profiles</returns>
        public static UserProductPermissionProfilesResponse GetPermissionProfilesByEmail(
            string basePath,
            string accessToken,
            Guid?orgId,
            Guid accountId,
            string emailAddress)
        {
            var apiClient = new ApiClient(basePath);

            apiClient.Configuration.DefaultHeader.Add("Authorization", "Bearer " + accessToken);

            // Step 3 start
            var productPermissionProfileApi = new ProductPermissionProfilesApi(apiClient);

            var getUserProductPermission = new ProductPermissionProfilesApi.GetUserProductPermissionProfilesByEmailOptions
            {
                email = emailAddress
            };

            return(productPermissionProfileApi.GetUserProductPermissionProfilesByEmail(orgId, accountId, getUserProductPermission));
            // Step 3 end
        }