Esempio n. 1
0
        public Dictionary <License, List <LicenseSet> > GetServiceLicenses(Service service)
        {
            Dictionary <License, List <LicenseSet> > data = new Dictionary <License, List <LicenseSet> >();
            string mgmtToken = _packingService.PackToken(service.GetManagementToken());

            QueryActiveServiceProductsResult result = _serviceStatusProvider.GetActiveServiceProducts(service.ManagementUrl, mgmtToken,
                                                                                                      GetManagementStandardEncryptionInfo(service), service.GetManagementServiceKeyPair());

            if (IsResultValid(result))
            {
                foreach (var v in result.ProductsAndLicenseSets)
                {
                    License l = _licenseService.GetLicenseById(v.Id);

                    List <LicenseSet> sets = new List <LicenseSet>();

                    foreach (int i in v.SetIds)
                    {
                        sets.Add(_licenseSetService.GetLiceseSetById(i));
                    }

                    data.Add(l, sets);
                }
            }

            return(data);
        }
Esempio n. 2
0
        private void GetDataFromService()
        {
            if (Service != null && LicenseSet != null)
            {
                _serviceKeys = _servicesService.GetServiceLicenseKeysForSet(_licenseSetService.GetLiceseSetById(LicenseSet.LicenseSetId), Service);
                _localKeys   = _keyService.GetAllHashedLicenseKeysByLicenseSet(LicenseSet.LicenseSetId);

                UpdateData();
            }
        }
Esempio n. 3
0
        private void btnSynchronize_Click(object sender, RoutedEventArgs e)
        {
            if (Service != null && LicenseSet != null)
            {
                BackgroundWorker worker = new BackgroundWorker();
                loadingAnimation.Visibility = Visibility.Visible;

                List <string> keysToUpload = new List <string>();

                foreach (string k in _localKeys)
                {
                    if (_serviceKeys.Contains(k) == false)
                    {
                        keysToUpload.Add(k);
                    }
                }

                worker.DoWork += delegate(object s, DoWorkEventArgs args)
                {
                    object[] data = args.Argument as object[];

                    IServicesService   servicesService   = ObjectLocator.GetInstance <IServicesService>();
                    ILicenseSetService licenseSetService = ObjectLocator.GetInstance <ILicenseSetService>();

                    servicesService.AddLicenseKeysToService(licenseSetService.GetLiceseSetById((int)data[2]), (Service)data[1], (List <string>)data[0]);
                    List <string> serviceKeys = servicesService.GetServiceLicenseKeysForSet(licenseSetService.GetLiceseSetById((int)data[2]), (Service)data[1]);

                    args.Result = serviceKeys;
                };

                worker.RunWorkerCompleted += delegate(object s, RunWorkerCompletedEventArgs args)
                {
                    _serviceKeys = (List <string>)args.Result;

                    UpdateData();
                    loadingAnimation.Visibility = Visibility.Collapsed;
                };

                worker.RunWorkerAsync(new object[]
                {
                    keysToUpload,
                    Service,
                    LicenseSet.LicenseSetId
                });
            }
        }
Esempio n. 4
0
        private void btnUploadLicenseSets_Click(object sender, RoutedEventArgs e)
        {
            if (cboServices.SelectedValue != null)
            {
                if (gridLocalServices.SelectedItem != null)
                {
                    if (DoesLicenseSetExistOnService() == false)
                    {
                        BackgroundWorker worker = new BackgroundWorker();
                        loadingAnimation.Visibility = Visibility.Visible;

                        var productDisplayData = gridLocalServices.SelectedItem as UploadProductDisplayData;

                        worker.DoWork += delegate(object s, DoWorkEventArgs args)
                        {
                            object[] data = args.Argument as object[];

                            IServicesService   servicesService   = ObjectLocator.GetInstance <IServicesService>();
                            ILicenseSetService licenseSetService = ObjectLocator.GetInstance <ILicenseSetService>();
                            ILicenseService    licenseService    = ObjectLocator.GetInstance <ILicenseService>();

                            //LicenseSet licenseSet = (LicenseSet) data[0];
                            License    license    = licenseService.GetLicenseById(((UploadProductDisplayData)data[0]).LicenseId);
                            LicenseSet licenseSet = licenseSetService.GetLiceseSetById(((UploadProductDisplayData)data[0]).LicenseSetId);

                            List <LicenseSet> sets = new List <LicenseSet>();
                            sets.Add(licenseSet);

                            servicesService.AddProductToService(license, sets, data[1] as Service);
                            Dictionary <License, List <LicenseSet> > _servicesData = servicesService.GetServiceLicenses((Service)data[1]);

                            args.Result = _servicesData;
                        };

                        worker.RunWorkerCompleted += delegate(object s, RunWorkerCompletedEventArgs args)
                        {
                            servicesData = (Dictionary <License, List <LicenseSet> >)args.Result;
                            gridRemoteServices.ItemsSource = DataConverters.ConvertAllLicensesSetsToDisplay(servicesData);

                            loadingAnimation.Visibility = Visibility.Collapsed;
                        };

                        worker.RunWorkerAsync(new object[]
                        {
                            productDisplayData,
                            cboServices.SelectedValue
                        });
                    }
                    else
                    {
                        MessageBox.Show("The License Set you selected already exists in the service");
                    }
                }
                else
                {
                    MessageBox.Show("You must select a License/LicenseSet to upload");
                }
            }
            else
            {
                MessageBox.Show("You must select a service to upload to.");
            }
        }