public void GenerateRegistrationKey()
        {
            SerialNumberGenerator serialNumberGenerator = this.CreateSerialNumberGenerator();
            string serial = this.GenerateSerialFromModel(serialNumberGenerator);

            Assert.IsTrue(serial != null && serial.Length == 34, "Serial was not correct");
        }
        internal static CertificateIssuer CreateCertificateIssuer(string functionAppDirectory)
        {
            var configuration         = ReadConfiguration(functionAppDirectory);
            var serialNumberGenerator = new SerialNumberGenerator(configuration.StorageConnectionString, configuration.StorageContainerName);

            return(new CertificateIssuer(CreateKeyVaultClient(), configuration.RootCertificateId, serialNumberGenerator));
        }
        private static void ProcessRetailOrder()
        {
            UPCNumber             upcNumber    = new UPCNumber();
            SerialNumberGenerator serialNumber = SerialNumberGenerator.Instance;
            List <AbstractGadget> myGadgets    = new List <AbstractGadget>();

            for (int i = 0; i < _rsmallGadgetOrder; i++)
            {
                _serialNumber = serialNumber.NextSerial;
                myGadgets.Add(new GadgetSmall(WidgetColor.Painted, GadgetColor.Painted, GadgetPower.Battery, _serialNumber, upcNumber.UPCSmall));
            }

            for (int i = 0; i < _rmediumGadgetOrder; i++)
            {
                _serialNumber = serialNumber.NextSerial;
                myGadgets.Add(new GadgetMedium(WidgetColor.Painted, GadgetColor.Painted, GadgetPower.Battery, _serialNumber, upcNumber.UPCMedium));
            }

            for (int i = 0; i < _rlargeGadgetOrder; i++)
            {
                _serialNumber = serialNumber.NextSerial;
                myGadgets.Add(new GadgetLarge(WidgetColor.Painted, GadgetColor.Painted, GadgetPower.Generator, _serialNumber, upcNumber.UPCLarge));
            }

            RetailOutput retailReceipt = new RetailOutput(myGadgets);
        }
Beispiel #4
0
        public async Task <RegisterResultViewModel> CreateAsync(string userName, string password, string fullName)
        {
            var result       = new RegisterResultViewModel();
            var serialNumber = SerialNumberGenerator.Generate();
            var user         = _context.Users.Add(new User
            {
                CreateDate   = DateTime.Now,
                Email        = userName,
                FullName     = fullName,
                IsActive     = true,
                IsAdmin      = false,
                Password     = PasswordHasher.Hash(password),
                UserName     = userName,
                SerialNumber = serialNumber
            });

            if (await _context.SaveChangesAsync() > 0)
            {
                result.IsSuccess    = true;
                result.SerialNumber = serialNumber;
                result.UserId       = user.Entity.Id;
            }
            else
            {
                result.IsSuccess = false;
            }
            return(result);
        }
 public void SeedData()
 {
     if (!_context.Users.Any())
     {
         var user1 = new User
         {
             CreateDate   = DateTime.Now,
             Email        = "*****@*****.**",
             FullName     = "مبین حسنی",
             IsActive     = true,
             IsAdmin      = true,
             UserName     = "******",
             SerialNumber = SerialNumberGenerator.Generate(),
             Password     = PasswordHasher.Hash("2397423974"),
         };
         var user2 = new User
         {
             CreateDate   = DateTime.Now,
             Email        = "*****@*****.**",
             FullName     = "مهدی حسنی",
             IsActive     = true,
             IsAdmin      = true,
             UserName     = "******",
             SerialNumber = SerialNumberGenerator.Generate(),
             Password     = PasswordHasher.Hash("2397423974"),
         };
         _context.Users.Add(user1);
         _context.Users.Add(user2);
         _context.SaveChanges();
     }
 }
        private string GenerateSerialFromModel(SerialNumberGenerator serialNumberGenerator)
        {
            var rsaPrivateKeyIdentity = new RsaKeySetIdentity(RSAKeys.PrivateKeys.GetKeyString(), RSAKeys.PublicKeys.GetKeyString());
            var licenseKey            = serialNumberGenerator.GenerateLicenseData(rsaPrivateKeyIdentity);

            return(licenseKey);
        }
        private static void SingltonPatternDemo()
        {
            SerialNumberGenerator generator = SerialNumberGenerator.Instance;

            Console.WriteLine("next serial" + generator.NextSerial);
            Console.WriteLine("next serial" + SerialNumberGenerator.Instance.NextSerial);
            Console.WriteLine("next serial" + generator.NextSerial);
        }
        public async Task IssueCertificateTest()
        {
            var serialNumberGenerator = new SerialNumberGenerator(Configuration.StorageConnectionString, Configuration.StorageContainerName);
            var issuer = new CertificateIssuer(_client, Configuration.RootCertificateId, serialNumberGenerator);

            X509Certificate2 certificate = await issuer.IssueCertificateAsync("Test Certificate", GeneratePublicKeyParameters());

            Assert.Equal("CN=Test Certificate", certificate.Subject);
        }
        public void VerifyRegistrationKey()
        {
            SerialNumberGenerator serialNumberGenerator = this.CreateSerialNumberGenerator();
            string serial = this.GenerateSerialFromModel(serialNumberGenerator);

            bool serialOk = serialNumberGenerator.VerifyRegistrationKey(serial);

            Assert.IsTrue(serialOk, "Serial was not correct");
        }
