Example #1
0
        /// <summary>
        /// 根据机器的IP与Mac地址信息生成机器码
        /// 根据不同的授权类型传入不同的值即可。
        /// </summary>
        /// <param name="ipStr">Ip的字符串</param>
        /// <param name="macStr">Mac地址的字符串</param>
        /// <param name="lisenceType">授权类型</param>
        /// <returns></returns>
        public string CreateMCode(string ipStr, string macStr, LicenseTypeEnum lisenceType)
        {
            //根据不同的授权类型,进行不同的判定
            switch (lisenceType)
            {
            case LicenseTypeEnum.Ip:
                macStr = "notwhitmac";
                break;

            case LicenseTypeEnum.Mac:
                ipStr = "notwhitip";
                break;

            default:
                ipStr  = ipStr ?? "notwhitip";;
                macStr = macStr ?? "notwhitmac";
                break;
            }

            string mCode = "";

            mCode = DESEncrypt.Encrypt(macStr, ipStr);
            mCode = MD5Encrypt.GetMD5_16(mCode);
            mCode = Base64Encrypt.Encrypt(mCode);
            return(mCode);
        }
Example #2
0
        /// <summary>
        /// 生成本机的机器码
        /// </summary>
        /// <param name="lisenceType">授权类型</param>
        /// <returns></returns>
        public string CreateMCode(LicenseTypeEnum lisenceType)
        {
            string ipStr  = SystemHelper.GetLanIp();
            string macStr = SystemHelper.GetMacByWMI();

            return(CreateMCode(ipStr, macStr, lisenceType));
        }
Example #3
0
 /// <summary>
 /// 获取实例
 /// </summary>
 /// <param name="type"></param>
 /// <returns></returns>
 public static ScanLicense GetInstance(LicenseTypeEnum type)
 {
     if (Instances.ContainsKey(type))
     {
         if (Instances[type] == null)
         {
             lock (LOCK_CREATEINSTANCE)
             {
                 if (Instances[type] == null)
                 {
                     Instances[type] = new ScanLicense(type);
                 }
             }
         }
         return(Instances[type]);
     }
     else
     {
         lock (LOCK_CREATEINSTANCE)
         {
             if (!Instances.ContainsKey(type))
             {
                 Instances.Add(type, new ScanLicense(type));
             }
         }
         return(Instances[type]);
     }
 }
Example #4
0
        protected virtual void SetupQuoteOptionCollection()
        {
            const string          quoteOption01Code        = "01";
            const string          quoteOption01Name        = "Option 01";
            const string          quoteOption01Description = "Option Description 01";
            const LicenseTypeEnum quoteOption01LicenseType = LicenseTypeEnum.Option;
            const int             quoteOption01Quantity    = 10;
            const double          quoteOption01Rate        = 2.5;
            const PriceTypeEnum   quoteOption01PriceType   = PriceTypeEnum.Recurring;
            const FrequencyEnum   quoteOption01Frequency   = FrequencyEnum.Monthly;
            const string          quoteOption02Code        = "02";
            const string          quoteOption02Name        = "Option 02";
            const string          quoteOption02Description = "Option Description 02";
            const LicenseTypeEnum quoteOption02LicenseType = LicenseTypeEnum.AnnualTechAccess;
            const int             quoteOption02Quantity    = 20;
            const double          quoteOption02Rate        = 4.5;
            const PriceTypeEnum   quoteOption02PriceType   = PriceTypeEnum.OneTime;
            const FrequencyEnum   quoteOption02Frequency   = FrequencyEnum.Annual;

            _quoteOption01 = new QuoteOption(
                quoteOption01Code,
                quoteOption01Name,
                quoteOption01Description,
                quoteOption01LicenseType,
                quoteOption01Quantity,
                quoteOption01Rate,
                quoteOption01PriceType,
                quoteOption01Frequency);

            _quoteOption02 = new QuoteOption(
                quoteOption02Code,
                quoteOption02Name,
                quoteOption02Description,
                quoteOption02LicenseType,
                quoteOption02Quantity,
                quoteOption02Rate,
                quoteOption02PriceType,
                quoteOption02Frequency);

            _quoteOptionCollection = new QuoteOptionCollection();
            _quoteOptionCollection.Add(_quoteOption01);
            _quoteOptionCollection.Add(_quoteOption02);
        }
