Esempio n. 1
0
        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);
        }
Esempio n. 10
0
        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;
                }
            }
        }
Esempio n. 11
0
 public Form1()
 {
     InitializeComponent();
     _licenceGenerator = new LicenceGenerator();
 }
Esempio n. 12
0
        private void btnGenerateLicenceKey_Click(object sender, EventArgs e)
        {
            LicenceGenerator generator = new LicenceGenerator();

            txtLicenceKey.Text = generator.GenerateLicenceKey((int)numericUpDown1.Value);
        }