private void Button_Click_1(object sender, RoutedEventArgs e) { LicenceGenerator licenceGenerator = new LicenceGenerator(); LicenseData licenseData = new LicenseData(); List <LicenseDevice> devices = new List <LicenseDevice>(); LicenseDevice deviceNumberOne = new LicenseDevice(); deviceNumberOne.HasIndividualDate = false; deviceNumberOne.StartDate = Convert.ToDateTime("01/01/0001"); deviceNumberOne.EndDate = Convert.ToDateTime("01/01/0001"); deviceNumberOne.RemainingRunTime = TimeSpan.Zero; deviceNumberOne.ConnectorName = "USB 1"; deviceNumberOne.DeviceName = UsbOneName.Text; deviceNumberOne.LockDeviceName = UsbOneLockedName.Text; deviceNumberOne.Locked = (LockedOne.IsChecked == true) ? true : false;; LicenseDevice deviceNumberTwo = new LicenseDevice(); deviceNumberTwo.HasIndividualDate = false; deviceNumberTwo.StartDate = Convert.ToDateTime("01/01/0001"); deviceNumberTwo.EndDate = Convert.ToDateTime("01/01/0001"); deviceNumberTwo.RemainingRunTime = TimeSpan.Zero; deviceNumberTwo.ConnectorName = "USB 2"; deviceNumberTwo.DeviceName = UsbTwoName.Text; deviceNumberTwo.LockDeviceName = UsbTwoLockedName.Text; deviceNumberTwo.Locked = (LockedTwo.IsChecked == true) ? true : false; licenseData.Data = null; licenseData.Version = 1; licenseData.StartDate = Convert.ToDateTime(DateCreate.SelectedDate); licenseData.EndDate = Convert.ToDateTime(DateEnd.SelectedDate); licenseData.LastRunDate = Convert.ToDateTime(LastUse.SelectedDate); licenseData.RemainingRunTime = TimeSpan.Zero; licenseData.LicenseDevices = devices; devices.Add(deviceNumberOne); devices.Add(deviceNumberTwo); Byte[] license; license = licenceGenerator.SaveToBytes(licenseData); string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); string filename = "\\license.lic"; string licenseNewFile = desktopPath += filename; using (StreamWriter streamWriter = new StreamWriter(licenseNewFile)) streamWriter.Write(Convert.ToBase64String(license)); SoundPlayer simpleSound = new SoundPlayer(@"c:\Windows\Media\chimes.wav"); simpleSound.Play(); ProgressBar.Value = 100; }
public void GenerateAndDecryptLicence() { LicenceGenerator generator = new LicenceGenerator(); var test = generator.GenerateLicenceKey(30); var licenceInfo = generator.GetLicence(test); Assert.AreEqual(30, licenceInfo.BAPoints); Assert.AreNotEqual(Guid.Empty, licenceInfo.Id); }
public void ImportLicence_SecuriyManagerUpdated() { LicenceGenerator generator = new LicenceGenerator(); var goodLicenceKey = generator.GenerateLicenceKey(30); var profile = (ProfileDTO)profiles[0].Tag; SessionData data = CreateNewSession(profile, ClientInformation); RunServiceMethod(delegate(InternalBodyArchitectService service) { ((MockTimerService)service.Configuration.TimerService).UtcNow = DateTime.UtcNow.Date.AddHours(4); service.ImportLicence(data.Token, goodLicenceKey); var securityInfo = SecurityManager.EnsureAuthentication(data.Token); Assert.AreEqual(30, securityInfo.Licence.BAPoints); }); }
public void ImportLicence_TwiceTheSameLicence() { LicenceGenerator generator = new LicenceGenerator(); var goodLicenceKey = generator.GenerateLicenceKey(30); var profile = (ProfileDTO)profiles[0].Tag; SessionData data = CreateNewSession(profile, ClientInformation); RunServiceMethod(delegate(InternalBodyArchitectService service) { service.ImportLicence(data.Token, goodLicenceKey); }); RunServiceMethod(delegate(InternalBodyArchitectService service) { service.ImportLicence(data.Token, goodLicenceKey); }); }
public void ImportLicence_ProfileBAPointsShouldBeUpdated() { LicenceGenerator generator = new LicenceGenerator(); var goodLicenceKey = generator.GenerateLicenceKey(30); var profile = (ProfileDTO)profiles[0].Tag; SessionData data = CreateNewSession(profile, ClientInformation); RunServiceMethod(delegate(InternalBodyArchitectService service) { ((MockTimerService)service.Configuration.TimerService).UtcNow = DateTime.UtcNow.Date.AddHours(4); service.ImportLicence(data.Token, goodLicenceKey); }); var dbProfile = Session.Get <Profile>(profile.GlobalId); Assert.AreEqual(30, dbProfile.Licence.BAPoints); }
public void GenerateLicencePackTest() { var licenceGenerator = new LicenceGenerator(); var serialGenerator = SerialGeneratorFactory.GetSerialGenerator(); var licenceValidator = new LicenceValidator(serialGenerator); LicenceType licenceType = LicenceType.Full; var licence = new Licence { CustomerName = "Kookdc", Trial = true, CreationDate = DateTime.Now, TrialDays = 50, Type = licenceType }; var licencePackString = licenceGenerator.Generate(licence, serialGenerator.Generate()); var returnedLicence = licenceValidator.CheckLicence(licencePackString); Assert.AreEqual(returnedLicence.CustomerName, licence.CustomerName); }
public void ImportLicence_DataInLicenceKey() { LicenceGenerator generator = new LicenceGenerator(); var goodLicenceKey = generator.GenerateLicenceKey(30); var profile = (ProfileDTO)profiles[0].Tag; SessionData data = CreateNewSession(profile, ClientInformation); RunServiceMethod(delegate(InternalBodyArchitectService service) { ((MockTimerService)service.Configuration.TimerService).UtcNow = DateTime.UtcNow.Date.AddHours(4); service.ImportLicence(data.Token, goodLicenceKey); }); var licenceInfo = generator.GetLicence(goodLicenceKey); var licence = Session.QueryOver <BAPoints>().SingleOrDefault(); Assert.AreEqual(30, licence.Points); Assert.AreEqual(BAPointsType.Serialkey, licence.Type); Assert.AreEqual(DateTime.UtcNow.Date.AddHours(4), licence.ImportedDate); Assert.AreEqual(licenceInfo.Id.ToString(), licence.Identifier); }
public void ImportLicence_TwoDifferentKeys_TwoDifferentAccountType_AddPoints() { LicenceGenerator generator = new LicenceGenerator(); var goodLicenceKey1 = generator.GenerateLicenceKey(30); var goodLicenceKey2 = generator.GenerateLicenceKey(60); var profile = (ProfileDTO)profiles[0].Tag; SessionData data = CreateNewSession(profile, ClientInformation); RunServiceMethod(delegate(InternalBodyArchitectService service) { ((MockTimerService)service.Configuration.TimerService).UtcNow = DateTime.UtcNow.Date.AddHours(4); service.ImportLicence(data.Token, goodLicenceKey1); service.ImportLicence(data.Token, goodLicenceKey2); }); Assert.AreEqual(2, Session.QueryOver <BAPoints>().RowCount()); var dbProfile = Session.Get <Profile>(profile.GlobalId); Assert.AreEqual(90, dbProfile.Licence.BAPoints); }
public void ImportLicence_DataInLicenceKey_LoginDataSet() { LicenceGenerator generator = new LicenceGenerator(); var goodLicenceKey = generator.GenerateLicenceKey(30); string password = CryptographyHelper.ToSHA1Hash(profiles[0].UserName); profiles[0].Password = password; insertToDatabase(profiles[0]); APIKey apiKey = new APIKey(); apiKey.ApiKey = key; apiKey.ApplicationName = "UnitTest"; apiKey.EMail = "*****@*****.**"; apiKey.RegisterDateTime = DateTime.UtcNow; insertToDatabase(apiKey); RunServiceMethod(delegate(InternalBodyArchitectService service) { //first login to have LoginData service.Configuration.CurrentApiKey = key; ClientInformation info = new ClientInformation(); info.ApplicationVersion = Constants.Version; info.ApplicationLanguage = "pl"; info.Version = Const.ServiceVersion; info.ClientInstanceId = Guid.NewGuid(); var sessionData = service.Login(info, profiles[0].UserName, password); ((MockTimerService)service.Configuration.TimerService).UtcNow = DateTime.UtcNow.Date.AddHours(4); service.ImportLicence(sessionData.Token, goodLicenceKey); }); var licence = Session.QueryOver <BAPoints>().SingleOrDefault(); Assert.IsNotNull(licence.LoginData); }
public void ImportLicence(string licenceKey) { Log.WriteWarning("ImportLicence:Username={0}, key={1}", SecurityInfo.SessionData.Profile.UserName, licenceKey); using (var tx = Session.BeginSaveTransaction()) { var dbProfile = Session.Load <Profile>(SecurityInfo.SessionData.Profile.GlobalId); LicenceGenerator generator = new LicenceGenerator(); var licenceInfo = generator.GetLicence(licenceKey); if (licenceInfo != null) { //now check if this licence key has been used in the past. If yes, then error. One licence key can be used only once! var count = Session.QueryOver <BAPoints>().Where(x => x.Identifier == licenceInfo.Id.ToString()).RowCount(); if (count > 0) { throw new AlreadyOccupiedException("This licence key has been already used."); } BAPoints dbLicence = new BAPoints(); dbLicence.Points = licenceInfo.BAPoints; dbLicence.Identifier = licenceInfo.Id.ToString(); dbLicence.Type = BAPointsType.Serialkey; dbLicence.ImportedDate = Configuration.TimerService.UtcNow; dbLicence.Profile = dbProfile; dbLicence.LoginData = SecurityInfo.LoginData; Session.Save(dbLicence); dbProfile.Licence.BAPoints += dbLicence.Points; Session.Update(dbProfile); tx.Commit(); //update currently logged user in SecurityManager var currentAccountType = SecurityInfo.Licence.CurrentAccountType; SecurityInfo.Licence = dbProfile.Licence.Map <LicenceInfoDTO>(); SecurityInfo.Licence.CurrentAccountType = currentAccountType; } } }
public Form1() { InitializeComponent(); _licenceGenerator = new LicenceGenerator(); }
private void btnGenerateLicenceKey_Click(object sender, EventArgs e) { LicenceGenerator generator = new LicenceGenerator(); txtLicenceKey.Text = generator.GenerateLicenceKey((int)numericUpDown1.Value); }