/// <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); }
/// <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)); }
/// <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]); } }
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); }
/// <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; }
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); }
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()); }