3

Can anyone help me understand why this below would not remove named cals. It seems to work fine until the very last line where it does the save. I don't get any exceptions or error messages.

When i look in QV Management console under System>Licenses i still see the ones that were supposed to be removed (Named user CALs)

Client Build Number: 11.20.13314.0

        QMSClient Client;
        string QMS = "http://localhost:4799/QMS/Service";
        Client = new QMSClient("BasicHttpBinding_IQMS", QMS);
        string key = Client.GetTimeLimitedServiceKey();
        ServiceKeyClientMessageInspector.ServiceKey = key;

        List<ServiceInfo> MyQVS = Client.GetServices(ServiceTypes.QlikViewServer);
        Client.ClearQVSCache(QVSCacheObjects.All);

        CALConfiguration myCALs = Client.GetCALConfiguration(MyQVS[0].ID, CALConfigurationScope.NamedCALs);
        List<AssignedNamedCAL> currentNamedCALs = myCALs.NamedCALs.AssignedCALs.ToList();
        List<int> indexToRemove = new List<int>();

        int cnt = 1;
        for (int i = 0; i < currentNamedCALs.Count; i++)
        {
            if ((currentNamedCALs[i].QuarantinedUntil < System.DateTime.Now)
                && (currentNamedCALs[i].LastUsed < DateTime.Now.AddDays(daysFromToday)))
            {
                Console.WriteLine("[" + cnt + "] " + currentNamedCALs[i].UserName +
                    "; Last used: " + currentNamedCALs[i].LastUsed);
                indexToRemove.Add(i);
                cnt++;
            }
        }
        Console.WriteLine();
        for (int i = indexToRemove.Count; i > 0; i--)
        {
            if (currentNamedCALs[indexToRemove[i - 1]] != null)
            {
                currentNamedCALs.RemoveAt(indexToRemove[i - 1]);
            }
        }

        Console.WriteLine("\nDone");
        myCALs.NamedCALs.AssignedCALs = currentNamedCALs;
        Client.SaveCALConfiguration(myCALs);
ska.dev
  • 169
  • 1
  • 9

0 Answers0