예제 #1
0
        public void ProductVersionDtoProperlyReversedToProductVersion()
        {
            ProductVersionDto pDto1 = new ProductVersionDto
            {
                Id           = 1,
                Product      = "Great Product",
                Release      = "V1",
                EndOfSupport = DateTime.Today
            };

            ProductVersion p1 = new ProductVersion
            {
                Id      = 1,
                Product = new Product
                {
                    FullName = "Great Product"
                },
                Release      = "V1",
                EndOfSupport = DateTime.Today
            };

            ProductVersion p2 = _mapper.Map <ProductVersion>(pDto1);

            Assert.NotNull(p2);
            Assert.True(p1.Equals(p2));
            Assert.True(p1.Equals(p2, true));
        }
예제 #2
0
        public Result Verify(ILicensedProduct licensedProduct)
        {
            if (licensedProduct == null)
            {
                throw new ArgumentNullException(nameof(licensedProduct));
            }

            if (!Signed)
            {
                throw new InvalidOperationException("This license already is not signed.");
            }

            if (ExpirationTime.Expired)
            {
                return(Result.Fail("This license is expired."));
            }

            if (!ProductName.Equals(licensedProduct.ProductName, StringComparison.Ordinal))
            {
                return(Result.Fail("This license is not for this product."));
            }

            if (!ProductVersion.Equals(licensedProduct.ProductVersion, StringComparison.Ordinal))
            {
                return(Result.Fail("This license is not for this product."));
            }

            if (!UniqueId.Equals(licensedProduct.UniqueId, StringComparison.Ordinal))
            {
                return(Result.Fail("This license is not for this machine."));
            }

            return(Result.Ok());
        }