Добавление «компании» к клиенту с помощью portable.licensing в C # - PullRequest
0 голосов
/ 05 ноября 2018

В настоящее время я создаю лицензии с использованием следующего Portable.Licensing (https://github.com/dnauck/Portable.Licensing) код:

var license = Portable.Licensing.License.New();
license.WithUniqueIdentifier(guid);
license.As(Portable.Licensing.LicenseType.Standard);
license.LicensedTo(textBox_LicenseName.Text, textBox_LicenseEmail.Text);

Существует альтернативное определение для функции LicensedTo (), которое принимает дополнительный аргумент:

LicensedTo(string name, string email, Action<Customer> configureCustomer);

Как мне использовать этот дополнительный аргумент, чтобы включить «Название компании» вместе с именем и адресом электронной почты?

1 Ответ

0 голосов
/ 12 февраля 2019

Используйте WithAdditionalAttributes для этого:

var license = License.New()
    .WithUniqueIdentifier(Guid.NewGuid())

    //Look here
    .WithAdditionalAttributes(new Dictionary<string, string>
    {
        {"CompanyName", companyName }
    })

    .As(LicenseType.Trial)
    .ExpiresAt(DateTime.Now.AddDays(30))
    .WithMaximumUtilization(numberOfUsers)
    .LicensedTo(licensedTo, contactEmail)
    .CreateAndSignWithPrivateKey(privateKey, passPhrase);

И чтобы извлечь его из сгенерированной лицензии:

var fs = new FileStream("license.lic", FileMode.Open);
var license = License.Load(fs);
var name = license.AdditionalAttributes.Get("CompanyName");
fs.Close();
...