/// <summary> /// Tries to get the integration account generated interchange control number by agreement name. /// Returns a placeholder if the underlying session is not found. /// </summary> /// <param name="resourceGroupName">The integration account resource group name.</param> /// <param name="integrationAccountName">The integration account name.</param> /// <param name="integrationAccountAgreementName">The integration account agreement name.</param> /// <returns>Integration account control number object.</returns> public IntegrationAccountControlNumber TryGetIntegrationAccountGeneratedIcn(string resourceGroupName, string integrationAccountName, string integrationAccountAgreementName) { try { return(IntegrationAccountClient.SessionContentToIntegrationAccountControlNumber( sessionContent: this.LogicManagementClient.IntegrationAccountSessions .Get( resourceGroupName: resourceGroupName, integrationAccountName: integrationAccountName, sessionName: IntegrationAccountClient.SessionNameForGeneratedIcn(integrationAccountAgreementName)) .Content, integrationAccountAgreementName: integrationAccountAgreementName)); } catch (ErrorResponseException ex) { if (ex.Body.Error.Code == "SessionNotFound") { return(new IntegrationAccountControlNumber { ControlNumber = Properties.Resource.GeneratedControlNumberNotFound, ControlNumberChangedTime = DateTime.MinValue }); } throw; } }
/// <summary> /// Gets the integration account generated interchange control number by agreement name. /// </summary> /// <param name="resourceGroupName">The integration account resource group name.</param> /// <param name="integrationAccountName">The integration account name.</param> /// <param name="integrationAccountAgreementName">The integration account agreement name.</param> /// <returns>Integration account control number object.</returns> public IntegrationAccountControlNumber GetIntegrationAccountGeneratedIcn(string resourceGroupName, string integrationAccountName, string integrationAccountAgreementName) { return(IntegrationAccountClient.SessionContentToIntegrationAccountControlNumber( sessionContent: this.LogicManagementClient.IntegrationAccountSessions .Get( resourceGroupName: resourceGroupName, integrationAccountName: integrationAccountName, sessionName: IntegrationAccountClient.SessionNameForGeneratedIcn(integrationAccountAgreementName)) .Content, integrationAccountAgreementName: integrationAccountAgreementName)); }
/// <summary> /// Updates the integration account generated interchange control number for a given agreement. /// </summary> /// <param name="resourceGroupName">The integration account agreement resource group.</param> /// <param name="integrationAccountName">The integration account name.</param> /// <param name="integrationAccountAgreementName">The integration account agreement name.</param> /// <param name="integrationAccountControlNumber">The integration account control number object.</param> /// <returns>Updated integration account control number</returns> public IntegrationAccountControlNumber UpdateIntegrationAccountGeneratedIcn(string resourceGroupName, string integrationAccountName, string integrationAccountAgreementName, IntegrationAccountControlNumber integrationAccountControlNumber) { if (!this.DoesIntegrationAccountAgreementExist(resourceGroupName, integrationAccountName, integrationAccountAgreementName)) { throw new PSArgumentException(message: string.Format( CultureInfo.InvariantCulture, Properties.Resource.ResourceNotFound, integrationAccountAgreementName, resourceGroupName)); } return(IntegrationAccountClient.SessionContentToIntegrationAccountControlNumber( sessionContent: this.LogicManagementClient.IntegrationAccountSessions .CreateOrUpdate( resourceGroupName: resourceGroupName, integrationAccountName: integrationAccountName, sessionName: IntegrationAccountClient.SessionNameForGeneratedIcn(integrationAccountAgreementName), session: new IntegrationAccountSession { Content = integrationAccountControlNumber }) .Content, integrationAccountAgreementName: integrationAccountAgreementName)); }