3.19.4.4.1.32 CreateDhcpFiltersDelegate
The CreateDhcpFiltersDelegate processing is done when the IpamOperationWithProgressParameter.OperationId is AdminOperationId.CreateDhcpFilters. The IpamOperationWithProgressParameter instance in this case MUST be of type CreateDhcpFiltersParameters.
This operation is used to create DHCP filters. The following are the steps involved. In these steps, at any time a fault is generated, the SetOverallStatus SHOULD be called with the fault details:
If IpamOperationWithProgressParameter is NULL or not of type CreateDhcpFiltersParameters, generate an appropriate SOAP fault (as specified in section 2.2.2.1). Project IpamOperationWithProgressParameter in a local variable as CreateDhcpFiltersParameters.
If CreateDhcpFiltersParameters.Filters is NULL, CreateDhcpFiltersParameters.Filters.Count is 0, CreateDhcpFiltersParameters.DhcpServerIDs is NULL, or CreateDhcpFiltersParameters.DhcpServerIds.Count is 0, generate an appropriate SOAP fault (as specified in section 2.2.2.1).
For each combination of FilterId and ServerId from the collections CreateDhcpFiltersParameters.Filters and CreateDhcpFiltersParameters.DhcpServerIDs, check whether a row exists in ADM_DhcpFiltersTable that has ADM_DhcpFiltersTable.FilterId equal to FilterId and ADM_DhcpFiltersTable.ServerId equal to ServerId.
If the row corresponding to FilterId and ServerId exists, update the row of the ADM_DhcpFiltersTable with the properties of the filter specified in the specific filter entry of CreateDhcpFiltersParameters.Filters.
If the row corresponding to FilterId and ServerId does not exist, create a new row in ADM_DhcpFiltersTable and initialize it with the FilterId and ServerId and the filter properties from the specific filter entry of CreateDhcpFiltersParameters.Filters.
Call SetOverallStatus with Success and 100% completion.