/// <summary> /// Updates an integration account received 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="agreementType">The agreement type.</param> /// <param name="integrationAccountControlNumber">The integration account control number object.</param> /// <returns>Updated integration account control number</returns> public IntegrationAccountControlNumber UpdateIntegrationAccountReceivedIcn(string resourceGroupName, string integrationAccountName, string integrationAccountAgreementName, AgreementType agreementType, 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.SessionNameForReceivedControlNumber( integrationAccountAgreementName: integrationAccountAgreementName, agreementType: agreementType, controlNumberValue: integrationAccountControlNumber.ControlNumber), session: new IntegrationAccountSession { Content = integrationAccountControlNumber }) .Content, integrationAccountAgreementName: integrationAccountAgreementName)); }
/// <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> /// Removes the specified integration account received control number. /// </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> /// <param name="controlNumberValue">The control number specific value</param> public void RemoveIntegrationAccountReceivedControlNumber(string resourceGroupName, string integrationAccountName, string integrationAccountAgreementName, string controlNumber) { this.LogicManagementClient.Sessions .Delete( resourceGroupName: resourceGroupName, integrationAccountName: integrationAccountName, sessionName: IntegrationAccountClient.SessionNameForReceivedControlNumber( integrationAccountAgreementName: integrationAccountAgreementName, controlNumberValue: controlNumber)); }
/// <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> /// Gets the integration account received interchange control number by agreement name and control number value. /// </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> /// <param name="controlNumberValue">The control number specific value</param> /// <returns>Integration account control number object.</returns> public IntegrationAccountControlNumber GetIntegrationAccountReceivedControlNumber(string resourceGroupName, string integrationAccountName, string integrationAccountAgreementName, string controlNumber) { return(IntegrationAccountClient.SessionContentToIntegrationAccountControlNumber( sessionContent: this.LogicManagementClient.Sessions .GetOrThrow( resourceGroupName: resourceGroupName, integrationAccountName: integrationAccountName, sessionName: IntegrationAccountClient.SessionNameForReceivedControlNumber( integrationAccountAgreementName: integrationAccountAgreementName, controlNumberValue: controlNumber)) .Content, integrationAccountAgreementName: integrationAccountAgreementName, controlNumber: controlNumber)); }