public void ClearCulturesAndHostnames(ExtendedTenant tenant) { foreach (var domain in domainService.GetAssignedDomains(tenant.StartContentId, true)) { domainService.Delete(domain); ConnectorContext.AuditService.Add(AuditType.Save, -1, domain.Id, "Domain", $"Cultures and Hostinames for {tenant.Tenant.TenantUId} have been cleared"); } }
private ExtendedTenant GetExtendedTenant(string tenantUid) { var tenantNode = nodeHelper.GetTenantRoot(tenantUid); var extended = new ExtendedTenant { Tenant = new Tenant { Languages = new Languages { Alternate = tenantNode.GetValue <string>("languages") != null?tenantNode.GetValue <string>("languages")?.Split(new string[] { ", " }, StringSplitOptions.RemoveEmptyEntries) : new string[] { }, Default = tenantNode.GetValue <string>("defaultLanguage") ?? string.Empty }, Domain = tenantNode.GetValue <string>("domain") ?? string.Empty, SubDomain = tenantNode.GetValue <string>("subDomain") ?? string.Empty, AlternateDomains = tenantNode.GetValue <string>("alternateDomains")?.Split(new string[] { ", " }, StringSplitOptions.RemoveEmptyEntries) ?? new string[] { } }, StartContentId = tenantNode.Id }; return(extended); }
public void SetCulturesAndHostnames(ExtendedTenant tenant, bool setupLocal = false, bool secureUrl = false) { Validate(tenant.Tenant); const string protocolBase = "http"; var protocol = secureUrl ? $"{protocolBase}s" : protocolBase; try { var langExists = localizationService.GetLanguageByIsoCode(tenant.Tenant.Languages.Default) != null; if (langExists) { // Create hostname and multi language //string domainName = $"{tenant.Tenant.SubDomain}.{tenant.Tenant.Domain}/{tenant.Tenant.Languages.Default.ToLower()}/"; string domainName = $"{protocol}://{tenant.Tenant.SubDomain}.{tenant.Tenant.Domain}/"; var domain = domainService.GetByName(domainName); if (Uri.IsWellFormedUriString(domainName, UriKind.RelativeOrAbsolute)) { if (domain == null) { domain = new UmbracoDomain(domainName) { LanguageId = localizationService.GetLanguageIdByIsoCode(tenant.Tenant.Languages.Default), RootContentId = tenant.StartContentId }; domainService.Save(domain); ConnectorContext.AuditService.Add(AuditType.New, -1, domain.Id, "Language", $"Default Domain for {tenant.Tenant.Languages.Default} has been created"); } if (setupLocal) { string domainNameLocal = $"/{tenant.Tenant.SubDomain}/{tenant.Tenant.Languages.Default.ToLower()}"; var domainLocal = domainService.GetByName(domainNameLocal); if (domainLocal == null) { domainLocal = new UmbracoDomain(domainNameLocal) { LanguageId = localizationService.GetLanguageIdByIsoCode(tenant.Tenant.Languages.Default), RootContentId = tenant.StartContentId }; domainService.Save(domainLocal); ConnectorContext.AuditService.Add(AuditType.New, -1, domain.Id, "Language", $"Domain {domainNameLocal} (local) has been created for {tenant.Tenant.TenantUId}"); } } } } } catch (Exception ex) { logger.Error(typeof(LanguageDictionaryService), ex.Message); logger.Error(typeof(LanguageDictionaryService), ex.StackTrace); throw; } try { foreach (var language in tenant.Tenant.Languages.Alternate ?? new List <string>()) { var langExists = localizationService.GetLanguageByIsoCode(language) != null; if (langExists) { var lang = language.Replace(" ", string.Empty); // Create hostname and multi language for secondary languages var altDomainName = $"{protocol}://{tenant.Tenant.SubDomain}.{tenant.Tenant.Domain}/{language.ToLower()}/"; var altDomain = domainService.GetByName(altDomainName); if (altDomain == null) { altDomain = new UmbracoDomain(altDomainName) { LanguageId = localizationService.GetLanguageIdByIsoCode(lang), RootContentId = tenant.StartContentId }; domainService.Save(altDomain); ConnectorContext.AuditService.Add(AuditType.New, -1, altDomain.Id, "Language", $"Alternative Domain {altDomain} has been created"); } if (setupLocal) { string altDomainNameLocal = $"/{tenant.Tenant.SubDomain}/{language.ToLower()}"; var altDomainLocal = domainService.GetByName(altDomainNameLocal); if (altDomainLocal == null) { altDomainLocal = new UmbracoDomain(altDomainNameLocal) { LanguageId = localizationService.GetLanguageIdByIsoCode(lang), RootContentId = tenant.StartContentId }; domainService.Save(altDomainLocal); } ConnectorContext.AuditService.Add(AuditType.New, -1, altDomainLocal.Id, "Language", $"Alternative Domain {altDomainLocal} (local) has been created"); } } } } catch (Exception ex) { logger.Error(typeof(LanguageDictionaryService), ex.Message); logger.Error(typeof(LanguageDictionaryService), ex.StackTrace); throw; } }
public ExtendedTenant CreateTenant(Tenant tenant, string tenantToBeCopied = "") { int homeId, mediaId, sliderBannersId, myAccountId, editMyAccountId, documentsId, marketingPreferencesId, withdrawId, withdrawBankAccountsAndCardsId; int withdrawHistoryId, ticketsId, viewTicketId, depositId, depositBankAccountsAndCardsId, depositHistoryId, termsAndConditionsId, settingsId; int transactionHistoryId, helpId, loginProblemsId, depositAndWithdrawId; int H_registrationAndLoginId, H_depositId, H_withdrawId, H_myAccountId, H_betHistoryId, H_transactionHistoryId, H_sportsId, H_inplayId, H_casinoId, H_liveCasinoId, H_pokerId, H_faqId; int HA_registration, HA_login, HA_forgotUsername, HA_forgotPwd, HA_depositCardsAndBank, HA_depositCartipay, HA_depositCartipal, HA_depositHistory, HA_withdrawCardsAndBank, HA_withdraw, HA_withdrawHistory, HA_myAccount, HA_betHistory, HA_transactionHistory, HA_sportbook, HA_inplay; int betHistoryId, bonusHistoryId, sportId, inPlayId, casinoId, liveCasinoId, vegasId, lotteryId, pokerId, liveScheduleId, boardId, liveScoreId, overviewId, eventViewId, resultsId; int zeppelinId; int affiliateId; int bonusHistoryPageId; int loginPageId; var nodeHelper = new NodeHelper(); var homeTypeDoc = new HomeDocumentType(ConnectorContext.ContentTypeService, ConnectorContext.DataTypeService, ConnectorContext.FileService, ConnectorContext.Logger); var mediaNode = new HomeMediaNode(ConnectorContext.MediaService, ConnectorContext.Logger, ConnectorContext.ContentTypeBaseService); homeNode.Validate(tenant); mediaNode.Validate(tenant); languageService.Validate(tenant); userGroupService.Validate(tenant, ignoreUser: true); apiService.Validate(tenant); if (tenantToBeCopied != "") { IContent tenantSourceNode = nodeHelper.GetTenantRoot(tenantToBeCopied); if (tenantSourceNode == null) { throw new TenantException(ExceptionCode.TenantNotFound.CodeToString(), ExceptionCode.TenantNotFound, tenantToBeCopied); } //copy root node with all subnodes IContent newTenant = nodeHelper.CopyTenant(tenantSourceNode, tenantSourceNode.ParentId, tenant.TenantUId); homeNode.EditTenant(tenant); homeId = newTenant.Id; //Create new media folder mediaId = mediaNode.CopyTenantMediaFolder(tenantSourceNode.GetPublishName("en"), tenant); sliderBannersId = mediaNode.GetMediaSliderFolder(mediaId); // My Account myAccountId = nodeHelper.GetNodeId(newTenant.Id, "totalCodeAccountPage", "My Account"); editMyAccountId = nodeHelper.GetNodeId(myAccountId, _09_EditAccountDocumentType.DOCUMENT_TYPE_ALIAS, _09_EditAccountDocumentType.PAGE_NAME); documentsId = nodeHelper.GetNodeId(myAccountId, "totalCodeDocumentPage", "Documents"); marketingPreferencesId = nodeHelper.GetNodeId(myAccountId, "totalCodeMarketingPage", "Marketing Preferences"); // Withdraw withdrawId = nodeHelper.GetNodeId(newTenant.Id, "totalCodeWithdrawPage", "Withdraw"); withdrawBankAccountsAndCardsId = nodeHelper.GetNodeId(withdrawId, "totalCodeWithdrawBankPage", "Bank Accounts & Cards"); withdrawHistoryId = nodeHelper.GetNodeId(withdrawId, "totalCodeWithdrawHistoryPage", "History"); // Tickets ticketsId = nodeHelper.GetNodeId(newTenant.Id, "totalCodeTicketsPage", "Contact Us"); viewTicketId = nodeHelper.GetNodeId(ticketsId, "totalCodeTicketPage", "View Ticket"); // Deposit depositId = nodeHelper.GetNodeId(newTenant.Id, "totalCodeDepositPage", "Deposit"); depositBankAccountsAndCardsId = nodeHelper.GetNodeId(depositId, "totalCodeDepositBankPage", "Bank Accounts & Cards"); depositHistoryId = nodeHelper.GetNodeId(depositId, "totalCodeDepositHistoryPage", "History"); // Terms and Conditions termsAndConditionsId = nodeHelper.GetNodeId(newTenant.Id, "totalCodeTermsPage", "Terms and Conditions"); // Settings settingsId = nodeHelper.GetNodeId(newTenant.Id, "totalCodeSettingsPage", "Settings"); // Transaction History transactionHistoryId = nodeHelper.GetNodeId(newTenant.Id, "totalCodeTransactionHistoryPage", "Transaction History"); // Help helpId = nodeHelper.GetNodeId(newTenant.Id, "totalCodeCategoriesPage", "Help"); loginProblemsId = nodeHelper.GetNodeId(helpId, "totalCodeCategoryPage", "Login Problems"); depositAndWithdrawId = nodeHelper.GetNodeId(helpId, "totalCodeCategoryPage ", "Deposit & Withdraw"); // Sports Pages betHistoryId = nodeHelper.GetNodeId(newTenant.Id, "totalCodeGenericPage", "Betting History"); bonusHistoryId = nodeHelper.GetNodeId(newTenant.Id, "totalCodeGenericPage", "Bonus History"); sportId = nodeHelper.GetNodeId(newTenant.Id, "totalCodeGenericPage", "Sport"); inPlayId = nodeHelper.GetNodeId(newTenant.Id, "totalCodeGenericPage", "In-Play"); casinoId = nodeHelper.GetNodeId(newTenant.Id, "totalCodeGenericPage", "Casino"); liveCasinoId = nodeHelper.GetNodeId(newTenant.Id, "totalCodeGenericPage", "Live Casino"); vegasId = nodeHelper.GetNodeId(newTenant.Id, "totalCodeGenericPage", "Vegas"); lotteryId = nodeHelper.GetNodeId(newTenant.Id, "totalCodeGenericPage", "Lottery"); pokerId = nodeHelper.GetNodeId(newTenant.Id, "totalCodeGenericPage", "Poker"); liveScheduleId = nodeHelper.GetNodeId(newTenant.Id, "totalCodeGenericPage", "Live Schedule"); boardId = nodeHelper.GetNodeId(newTenant.Id, "totalCodeGenericPage", "Board Games"); liveScoreId = nodeHelper.GetNodeId(newTenant.Id, "totalCodeGenericPage", "Live Score"); overviewId = nodeHelper.GetNodeId(newTenant.Id, "totalCodeGenericPage", "Overview"); eventViewId = nodeHelper.GetNodeId(newTenant.Id, "totalCodeGenericPage", "Event View"); resultsId = nodeHelper.GetNodeId(newTenant.Id, "totalCodeGenericPage", "Results"); zeppelinId = nodeHelper.GetNodeId(newTenant.Id, "totalCodeGamePage", "Zeppelin"); // Affiliate affiliateId = nodeHelper.GetNodeId(newTenant.Id, _34_AffiliatePageDocumentType.DOCUMENT_TYPE_ALIAS, "Affiliate"); // Bonus History Page bonusHistoryPageId = nodeHelper.GetNodeId(newTenant.Id, _35_BonusHistoryPageDocumentType.DOCUMENT_TYPE_ALIAS, "Bonus History"); // Login Page loginPageId = nodeHelper.GetNodeId(newTenant.Id, _41_LoginPageDocumentType.DOCUMENT_TYPE_ALIAS, "Login"); } else { languageService.CreateDictionary(tenant); homeId = homeNode.CreateTenant(tenant); mediaId = mediaNode.CreateMediaHome(tenant); sliderBannersId = mediaNode.CreateMediaSliderFolder(mediaId); // Create Sub Pages under tenant Root var confirmEmailNode = new ConfirmEmailContentNode(ConnectorContext.ContentService, ConnectorContext.ContentTypeService, ConnectorContext.Logger); confirmEmailNode.CreateConfirmEmail(tenant); var resetPasswordNode = new ResetPasswordContentNode(ConnectorContext.ContentService, ConnectorContext.ContentTypeService, ConnectorContext.Logger); resetPasswordNode.CreateResetPasswordPage(tenant); // My Account myAccountId = nodeHelper.CreateNode(tenant, homeId, "totalCodeAccountPage", "My Account", "حساب من"); editMyAccountId = nodeHelper.CreateNode(tenant, myAccountId, "TotalCodeEditAccountPage", "Edit", "ویرایش"); documentsId = nodeHelper.CreateNode(tenant, myAccountId, "totalCodeDocumentPage", "Documents", "مدارک شناسایی"); marketingPreferencesId = nodeHelper.CreateNode(tenant, myAccountId, "totalCodeMarketingPage", "Marketing Preferences", "تنظیمات مارکتینگ"); // Withdraw withdrawId = nodeHelper.CreateNode(tenant, homeId, "totalCodeWithdrawPage", "Withdraw", "برداشت از حساب"); withdrawBankAccountsAndCardsId = nodeHelper.CreateNode(tenant, withdrawId, "totalCodeWithdrawBankPage", "Bank Accounts & Cards", "کارت و حساب های بانکی"); withdrawHistoryId = nodeHelper.CreateNode(tenant, withdrawId, "totalCodeWithdrawHistoryPage", "History", "سابقه برداشت از حساب"); // Tickets ticketsId = nodeHelper.CreateNode(tenant, homeId, "totalCodeTicketsPage", "Contact Us", "پشتیبانی"); viewTicketId = nodeHelper.CreateNode(tenant, ticketsId, "totalCodeTicketPage", "View Ticket", "نمایش پیام"); // Deposit depositId = nodeHelper.CreateNode(tenant, homeId, "totalCodeDepositPage", "Deposit", "افزایش موجودی"); depositBankAccountsAndCardsId = nodeHelper.CreateNode(tenant, depositId, "totalCodeDepositBankPage", "Bank Accounts & Cards", "کارت و حساب های بانکی"); depositHistoryId = nodeHelper.CreateNode(tenant, depositId, "totalCodeDepositHistoryPage", "History", "سابقه افزایش موجودی"); // Terms and Conditions termsAndConditionsId = nodeHelper.CreateNode(tenant, homeId, "totalCodeTermsPage", "Terms and Conditions", "شرایط و ضوابط"); // Settings settingsId = nodeHelper.CreateNode(tenant, homeId, "totalCodeSettingsPage", "Settings", "تنظیمات"); // Transaction History transactionHistoryId = nodeHelper.CreateNode(tenant, homeId, "totalCodeTransactionHistoryPage", "Transaction History", "سابقه تراکنش ها"); // Help helpId = nodeHelper.CreateNode(tenant, homeId, "totalCodeCategoriesPage", "Help", "راهنما"); // Help categories H_registrationAndLoginId = nodeHelper.CreateNode(tenant, helpId, "totalCodeCategoryPage", "Registration and login", "ثبت نام و ورود به سایت"); H_depositId = nodeHelper.CreateNode(tenant, helpId, "totalCodeCategoryPage", "Deposit", "افزایش موجودی"); H_withdrawId = nodeHelper.CreateNode(tenant, helpId, "totalCodeCategoryPage", "Withdraw", "برداشت از حساب"); H_myAccountId = nodeHelper.CreateNode(tenant, helpId, "totalCodeCategoryPage", "My Account", "حساب من"); H_betHistoryId = nodeHelper.CreateNode(tenant, helpId, "totalCodeCategoryPage", "Bet History", "سابقه پیش بینی ورزشی"); H_transactionHistoryId = nodeHelper.CreateNode(tenant, helpId, "totalCodeCategoryPage", "Transaction History", "سابقه تراکنش ها"); H_sportsId = nodeHelper.CreateNode(tenant, helpId, "totalCodeCategoryPage", "Sports", "پیش بینی ورزشی"); H_inplayId = nodeHelper.CreateNode(tenant, helpId, "totalCodeCategoryPage", "In-Play", "پیش بینی ورزشی زنده"); H_casinoId = nodeHelper.CreateNode(tenant, helpId, "totalCodeCategoryPage", "Casino", "کازینو"); H_liveCasinoId = nodeHelper.CreateNode(tenant, helpId, "totalCodeCategoryPage", "Live Casino", "کازینو زنده"); H_pokerId = nodeHelper.CreateNode(tenant, helpId, "totalCodeCategoryPage", "Poker", "پوکر"); H_faqId = nodeHelper.CreateNode(tenant, helpId, "totalCodeCategoryPage", "FAQ", "سوالات متداول"); // Help articles HA_registration = nodeHelper.CreateNode(tenant, H_registrationAndLoginId, "totalCodeArticlePage", "Registration", "ثبت نام"); HA_login = nodeHelper.CreateNode(tenant, H_registrationAndLoginId, "totalCodeArticlePage", "Login", "ورود به سایت"); HA_forgotUsername = nodeHelper.CreateNode(tenant, H_registrationAndLoginId, "totalCodeArticlePage", "Forgot your username?", "فراموش کردن نام کاربری"); HA_forgotPwd = nodeHelper.CreateNode(tenant, H_registrationAndLoginId, "totalCodeArticlePage", "Forgot your password?", "فراموش کردن رمز"); HA_depositCardsAndBank = nodeHelper.CreateNode(tenant, H_depositId, "totalCodeArticlePage", "Cards and Bank Accounts", "کارت و حسابهای بانکی"); HA_depositCartipay = nodeHelper.CreateNode(tenant, H_depositId, "totalCodeArticlePage", "Deposit with Cartipay", "افزایش موجودی با کارتی پی"); HA_depositCartipal = nodeHelper.CreateNode(tenant, H_depositId, "totalCodeArticlePage", "Deposit with Cartipal", "افزایش موجودی با کارتی پال"); HA_depositHistory = nodeHelper.CreateNode(tenant, H_depositId, "totalCodeArticlePage", "Deposit History", "سابقه افزایش موجودی"); HA_withdrawCardsAndBank = nodeHelper.CreateNode(tenant, H_withdrawId, "totalCodeArticlePage", "Cards and Bank Accounts", "کارت و حساب های بانکی"); HA_withdraw = nodeHelper.CreateNode(tenant, H_withdrawId, "totalCodeArticlePage", "Withdraw", "برداشت از حساب"); HA_withdrawHistory = nodeHelper.CreateNode(tenant, H_withdrawId, "totalCodeArticlePage", "Withdraw History", "سابقه برداشت از حساب"); HA_myAccount = nodeHelper.CreateNode(tenant, H_myAccountId, "totalCodeArticlePage", "My account", "حساب من"); HA_betHistory = nodeHelper.CreateNode(tenant, H_betHistoryId, "totalCodeArticlePage", "Bet History", "سابقه پیش بینی ورزشی"); HA_transactionHistory = nodeHelper.CreateNode(tenant, H_transactionHistoryId, "totalCodeArticlePage", "Transaction History", "سابقه تراکنش ها"); HA_sportbook = nodeHelper.CreateNode(tenant, H_sportsId, "totalCodeArticlePage", "Sportbook", "پیش بینی ورزشی"); HA_inplay = nodeHelper.CreateNode(tenant, H_inplayId, "totalCodeArticlePage", "In-Play", "پیش بینی زنده"); // Sports Pages betHistoryId = nodeHelper.CreateNode(tenant, homeId, "totalCodeGenericPage", "Betting History", "سابقه پیش بینی ها"); bonusHistoryId = nodeHelper.CreateNode(tenant, homeId, "totalCodeGenericPage", "Bonus History", "سابقه بونوس"); sportId = nodeHelper.CreateNode(tenant, homeId, "totalCodeGenericPage", "Sport", "پیش بینی ورزشی"); inPlayId = nodeHelper.CreateNode(tenant, homeId, "totalCodeGenericPage", "In-Play", "پیش بینی زنده"); casinoId = nodeHelper.CreateNode(tenant, homeId, "totalCodeGenericPage", "Casino", "کازینو"); liveCasinoId = nodeHelper.CreateNode(tenant, homeId, "totalCodeGenericPage", "Live Casino", "کازینو زنده"); vegasId = nodeHelper.CreateNode(tenant, homeId, "totalCodeGenericPage", "Vegas", "وگاس"); lotteryId = nodeHelper.CreateNode(tenant, homeId, "totalCodeGenericPage", "TVBET", "بخت آزمایی"); pokerId = nodeHelper.CreateNode(tenant, homeId, "totalCodeGenericPage", "Poker", "پوکر"); liveScheduleId = nodeHelper.CreateNode(tenant, homeId, "totalCodeGenericPage", "Live Schedule", "تقویم مسابقات"); boardId = nodeHelper.CreateNode(tenant, homeId, "totalCodeGenericPage", "Board Games", "تخته نرد"); liveScoreId = nodeHelper.CreateNode(tenant, homeId, "totalCodeGenericPage", "Live Score", "نتایج زنده"); overviewId = nodeHelper.CreateNode(tenant, homeId, "totalCodeGenericPage", "Overview", "خلاصه"); eventViewId = nodeHelper.CreateNode(tenant, homeId, "totalCodeGenericPage", "Event View", "نمایش رویداد"); resultsId = nodeHelper.CreateNode(tenant, homeId, "totalCodeGenericPage", "Results", "نتایج"); zeppelinId = nodeHelper.CreateNode(tenant, casinoId, "totalCodeGamePage", "Zeppelin", "انفجار"); // Affiliate affiliateId = nodeHelper.CreateNode(tenant, homeId, _34_AffiliatePageDocumentType.DOCUMENT_TYPE_ALIAS, "Affiliate", "وابسته"); // Bonus History Page bonusHistoryPageId = nodeHelper.CreateNode(tenant, homeId, _35_BonusHistoryPageDocumentType.DOCUMENT_TYPE_ALIAS, "Bonus History", "تاریخ پاداش"); // Login Page loginPageId = nodeHelper.CreateNode(tenant, homeId, _41_LoginPageDocumentType.DOCUMENT_TYPE_ALIAS, "Login", "وارد شدن"); UpdateTenantPages(betHistoryId, sportId, casinoId, pokerId, inPlayId, liveCasinoId, vegasId, lotteryId, liveScheduleId, boardId, zeppelinId); } SetHomeMenu(homeId, betHistoryId, sportId, casinoId, pokerId, inPlayId, liveCasinoId, vegasId, lotteryId, liveScheduleId, boardId, overviewId, eventViewId, ticketsId, liveScoreId, resultsId, helpId, depositId, withdrawId, myAccountId, bonusHistoryId, transactionHistoryId); SetHomeSettings(tenant, homeId, betHistoryId, sportId, casinoId, pokerId, inPlayId, liveCasinoId, vegasId, lotteryId, liveScheduleId, boardId, overviewId, eventViewId, ticketsId, liveScoreId, resultsId, helpId, depositId, withdrawId, myAccountId, bonusHistoryId, transactionHistoryId, termsAndConditionsId); var extended = new ExtendedTenant { Tenant = tenant, StartContentId = homeId, StartMediaId = mediaId, AllowedSectionAliases = new List <string> { DefaultSections.CONTENT, DefaultSections.MEDIA }, Permissions = ExtendedTenant.DefaultManagerPermissions, }; //userGroupService.CreateUserGroup(extended); userGroupService.CreateUser(extended); // Save Api Key information apiService.Save(extended); ApiKeyCache.ForceUpdateCache(database); if (SaveAndPublish) { nodeHelper.TryPublishSite(homeId); } languageService.SetCulturesAndHostnames(extended, setupLocal: SetupLocalUrls, secureUrl: SecureUrls); return(extended); }
public ExtendedTenant EditTenant(TenantData tenant, TenantUser user = null, TenantGroup group = null) { var mediaService = new HomeMediaNode(ConnectorContext.MediaService, ConnectorContext.Logger, ConnectorContext.ContentTypeBaseService); var tenantNode = nodeHelper.GetTenantRoot(tenant.TenantUId); languageService.CreateDictionary(tenant); if (user != null) { userGroupService.UpdateUser(user); } IUserGroup g = null; if (group != null) { if (!string.IsNullOrWhiteSpace(group.RenameGroupTo)) { g = userGroupService.EditGroup(group.Name, group); } } else { if (!string.IsNullOrEmpty(tenant.ReadOnlyGroupAlias)) { g = userGroupService.GetUserGroup(tenant.ReadOnlyGroupAlias); } } var mediaId = mediaService.RenameMediaHome(tenant, user); tenant.TenantPreferences.PaymentSettings = tenant.PaymentSettings; //little hack to match total coding system submission to umbraco properties tenant.PaymentSettings = null; var extended = new ExtendedTenant { Tenant = tenant, StartContentId = tenantNode.Id, StartMediaId = mediaId, AllowedSectionAliases = g?.AllowedSections, Permissions = g?.Permissions, }; homeNode.EditTenant(tenant); nodeHelper.AddLanguageVersionToNode(extended.Tenant); extended.Tenant.Username = user?.Username; extended.Tenant.Name = user?.Name; extended.Tenant.Email = user?.Email; extended.Tenant.Password = user != null ? "*********" : null; extended.Tenant.Group = group?.Name; extended.UserId = user?.AssignedUmbracoUserId ?? 0; if (!string.IsNullOrEmpty(extended.Tenant.AppId) || !string.IsNullOrEmpty(extended.Tenant.ApiKey)) { var apiService = new ApiKeysService(this.database); apiService.UpdateApiForTenant(extended); } if (SaveAndPublish) { new NodeHelper().TryPublishSite(tenantNode.Id); } return(extended); }
public void UpdateApiForTenant(ExtendedTenant tenant) { database.Execute($"UPDATE {ApiKeys.TABLENAME} SET UserId = {tenant.UserId}, AppId = '{tenant.Tenant.AppId}', ApiKey = '{tenant.Tenant.ApiKey}' WHERE TenantId ='{tenant.Tenant.TenantUId}'"); }
public void Save(ExtendedTenant tenant) { database.Execute($"INSERT INTO {ApiKeys.TABLENAME} (UserId, AppId, ApiKey, CreatedOn, TenantId) VALUES ({tenant.UserId}, '{tenant.Tenant.AppId}', '{tenant.Tenant.ApiKey}', '{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")}','{tenant.Tenant.TenantUId}')"); }