public List <CrrModel.ProtectedItemResource> ListProtectedItemsByContainerCrr( string vaultName, string resourceGroupName, CmdletModel.ContainerBase container, CmdletModel.PolicyBase policy, string backupManagementType, string dataSourceType) { string skipToken = null; // fetching backup items from secondary region ODataQuery <CrrModel.ProtectedItemQueryObject> queryParamsCrr = policy != null ? new ODataQuery <CrrModel.ProtectedItemQueryObject>( q => q.BackupManagementType == backupManagementType && q.ItemType == dataSourceType && q.PolicyName == policy.Name) : new ODataQuery <CrrModel.ProtectedItemQueryObject>( q => q.BackupManagementType == backupManagementType && q.ItemType == dataSourceType); List <CrrModel.ProtectedItemResource> protectedItemsCrr = new List <CrrModel.ProtectedItemResource>(); var listResponse = ServiceClientAdapter.ListProtectedItemCrr( queryParamsCrr, skipToken, vaultName: vaultName, resourceGroupName: resourceGroupName); protectedItemsCrr.AddRange(listResponse); // return Crr Items when CRR if (container != null) { protectedItemsCrr = protectedItemsCrr.Where(protectedItem => { Dictionary <CmdletModel.UriEnums, string> dictionary = HelperUtils.ParseUri(protectedItem.Id); string containerUri = HelperUtils.GetContainerUri(dictionary, protectedItem.Id); var delimIndex = containerUri.IndexOf(';'); string containerName = null; if (string.Compare(protectedItem.Properties.BackupManagementType, ServiceClientModel.BackupManagementType.AzureWorkload) == 0) { containerName = containerUri; } else { containerName = containerUri.Substring(delimIndex + 1); } return(containerName.ToLower().Equals(container.Name.ToLower())); }).ToList(); } return(protectedItemsCrr); }
public List <ProtectedItemResource> ListProtectedItemsByContainer( string vaultName, string resourceGroupName, CmdletModel.ContainerBase container, CmdletModel.PolicyBase policy, string backupManagementType, string dataSourceType) { ODataQuery <ProtectedItemQueryObject> queryParams = policy != null ? new ODataQuery <ProtectedItemQueryObject>( q => q.BackupManagementType == backupManagementType && q.ItemType == dataSourceType && q.PolicyName == policy.Name) : new ODataQuery <ProtectedItemQueryObject>( q => q.BackupManagementType == backupManagementType && q.ItemType == dataSourceType); List <ProtectedItemResource> protectedItems = new List <ProtectedItemResource>(); string skipToken = null; var listResponse = ServiceClientAdapter.ListProtectedItem( queryParams, skipToken, vaultName: vaultName, resourceGroupName: resourceGroupName); protectedItems.AddRange(listResponse); if (container != null) { protectedItems = protectedItems.Where(protectedItem => { Dictionary <CmdletModel.UriEnums, string> dictionary = HelperUtils.ParseUri(protectedItem.Id); string containerUri = HelperUtils.GetContainerUri(dictionary, protectedItem.Id); var delimIndex = containerUri.IndexOf(';'); string containerName = containerUri.Substring(delimIndex + 1); return(containerName.ToLower().Equals(container.Name.ToLower())); }).ToList(); } return(protectedItems); }