Esempio n. 1
0
        public bool AddProductToService(License license, List<LicenseSet> licenseSets, Service service)
        {
            ServiceProduct sp = new ServiceProduct();
            sp.LicenseId = license.LicenseId;
            sp.LicenseName = license.Name;
            sp.LicenseSets = new List<ServiceLicenseSet>();

            foreach (var ls in licenseSets)
            {
                ServiceLicenseSet set = new ServiceLicenseSet();
                set.LicenseId = license.LicenseId;
                set.LicenseSetId = ls.LicenseSetId;
                set.LicenseSetName = ls.Name;
                set.LicenseType = ls.SupportedLicenseTypes;
                set.MaxUsers = ls.MaxUsers;

                sp.LicenseSets.Add(set);
            }

            string mgmtToken = _packingService.PackToken(service.GetManagementToken());

            AddProductResult result = _productsProvider.AddProduct(service.ManagementUrl, mgmtToken,
                                                                                                                         GetManagementStandardEncryptionInfo(service),
                                                                                                                         service.GetManagementServiceKeyPair(), sp);

            if (IsResultValid(result))
                return true;

            return false;
        }
		public ServiceProduct CreateTestProduct(string licenseKey)
		{
			DeleteTestServiceProduct();

			ServiceProduct prod = new ServiceProduct();
			prod.LicenseId = int.MaxValue;
			prod.LicenseName = "Test Product License";
			prod.LicenseSets = new List<ServiceLicenseSet>();

			ServiceLicenseSet ls = new ServiceLicenseSet();
			ls.LicenseSetId = int.MaxValue;
			ls.LicenseId = int.MaxValue;
			ls.Keys = new List<ServiceLicenseKey>();
			ls.LicenseSetName = "Test Product License Set";
			ls.LicenseType = LicenseKeyTypeFlag.MultiUser;
			ls.MaxUsers = 2;

			ServiceLicenseKey key = new ServiceLicenseKey();
			key.CreatedOn = DateTime.Now;
			key.Key = _hashingProvider.ComputeHash(licenseKey, "SHA256");
			key.LicenseSetId = int.MaxValue;
			key.ActivationCount = 0;
			ls.Keys.Add(key);

			prod.LicenseSets.Add(ls);

			_serviceProductsRepository.SaveServiceProduct(prod);

			return _serviceProductsRepository.GetProduct(int.MaxValue);
		}
		private void InsertServiceLicenseSet(ServiceLicenseSet licenseSet)
		{
			using (ScutexServiceEntities db1 = new ScutexServiceEntities())
			{
				LicenseSet ls = new LicenseSet();
				ls.LicenseSetId = licenseSet.LicenseSetId;
				ls.LicenseId = licenseSet.LicenseId;
				ls.Name = licenseSet.LicenseSetName;
				ls.LicenseType = (int)licenseSet.LicenseType;
				ls.MaxUsers = licenseSet.MaxUsers;

				db1.AddToLicenseSets(ls);
				db1.SaveChanges();
			}
		}
		private void UpdateServiceLicenseSet(ServiceLicenseSet licenseSet)
		{
			using (ScutexServiceEntities db1 = new ScutexServiceEntities())
			{
				var licSet = (from ls in db1.LicenseSets
											where ls.LicenseSetId == licenseSet.LicenseSetId
											select ls).First();

				licSet.LicenseSetId = licenseSet.LicenseSetId;
				licSet.LicenseId = licenseSet.LicenseId;
				licSet.Name = licenseSet.LicenseSetName;
				licSet.LicenseType = (int)licenseSet.LicenseType;
				licSet.MaxUsers = licenseSet.MaxUsers;

				db1.SaveChanges();
			}
		}
		public ServiceLicenseSet SaveServiceLicenseSet(ServiceLicenseSet licenseSet)
		{
			if (GetServiceLicenseSetById(licenseSet.LicenseSetId) != null)
				UpdateServiceLicenseSet(licenseSet);
			else
				InsertServiceLicenseSet(licenseSet);

			foreach (var key in licenseSet.Keys)
			{
				SaveServiceLicenseKey(key);
			}

			return GetServiceLicenseSetById(licenseSet.LicenseSetId);
		}