Integration Account client class
        /// <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));
        }
Esempio n. 2
0
        /// <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;
            }
        }
Esempio n. 3
0
 /// <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));
 }
Esempio n. 4
0
 /// <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));
 }
Esempio n. 5
0
 /// <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));
 }