Beispiel #10
0
        public void TestMethod1()
        {
            var g = new SerialNumberGenerator();

            for (int i = 0; i < 20; i++)
            {
                Console.WriteLine(g.Generate());
            }
        }
        private async Task <string> GetNumber()
        {
            ISerialNumberGenerator gen = new SerialNumberGenerator(GetSerialNumberRuleRepo());
            var num = await gen.Next("PO", new Dictionary <string, object>
            {
                { "wid", "BJ01" }
            });

            return(num);
        }
        public CompanyDTO Add(CompanyDTO companyDTO)
        {
            var company = companyDTO.ToModel();

            company.Id      = IdentityGenerator.NewSequentialGuid();
            company.Created = DateTime.UtcNow;
            if (companyDTO.Category != null)
            {
                company.Category = _CategoryRepository.Get(companyDTO.Category.Id);
            }
            else
            {
                company.Category = null;
            }

            if (company.Name.IsNullOrBlank())
            {
                throw new DefinedException(CommonMessageResources.Name_Empty);
            }

            if (_Repository.Exists(company))
            {
                throw new DataExistsException(string.Format(BaseMessagesResources.Company_Exists_WithValue, company.Name));
            }

            var ruleName = CommonMessageResources.SerialNumberRule_Company;
            var snRule   = SerialNumberRuleQuerier.FindBy(ruleName);

            if (snRule == null)
            {
                throw new DataNotFoundException(string.Format(BaseMessagesResources.SerialNumberRule_NotExists_WithValue, ruleName));
            }
            company.Sn = SerialNumberGenerator.GetSerialNumber(snRule.Prefix, snRule.UseDateNumber, snRule.NumberLength);

            _Repository.Add(company);

            #region 操作日志

            var companyDto = company.ToDto();

            OperateRecorder.RecordOperation(companyDto.Sn,
                                            BaseMessagesResources.Add_Company,
                                            companyDto.GetOperationLog());

            #endregion

            //commit the unit of work
            _Repository.UnitOfWork.Commit();

            return(company.ToDto());
        }
Beispiel #13
0
        public frmMain()
        {
            InitializeComponent();
            RsaAsymetricEncryption rsaAsymetricEncryption = new RsaAsymetricEncryption();

            rsaPrivateKeyIdentity = new RsaKeySetIdentity(RSAKeys.PrivateKeys.GetBase64Key(), RSAKeys.PublicKeys.GetBase64Key());
            RSAParameters rsaPrivateKeyParameters = rsaAsymetricEncryption.ParseRsaKeyInfo(rsaPrivateKeyIdentity);

            serialNumberGenerator = new SerialNumberGenerator(rsaPrivateKeyParameters, SerialNumbersSettings.ProtectedApp.SecureMemo);
            int nextMonth = DateTime.Today.AddMonths(1).Month;
            int year      = DateTime.Today.AddMonths(1).AddYears(DEFAULT_VALID_YEARS).Year;

            dateTimePicker.Value = new DateTime(year, nextMonth, 1);
            destinationFolder    = GetOutputPath(Assembly.GetExecutingAssembly().Location);
            this.CreateFolder(destinationFolder);
        }
