コード例 #1
0
        public FeaturesService(ISerialNumberService serialNumberService, SerialNumberEncoder serialNumberEncoder, CloudClientService cloudClientService = null, IDataBaseInfo dataBaseInfo = null)
        {
            this.serialNumberEncoder = serialNumberEncoder ?? throw new ArgumentNullException(nameof(serialNumberEncoder));
            this.cloudClientService  = cloudClientService ?? throw new ArgumentNullException(nameof(cloudClientService));
            this.dataBaseInfo        = dataBaseInfo;
            if (dataBaseInfo?.IsDemo == true)
            {
                ProductEdition = 0;
                return;
            }

            ProductEdition = 1;

            if (String.IsNullOrWhiteSpace(serialNumberService.SerialNumber))
            {
                return;
            }

            serialNumberEncoder.Number = serialNumberService.SerialNumber;
            if (serialNumberEncoder.IsValid)
            {
                if (serialNumberEncoder.CodeVersion == 1)
                {
                    ProductEdition = 2;                     //Все купленные серийные номера версии 1 приравниваются к профессиональной редакции.
                }
                else if (serialNumberEncoder.CodeVersion == 2 &&
                         serialNumberEncoder.EditionId >= 1 &&
                         serialNumberEncoder.EditionId <= 3)
                {
                    ProductEdition = serialNumberEncoder.EditionId;
                }
            }
        }
コード例 #2
0
        [TestCase("MVPC-U4DX-MS6S-w7J1-M5", false)]       //Ошибочный.
        public void EncoderV1_WorkwearTest(string sn, bool isValid)
        {
            var appInfo = Substitute.For <IApplicationInfo>();

            appInfo.ProductName.Returns("workwear");
            var encoder = new SerialNumberEncoder(appInfo);

            encoder.Number = sn;
            Assert.That(encoder.IsValid, Is.EqualTo(isValid));
        }
コード例 #3
0
 public SerialNumberViewModel(INavigationManager navigation, SerialNumberEncoder encoder, ParametersService parametersService, IInteractiveQuestion interactive, ILifetimeScope autofacScope) : base(navigation)
 {
     SerialNumberEncoder    = encoder ?? throw new ArgumentNullException(nameof(encoder));
     this.parametersService = parametersService ?? throw new ArgumentNullException(nameof(parametersService));
     this.interactive       = interactive ?? throw new ArgumentNullException(nameof(interactive));
     this.autofacScope      = autofacScope ?? throw new ArgumentNullException(nameof(autofacScope));
     serialNumber           = this.parametersService.serial_number;
     Title = "Замена серийного номера";
     SerialNumberEncoder.Number = serialNumber;
     lastEdition = SerialNumberEncoder.EditionId;
 }