public Account ToSDKAccount() { if (sdkAccount != null) { return(sdkAccount); } else if (apiAccount != null) { AccountBuilder builder = AccountBuilder.NewAccount() .WithCompany(new CompanyConverter(apiAccount.Company).ToSDKCompany()) .CreatedOn(apiAccount.Created) .UpdatedOn(apiAccount.Updated) .WithData(apiAccount.Data) .WithId(apiAccount.Id) .WithLogoUrl(apiAccount.LogoUrl) .WithOwner(apiAccount.Owner) .WithName(apiAccount.Name) .WithAccountProviders(new AccountProvidersConverter(apiAccount.Providers).ToSDKAccountProviders()); foreach (API.CustomField field in apiAccount.CustomFields) { builder.WithCustomField(new CustomFieldConverter(field).ToSDKCustomField()); } foreach (API.License license in apiAccount.Licenses) { builder.WithLicense(new LicenseConverter(license).ToSDKLicense()); } return(builder.Build()); } else { return(null); } }
public void withSpecifiedValues() { AccountBuilder accountBuilder = AccountBuilder.NewAccount() .WithName(ACC_NAME) .WithId(ACC_ID) .WithOwner(ACC_OWNER) .WithLogoUrl(ACC_LOGOURL) .WithData(ACC_DATA) .WithCompany(CompanyBuilder.NewCompany(ACC_CO_NAME) .WithAddress(AddressBuilder.NewAddress() .WithAddress1(ACC_CO_ADDR_ADDR1) .WithAddress2(ACC_CO_ADDR_ADDR2) .WithCity(ACC_CO_ADDR_CITY) .WithCountry(ACC_CO_ADDR_COUNTRY) .WithState(ACC_CO_ADDR_STATE) .WithZipCode(ACC_CO_ADDR_ZIP).Build()) .WithId(ACC_CO_ID) .WithData(ACC_CO_DATA) .Build()) .WithCustomField(CustomFieldBuilder.CustomFieldWithId(ACC_FIELD_ID) .WithDefaultValue(ACC_FIELD_DEF_VLE) .IsRequired(ACC_FIELD_IS_REQUIRED) .WithTranslation(TranslationBuilder.NewTranslation(ACC_FIELD_TRANSL_LANG).Build()) .Build()) .WithLicense(LicenseBuilder.NewLicense() .CreatedOn(ACC_LIC_CREATED) .WithPaidUntil(ACC_LIC_PAIDUNTIL) .WithStatus(ACC_LIC_STATUS) .WithTransaction(ACC_LIC_TRANS_CREATED, CreditCardBuilder.NewCreditCard() .WithCvv(ACC_LIC_TRANS_CC_CVV) .WithName(ACC_LIC_TRANS_CC_NAME) .WithNumber(ACC_LIC_TRANS_CC_NUM) .WithType(ACC_LIC_TRANS_CC_TYPE) .WithExpiration(ACC_LIC_TRANS_CC_EXP_MONTH, ACC_LIC_TRANS_CC_EXP_YEAR) .Build(), PriceBuilder.NewPrice() .WithAmount(ACC_LIC_TRANS_PRICE_AMOUNT) .WithCurrency(ACC_LIC_TRANS_PRICE_CURR_ID, ACC_LIC_TRANS_PRICE_CURR_NAME, ACC_LIC_TRANS_PRICE_CURR_DATA) .Build()) .WithPlan(PlanBuilder.NewPlan(ACC_LIC_PLAN_ID) .WithId(ACC_LIC_PLAN_NAME) .WithContract(ACC_LIC_PLAN_CONTRACT) .WithDescription(ACC_LIC_PLAN_DES) .WithGroup(ACC_LIC_PLAN_GRP) .WithCycle(ACC_LIC_PLAN_CYC) .WithOriginal(ACC_LIC_PLAN_ORI) .WithData(ACC_LIC_PLAN_DATA) .WithFreeCycles(ACC_LIC_PLAN_CYC_COUNT, ACC_LIC_PLAN_CYC_CYCLE) .WithQuota(ACC_LIC_PLAN_QUOTA_CYCLE, ACC_LIC_PLAN_QUOTA_LIMIT, ACC_LIC_PLAN_QUOTA_SCOPE, ACC_LIC_PLAN_QUOTA_TARGET) .WithFeatures(ACC_LIC_PLAN_FEAT) .WithPrice(PriceBuilder.NewPrice() .WithAmount(ACC_LIC_PLAN_PRICE_AMOUNT) .WithCurrency(ACC_LIC_PLAN_PRICE_CURR_ID, ACC_LIC_PLAN_PRICE_CURR_NAME, ACC_LIC_PLAN_PRICE_CURR_DATA) .Build()) .Build()) .Build()) .WithAccountProviders(new List <Provider>() { ProviderBuilder.NewProvider(ACC_PROV_DOC_NAME) .WithData(ACC_PROV_DOC_DATA) .WithId(ACC_PROV_DOC_ID) .WithProvides(ACC_PROV_DOC_NAME) .Build() }, new List <Provider>() { ProviderBuilder.NewProvider(ACC_PROV_USR_NAME) .WithData(ACC_PROV_USR_DATA) .WithId(ACC_PROV_USR_ID) .WithProvides(ACC_PROV_USR_PROVIDES) .Build() }); Account account = accountBuilder.Build(); Assert.AreEqual(ACC_NAME, account.Name); Assert.AreEqual(ACC_CO_ID, account.Company.Id); Assert.AreEqual(ACC_CO_ADDR_ADDR1, account.Company.Address.Address1); Assert.AreEqual(1, account.CustomFields.Count); Assert.AreEqual(ACC_FIELD_DEF_VLE, account.CustomFields[0].Value); Assert.AreEqual(1, account.CustomFields[0].Translations.Count); Assert.AreEqual(ACC_FIELD_TRANSL_LANG, account.CustomFields[0].Translations[0].Language); Assert.AreEqual(1, account.Licenses.Count); Assert.AreEqual(ACC_LIC_STATUS, account.Licenses[0].Status); Assert.AreEqual(1, account.Licenses[0].Transactions.Count); Assert.AreEqual(ACC_LIC_TRANS_CC_NUM, account.Licenses[0].Transactions[0].CreditCard.Number); Assert.AreEqual(ACC_LIC_TRANS_PRICE_AMOUNT, account.Licenses[0].Transactions[0].Price.Amount); Assert.AreEqual(ACC_LIC_PLAN_CONTRACT, account.Licenses[0].Plan.Contract); Assert.AreEqual(ACC_LIC_PLAN_PRICE_AMOUNT, account.Licenses[0].Plan.Price.Amount); Assert.AreEqual(1, account.Providers.Documents.Count); Assert.AreEqual(ACC_PROV_DOC_NAME, account.Providers.Documents[0].Name); Assert.AreEqual(1, account.Providers.Users.Count); Assert.AreEqual(ACC_PROV_USR_NAME, account.Providers.Users[0].Name); }