Beispiel #14
0
        public ShipDTO Add(ShipDTO shipDTO)
        {
            var ship = shipDTO.ToModel();

            ship.Id      = IdentityGenerator.NewSequentialGuid();
            ship.Created = DateTime.UtcNow;

            if (ship.Name.IsNullOrBlank())
            {
                throw new DefinedException(CommonMessageResources.Name_Empty);
            }

            if (_Repository.Exists(ship))
            {
                throw new DataExistsException(string.Format(BaseMessagesResources.Ship_Exists_WithValue, ship.Name));
            }

            var ruleName = CommonMessageResources.SerialNumberRule_Ship;
            var snRule   = SerialNumberRuleQuerier.FindBy(ruleName);

            if (snRule == null)
            {
                throw new DataNotFoundException(string.Format(BaseMessagesResources.SerialNumberRule_NotExists_WithValue, ruleName));
            }
            ship.Sn = SerialNumberGenerator.GetSerialNumber(snRule.Prefix, snRule.UseDateNumber, snRule.NumberLength);

            _Repository.Add(ship);

            #region 操作日志

            var shipDto = ship.ToDto();

            OperateRecorder.RecordOperation(shipDto.Sn,
                                            BaseMessagesResources.Add_Ship,
                                            shipDto.GetOperationLog());

            #endregion

            //commit the unit of work
            _Repository.UnitOfWork.Commit();

            return(ship.ToDto());
        }
        private SerialNumberGenerator CreateSerialNumberGenerator()
        {
            var rsaPublicKeyIdentity = new RsaKeySetIdentity(null, RSAKeys.PublicKeys.GetKeyString());
            RsaAsymetricEncryption rsaAsymmetricEncryption = new RsaAsymetricEncryption();
            RSAParameters          pubKeyParams            = rsaAsymmetricEncryption.ParseRsaPublicKeyOnlyInfo(rsaPublicKeyIdentity);

            SerialNumberGenerator serialNumberGenerator = new SerialNumberGenerator(pubKeyParams, SerialNumbersSettings.ProtectedApp.SecureMemo);

            RegistrationDataModel registrationData = new RegistrationDataModel
            {
                Company     = "Doe",
                Salt        = GeneralConverters.GetRandomHexValue(256),
                ValidTo     = DateTime.Now.AddYears(1),
                VersionName = LicenseGeneratorStaticData.SecureMemo.Versions.First()
            };

            serialNumberGenerator.LicenseData.RegistrationData = registrationData;

            return(serialNumberGenerator);
        }
        private static void ProcessWholeSaleOrder()
        {
            UPCNumber             upcNumber    = new UPCNumber();
            SerialNumberGenerator serialNumber = SerialNumberGenerator.Instance;

            _serialNumber = serialNumber.NextSerial;
            AbstractGadget myMediumGadgetCP = new GadgetMedium(WidgetColor.Painted, GadgetColor.Painted, GadgetPower.Solar, _serialNumber, upcNumber.UPCMedium);

            myMediumGadgetCP = new CustomButton(myMediumGadgetCP, 5, GadgetType.Custom);
            myMediumGadgetCP = new CustomSwitches(myMediumGadgetCP, 4, GadgetType.Custom);


            _serialNumber = serialNumber.NextSerial;
            AbstractGadget myMediumGadgetCPL = new GadgetMedium(WidgetColor.Plated, GadgetColor.Plated, GadgetPower.Battery, _serialNumber, upcNumber.UPCMedium);

            myMediumGadgetCPL = new CustomButton(myMediumGadgetCPL, 7, GadgetType.Custom);
            myMediumGadgetCPL = new CustomSwitches(myMediumGadgetCPL, 5, GadgetType.Custom);

            _serialNumber = serialNumber.NextSerial;
            AbstractGadget myMediumGadgetCUP = new GadgetMedium(_serialNumber, upcNumber.UPCMedium);

            myMediumGadgetCUP = new CustomButton(myMediumGadgetCUP, 4, GadgetType.Custom);
            myMediumGadgetCUP = new CustomSwitches(myMediumGadgetCUP, 7, GadgetType.Custom);


            _serialNumber = serialNumber.NextSerial;
            AbstractGadget myLargeGadgetCP = new GadgetLarge(WidgetColor.Painted, GadgetColor.Painted, GadgetPower.Generator, _serialNumber, upcNumber.UPCLarge);

            myLargeGadgetCP = new CustomButton(myLargeGadgetCP, 5, GadgetType.Custom);
            myLargeGadgetCP = new CustomSwitches(myLargeGadgetCP, 4, GadgetType.Custom);
            myLargeGadgetCP = new CustomLights(myLargeGadgetCP, 8, GadgetType.Custom);


            _serialNumber = serialNumber.NextSerial;
            AbstractGadget myLargeGadgetCPL = new GadgetLarge(WidgetColor.Plated, GadgetColor.Plated, GadgetPower.Solar, _serialNumber, upcNumber.UPCLarge);

            myLargeGadgetCPL = new CustomButton(myLargeGadgetCPL, 7, GadgetType.Custom);
            myLargeGadgetCPL = new CustomSwitches(myLargeGadgetCPL, 5, GadgetType.Custom);
            myLargeGadgetCPL = new CustomLights(myLargeGadgetCPL, 3, GadgetType.Custom);


            _serialNumber = serialNumber.NextSerial;
            AbstractGadget myLargeGadgetCUP = new GadgetLarge(_serialNumber, upcNumber.UPCLarge);

            myLargeGadgetCUP = new CustomButton(myLargeGadgetCUP, 6, GadgetType.Custom);
            myLargeGadgetCUP = new CustomSwitches(myLargeGadgetCUP, 3, GadgetType.Custom);
            myLargeGadgetCUP = new CustomLights(myLargeGadgetCUP, 5, GadgetType.Custom);


            ArrayList Order1 = new ArrayList();

            Order1.Add(myMediumGadgetCP);
            Order1.Add(myMediumGadgetCPL);
            Order1.Add(myMediumGadgetCUP);
            Order1.Add(myLargeGadgetCP);
            Order1.Add(myLargeGadgetCPL);
            Order1.Add(myLargeGadgetCUP);


            CustomOutput customReceipt = new CustomOutput(Order1);
        }
        public CategoryDTO Add(CategoryDTO categoryDTO)
        {
            var category = categoryDTO.ToModel();

            category.Id      = IdentityGenerator.NewSequentialGuid();
            category.Created = DateTime.UtcNow;
            if (category.Parent == null || category.Parent.Id == Guid.Empty)
            {
                category.Depth = 1;
            }
            else
            {
                category.Parent = _Repository.Get(categoryDTO.Parent.Id);
                category.Depth  = category.Parent.Depth + 1;
            }

            if (category.Name.IsNullOrBlank())
            {
                throw new DefinedException(CommonMessageResources.Name_Empty);
            }

            if (_Repository.Exists(category))
            {
                throw new DataExistsException(string.Format(BaseMessagesResources.Category_Exists_WithValue, category.Name));
            }

            if (category.Parent != null)
            {
                var rulePrefix = category.Parent.ChildSnRulePrefix;
                if (rulePrefix.IsNullOrBlank())
                {
                    throw new DefinedException(BaseMessagesResources.Category_Parent_SerialNumberRule_Prefix_Empty);
                }
                var ruleNumberLength = category.Parent.ChildSnRuleNumberLength;
                if (ruleNumberLength <= 0)
                {
                    throw new DefinedException(BaseMessagesResources.Category_Parent_SerialNumberRule_NumberLength_NotGreat_Than_Zero);
                }
                category.Sn = SerialNumberGenerator.GetSerialNumber(rulePrefix, false, ruleNumberLength);
            }
            else
            {
                var ruleName = CommonMessageResources.SerialNumberRule_Category;
                var snRule   = SerialNumberRuleQuerier.FindBy(ruleName);
                if (snRule == null)
                {
                    throw new DataNotFoundException(string.Format(BaseMessagesResources.SerialNumberRule_NotExists_WithValue, ruleName));
                }
                category.Sn = SerialNumberGenerator.GetSerialNumber(snRule.Prefix, snRule.UseDateNumber, snRule.NumberLength);
            }
            _Repository.Add(category);

            #region 操作日志

            var categoryDto = category.ToDto();

            OperateRecorder.RecordOperation(categoryDto.Sn,
                                            BaseMessagesResources.Add_Category,
                                            categoryDto.GetOperationLog());

            #endregion

            //commit the unit of work
            _Repository.UnitOfWork.Commit();

            return(category.ToDto());
        }