Example #5
0
        /// <summary>
        /// 创建机器码
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnCreateMCode_Click(object sender, EventArgs e)
        {
            string          typeStr     = cbxLicenceType.SelectedItem.ToString();
            LicenseTypeEnum licenseType = (LicenseTypeEnum)Enum.Parse(typeof(LicenseTypeEnum), typeStr);
            string          ip          = txtIp.Text;
            string          mac         = txtMac.Text;

            if (licenseType == LicenseTypeEnum.Ip && ip == "")
            {
                UICommon.ShowWarningMsg("Ip类型的授权,必须录入Ip信息。");
                return;
            }

            if (licenseType == LicenseTypeEnum.Mac && mac == "")
            {
                UICommon.ShowWarningMsg("Mac类型的授权,必须录入Mac信息。");
                return;
            }

            if (licenseType == LicenseTypeEnum.IpMac && (ip == "" || mac == ""))
            {
                UICommon.ShowWarningMsg("IpMac类型的授权,必须录入Mac信息和Ip信息。");
                return;
            }

            currentModel.LicenceType = licenseType;
            currentModel.Ip          = ip;
            currentModel.Mac         = mac;

            try
            {
                currentModel.MCode = licence.CreateMCode(ip, mac, licenseType);
            }
            catch (Exception)
            {
                throw;
            }


            txtMCode.Text = currentModel.MCode;
        }
Example #6
0
        protected virtual void SetupQuoteItemCollection()
        {
            const string          quoteItem01Code        = "01";
            const string          quoteItem01Name        = "Item 01";
            const string          quoteItem01Description = "Item Description 01";
            const LicenseTypeEnum quoteItem01LicenseType = LicenseTypeEnum.EmailBlock;
            const int             quoteItem01Quantity    = 30;
            const double          quoteItem01Rate        = 13.5;
            const PriceTypeEnum   quoteItem01PriceType   = PriceTypeEnum.Usage;
            const FrequencyEnum   quoteItem01Frequency   = FrequencyEnum.Quarterly;

            _quoteItem01 = new QuoteItem(
                quoteItem01Frequency,
                quoteItem01Code,
                quoteItem01Name,
                quoteItem01Description,
                quoteItem01Quantity,
                quoteItem01Rate,
                quoteItem01LicenseType,
                quoteItem01PriceType);

            _quoteItemCollection = new QuoteItemCollection();
            _quoteItemCollection.Add(_quoteItem01);
        }
Example #7
0
 private ScanLicense(LicenseTypeEnum licenseType)
 {
     LicenseType = licenseType;
     AssignValueToProperty();
 }
 /// <summary>
 /// This method selects a single license based on the name
 /// Name is defined in the enum type
 /// </summary>
 /// <param name="licenseName">This is the license name</param>
 /// <returns>A single license</returns>
 public static License Get(LicenseTypeEnum licenseName)
 {
     return(InMemoryDatabaseSingleton.DatabaseInstance.SelectMany <License>(x => x.LicenseType == licenseName && x.IsCreated).OrderByDescending(
                x => x.CreationDate).First());
 }
 /// <summary>
 /// This method returns all created license of the given type.
 /// </summary>
 /// <param name="licenseType">This is the type of the license.</param>
 /// <returns>License List.</returns>
 public static List <License> GetAll(LicenseTypeEnum licenseType)
 {
     return(InMemoryDatabaseSingleton.DatabaseInstance.SelectMany <License>(
                x => x.LicenseType == licenseType).OrderByDescending(
                x => x.CreationDate).ToList());
 }