/// <summary> /// List pages by master page. /// </summary> /// <param name="tenantId">Identifies website.</param> /// <param name="masterPageId">Master page whose pages are returned.</param> /// <param name="unitOfWork">Unit of work.</param> /// <returns>The pages associated with a master page.</returns> public List <Page> ListPagesByMasterPage(long tenantId, long masterPageId, IUnitOfWork unitOfWork = null) { IDatabaseManager dbm = _databaseManagerFactory.GetDatabaseManager(unitOfWork); try { List <Page> pages = new List <Page>(); dbm.SetSQL(_sqlManager.GetSql("Sql.ListPagesByMasterPage.sql")); dbm.AddParameter("@TenantId", FieldType.BigInt, tenantId); dbm.AddParameter("@MasterPageId", FieldType.BigInt, masterPageId); dbm.ExecuteReader(); while (dbm.Read()) { pages.Add(GetPage(dbm, false, false)); } return(pages); } finally { if (unitOfWork == null) { dbm.Dispose(); } } }
public void Create(TagCloudSettings settings, IUnitOfWork unitOfWork = null) { IDatabaseManager dbm = _databaseManagerFactory.GetDatabaseManager(unitOfWork); try { string sql = _sqlManager.GetSql("Sql.CreateTagCloud.sql"); dbm.SetSQL(sql); dbm.AddParameter("@TenantId", FieldType.BigInt, settings.TenantId); dbm.AddParameter("@ElementId", FieldType.BigInt, settings.ElementId); dbm.AddParameter("@PageTenantId", FieldType.BigInt, settings.PageTenantId ?? (object)DBNull.Value); dbm.AddParameter("@PageId", FieldType.BigInt, settings.PageId ?? (object)DBNull.Value); dbm.AddParameter("@DisplayName", FieldType.NVarChar, 256, settings.DisplayName ?? (object)DBNull.Value); dbm.AddParameter("@Recursive", FieldType.Bit, settings.Recursive); dbm.AddParameter("@NoTagsMessage", FieldType.NVarChar, -1, settings.NoTagsMessage); dbm.ExecuteNonQuery(); } finally { if (unitOfWork == null) { dbm.Dispose(); } } }
public void Read(CarouselSettings settings, IUnitOfWork unitOfWork = null) { IDatabaseManager dbm = _databaseManagerFactory.GetDatabaseManager(unitOfWork); try { string sql = _sqlManager.GetSql("Sql.ReadCarousel.sql"); dbm.SetSQL(sql); dbm.AddParameter("@TenantId", FieldType.BigInt, settings.TenantId); dbm.AddParameter("@ElementId", FieldType.BigInt, settings.ElementId); dbm.ExecuteReader(); settings.Slides = new List <CarouselSlide>(); while (dbm.Read()) { settings.Slides.Add(GetCarouselSlideFromDatabaseManager(dbm)); } } finally { if (unitOfWork == null) { dbm.Dispose(); } } }
public void Create(ContactSettings settings, IUnitOfWork unitOfWork = null) { IDatabaseManager dbm = _databaseManagerFactory.GetDatabaseManager(unitOfWork); try { dbm.SetSQL(_sqlManager.GetSql("Sql.CreateContact.sql")); dbm.AddParameter("@TenantId", FieldType.BigInt, settings.TenantId); dbm.AddParameter("@ElementId", FieldType.BigInt, settings.ElementId); dbm.AddParameter("@DisplayName", FieldType.NVarChar, ContactLengths.DisplayNameMaxLength, settings.DisplayName ?? (object)DBNull.Value); dbm.AddParameter("@Preamble", FieldType.NVarChar, -1, settings.Preamble ?? (object)DBNull.Value); dbm.AddParameter("@Address", FieldType.NVarChar, ContactLengths.AddressMaxLength, settings.Address ?? (object)DBNull.Value); dbm.AddParameter("@Email", FieldType.NVarChar, ContactLengths.EmailMaxLength, settings.Email ?? (object)DBNull.Value); dbm.AddParameter("@FacebookUsername", FieldType.NVarChar, ContactLengths.FacebookUsernameMaxLength, settings.FacebookUsername ?? (object)DBNull.Value); dbm.AddParameter("@InstagramUsername", FieldType.NVarChar, ContactLengths.InstagramUsernameMaxLength, settings.InstagramUsername ?? (object)DBNull.Value); dbm.AddParameter("@LinkedInCompanyUsername", FieldType.NVarChar, ContactLengths.LinkedInCompanyUsernameMaxLength, settings.LinkedInCompanyUsername ?? (object)DBNull.Value); dbm.AddParameter("@LinkedInPersonalUsername", FieldType.NVarChar, ContactLengths.LinkedInPersonalUsernameMaxLength, settings.LinkedInPersonalUsername ?? (object)DBNull.Value); dbm.AddParameter("@TelephoneNumber1", FieldType.NVarChar, ContactLengths.TelephoneNumber1MaxLength, settings.TelephoneNumber1 ?? (object)DBNull.Value); dbm.AddParameter("@TelephoneNumber2", FieldType.NVarChar, ContactLengths.TelephoneNumber2MaxLength, settings.TelephoneNumber2 ?? (object)DBNull.Value); dbm.AddParameter("@TwitterUsername", FieldType.NVarChar, ContactLengths.TwitterUsernameMaxLength, settings.TwitterUsername ?? (object)DBNull.Value); dbm.AddParameter("@YouTubeChannelId", FieldType.NVarChar, ContactLengths.YouTubeChannelIdMaxLength, settings.YouTubeChannelId ?? (object)DBNull.Value); dbm.ExecuteNonQuery(); } finally { if (unitOfWork == null) { dbm.Dispose(); } } }
public void Create(PageHeaderSettings settings, IUnitOfWork unitOfWork = null) { IDatabaseManager dbm = _databaseManagerFactory.GetDatabaseManager(unitOfWork); try { string sql = _sqlManager.GetSql("Sql.CreatePageHeader.sql"); dbm.SetSQL(sql); dbm.AddParameter("@TenantId", FieldType.BigInt, settings.TenantId); dbm.AddParameter("@ElementId", FieldType.BigInt, settings.ElementId); dbm.AddParameter("@PageTenantId", FieldType.BigInt, settings.PageTenantId ?? (object)DBNull.Value); dbm.AddParameter("@PageId", FieldType.BigInt, settings.PageId ?? (object)DBNull.Value); dbm.AddParameter("@ShowName", FieldType.Bit, settings.ShowName); dbm.AddParameter("@ShowDescription", FieldType.Bit, settings.ShowDescription); dbm.AddParameter("@ShowImage", FieldType.Bit, settings.ShowImage); dbm.AddParameter("@ShowCreated", FieldType.Bit, settings.ShowCreated); dbm.AddParameter("@ShowUpdated", FieldType.Bit, settings.ShowUpdated); dbm.AddParameter("@ShowOccurred", FieldType.Bit, settings.ShowOccurred); dbm.AddParameter("@ShowBreadcrumbs", FieldType.Bit, settings.ShowBreadcrumbs); dbm.ExecuteNonQuery(); } finally { if (unitOfWork == null) { dbm.Dispose(); } } }
public void Create(ShareSettings settings, IUnitOfWork unitOfWork = null) { IDatabaseManager dbm = _databaseManagerFactory.GetDatabaseManager(unitOfWork); try { string sql = _sqlManager.GetSql("Sql.CreateShare.sql"); dbm.SetSQL(sql); dbm.AddParameter("@TenantId", FieldType.BigInt, settings.TenantId); dbm.AddParameter("@ElementId", FieldType.BigInt, settings.ElementId); dbm.AddParameter("@DisplayName", FieldType.NVarChar, 256, settings.DisplayName ?? (object)DBNull.Value); dbm.AddParameter("@ShareOnDigg", FieldType.Bit, settings.ShareOnDigg); dbm.AddParameter("@ShareOnFacebook", FieldType.Bit, settings.ShareOnFacebook); dbm.AddParameter("@ShareOnGoogle", FieldType.Bit, settings.ShareOnGoogle); dbm.AddParameter("@ShareOnLinkedIn", FieldType.Bit, settings.ShareOnLinkedIn); dbm.AddParameter("@ShareOnPinterest", FieldType.Bit, settings.ShareOnPinterest); dbm.AddParameter("@ShareOnReddit", FieldType.Bit, settings.ShareOnReddit); dbm.AddParameter("@ShareOnStumbleUpon", FieldType.Bit, settings.ShareOnStumbleUpon); dbm.AddParameter("@ShareOnTumblr", FieldType.Bit, settings.ShareOnTumblr); dbm.AddParameter("@ShareOnTwitter", FieldType.Bit, settings.ShareOnTwitter); dbm.ExecuteNonQuery(); } finally { if (unitOfWork == null) { dbm.Dispose(); } } }
/// <summary> /// Searches websites. /// </summary> /// <param name="parameters">Search and paging parameters.</param> /// <param name="unitOfWork">Unit of work.</param> /// <returns>Search result.</returns> public ISearchResult <Web> Search(ISearchParameters parameters, IUnitOfWork unitOfWork = null) { IDatabaseManager dbm = _databaseManagerFactory.GetDatabaseManager(unitOfWork); try { List <Web> webs = new List <Web>(); dbm.SetSQL(_sqlManager.GetSql("Sql.SearchWebs.sql")); dbm.AddParameter("@PageIndex", FieldType.Int, parameters.PageIndex); dbm.AddParameter("@PageSize", FieldType.Int, parameters.PageSize); dbm.AddParameter("@Search", FieldType.NVarChar, 50, parameters.Search); dbm.ExecuteReader(); while (dbm.Read()) { webs.Add(GetWebFromDatabaseManager(dbm)); } dbm.Read(); int total = (int)dbm.DataReaderValue("Total"); return(new SearchResult <Web> { Items = webs, Total = total }); } finally { if (unitOfWork == null) { dbm.Dispose(); } } }
public void RegisterDeployment(long tenantId, string hostname, DateTime deployed, IUnitOfWork unitOfWork = null) { IDatabaseManager dbm = _databaseManagerFactory.GetDatabaseManager(unitOfWork); try { dbm.SetSQL(_sqlManager.GetSql("Sql.RegisterAssetDeployment.sql")); dbm.AddParameter("@TenantId", FieldType.BigInt, tenantId); dbm.AddParameter("@Hostname", FieldType.NVarChar, 100, hostname); dbm.AddParameter("@Deployed", FieldType.DateTime, deployed); dbm.ExecuteNonQuery(); } finally { if (unitOfWork == null) { dbm.Dispose(); } } }
public User ReadUser(long tenantId, long userId, IUnitOfWork unitOfWork = null) { IDatabaseManager dbm = _databaseManagerFactory.GetDatabaseManager(unitOfWork); try { User user = null; dbm.SetSQL(_sqlManager.GetSql("Sql.ReadUser.sql")); dbm.AddParameter("@TenantId", FieldType.BigInt, tenantId); dbm.AddParameter("@UserId", FieldType.BigInt, userId); dbm.ExecuteReader(); if (dbm.Read()) { user = GetUserFromDatabaseManager(dbm); } return(user); } finally { if (unitOfWork == null) { dbm.Dispose(); } } }
public void Create(PageListSettings settings, IUnitOfWork unitOfWork = null) { IDatabaseManager dbm = _databaseManagerFactory.GetDatabaseManager(unitOfWork); try { dbm.SetSQL(_sqlManager.GetSql("Sql.CreatePageList.sql")); dbm.AddParameter("@TenantId", FieldType.BigInt, settings.TenantId); dbm.AddParameter("@ElementId", FieldType.BigInt, settings.ElementId); dbm.AddParameter("@PageTenantId", FieldType.BigInt, settings.PageTenantId ?? (object)DBNull.Value); dbm.AddParameter("@PageId", FieldType.BigInt, settings.PageId ?? (object)DBNull.Value); dbm.AddParameter("@DisplayName", FieldType.NVarChar, 256, settings.DisplayName ?? (object)DBNull.Value); dbm.AddParameter("@SortBy", FieldType.Int, (int)settings.SortBy); dbm.AddParameter("@SortAsc", FieldType.Bit, settings.SortAsc); dbm.AddParameter("@ShowRelated", FieldType.Bit, settings.ShowRelated); dbm.AddParameter("@ShowDescription", FieldType.Bit, settings.ShowDescription); dbm.AddParameter("@ShowImage", FieldType.Bit, settings.ShowImage); dbm.AddParameter("@ShowBackgroundImage", FieldType.Bit, settings.ShowBackgroundImage); dbm.AddParameter("@ShowCreated", FieldType.Bit, settings.ShowCreated); dbm.AddParameter("@ShowUpdated", FieldType.Bit, settings.ShowUpdated); dbm.AddParameter("@ShowOccurred", FieldType.Bit, settings.ShowOccurred); dbm.AddParameter("@ShowComments", FieldType.Bit, settings.ShowComments); dbm.AddParameter("@ShowTags", FieldType.Bit, settings.ShowTags); dbm.AddParameter("@ShowPager", FieldType.Bit, settings.ShowPager); dbm.AddParameter("@MoreMessage", FieldType.NVarChar, 256, settings.MoreMessage ?? (object)DBNull.Value); dbm.AddParameter("@Recursive", FieldType.Bit, settings.Recursive); dbm.AddParameter("@PageType", FieldType.Int, (int)settings.PageType); dbm.AddParameter("@PageSize", FieldType.Int, settings.PageSize); dbm.AddParameter("@NoPagesMessage", FieldType.NVarChar, -1, settings.NoPagesMessage ?? (object)DBNull.Value); dbm.AddParameter("@Preamble", FieldType.NVarChar, -1, settings.Preamble ?? (object)DBNull.Value); dbm.ExecuteNonQuery(); } finally { if (unitOfWork == null) { dbm.Dispose(); } } }
public void Create(CodeSnippetSettings settings, IUnitOfWork unitOfWork = null) { IDatabaseManager dbm = _databaseManagerFactory.GetDatabaseManager(unitOfWork); try { string sql = _sqlManager.GetSql("Sql.CreateCodeSnippet.sql"); dbm.SetSQL(sql); dbm.AddParameter("@TenantId", FieldType.BigInt, settings.TenantId); dbm.AddParameter("@ElementId", FieldType.BigInt, settings.ElementId); dbm.AddParameter("@Code", FieldType.NVarChar, -1, settings.Code); dbm.AddParameter("@Language", FieldType.Int, (int)settings.Language); dbm.ExecuteNonQuery(); } finally { if (unitOfWork == null) { dbm.Dispose(); } } }
public void Create(NavBarSettings settings, IUnitOfWork unitOfWork = null) { NavBarTabCollection navBarTabCollection = GetNavBarTabCollection(settings); IUnitOfWork localUnitOfWork = unitOfWork == null?_unitOfWorkFactory.CreateUnitOfWork() : null; try { IDatabaseManager dbm = _databaseManagerFactory.GetDatabaseManager(unitOfWork ?? localUnitOfWork); string sql = _sqlManager.GetSql("Sql.CreateNavBar.sql"); dbm.SetSQL(sql); dbm.AddParameter("@TenantId", FieldType.BigInt, settings.TenantId); dbm.AddParameter("@ElementId", FieldType.BigInt, settings.ElementId); dbm.AddParameter("@Name", FieldType.NVarChar, 50, settings.NavBarName ?? (object)DBNull.Value); dbm.AddParameter("@ShowLoggedOnUserOptions", FieldType.Bit, settings.ShowLoggedOnUserOptions); dbm.AddParameter("@ShowLoggedOffUserOptions", FieldType.Bit, settings.ShowLoggedOffUserOptions); dbm.AddTypedParameter("@NavBarTabs", FieldType.Structured, navBarTabCollection.Count == 0 ? null : navBarTabCollection, "element.NavBarTabTableType"); dbm.ExecuteNonQuery(); if (localUnitOfWork != null) { localUnitOfWork.Commit(); } } catch { if (localUnitOfWork != null) { localUnitOfWork.Rollback(); } throw; } finally { if (localUnitOfWork != null) { localUnitOfWork.Dispose(); } } }
public void Create(MapSettings settings, IUnitOfWork unitOfWork = null) { IDatabaseManager dbm = _databaseManagerFactory.GetDatabaseManager(unitOfWork); try { string sql = _sqlManager.GetSql("Sql.CreateMap.sql"); dbm.SetSQL(sql); dbm.AddParameter("@TenantId", FieldType.BigInt, settings.TenantId); dbm.AddParameter("@ElementId", FieldType.BigInt, settings.ElementId); dbm.AddParameter("@DisplayName", FieldType.NVarChar, 256, settings.DisplayName ?? (object)DBNull.Value); dbm.AddParameter("@Latitude", FieldType.Float, 53, settings.Latitude); dbm.AddParameter("@Longitude", FieldType.Float, 53, settings.Longitude); dbm.ExecuteNonQuery(); } finally { if (unitOfWork == null) { dbm.Dispose(); } } }
/// <summary> /// Creates a new table element. /// </summary> /// <param name="settings">Table settings.</param> /// <param name="unitOfWork">Unit of work.</param> public void Create(TableSettings settings, IUnitOfWork unitOfWork = null) { IDatabaseManager dbm = _databaseManagerFactory.GetDatabaseManager(unitOfWork); try { dbm.SetSQL(_sqlManager.GetSql("Sql.CreateTable.sql")); dbm.AddParameter("@TenantId", FieldType.BigInt, settings.TenantId); dbm.AddParameter("@ElementId", FieldType.BigInt, settings.ElementId); dbm.AddParameter("@DisplayName", FieldType.NVarChar, TableLengths.DisplayNameMaxLength, settings.DisplayName); dbm.AddParameter("@Preamble", FieldType.NVarChar, -1, settings.Preamble); dbm.AddParameter("@ShowHeaders", FieldType.Bit, settings.ShowHeaders); dbm.AddParameter("@Rows", FieldType.NVarChar, -1, settings.Rows); dbm.ExecuteNonQuery(); } finally { if (unitOfWork == null) { dbm.Dispose(); } } }
public void Create(FooterSettings settings, IUnitOfWork unitOfWork = null) { IDatabaseManager dbm = _databaseManagerFactory.GetDatabaseManager(unitOfWork); try { string sql = _sqlManager.GetSql("Sql.CreateFooter.sql"); dbm.SetSQL(sql); dbm.AddParameter("@TenantId", FieldType.BigInt, settings.TenantId); dbm.AddParameter("@ElementId", FieldType.BigInt, settings.ElementId); dbm.AddParameter("@Message", FieldType.NVarChar, -1, settings.Message ?? (object)DBNull.Value); dbm.AddParameter("@ShowLoggedOnUserOptions", FieldType.Bit, settings.ShowLoggedOnUserOptions); dbm.AddParameter("@ShowLoggedOffUserOptions", FieldType.Bit, settings.ShowLoggedOffUserOptions); dbm.ExecuteNonQuery(); } finally { if (unitOfWork == null) { dbm.Dispose(); } } }
public void Create(FormSettings settings, IUnitOfWork unitOfWork = null) { FormFieldCollection formFieldCollection = GetFormFieldCollection(settings); IUnitOfWork localUnitOfWork = unitOfWork == null?_unitOfWorkFactory.CreateUnitOfWork() : null; try { IDatabaseManager dbm = _databaseManagerFactory.GetDatabaseManager(unitOfWork ?? localUnitOfWork); dbm.SetSQL(_sqlManager.GetSql("Sql.CreateForm.sql")); dbm.AddParameter("@TenantId", FieldType.BigInt, settings.TenantId); dbm.AddParameter("@ElementId", FieldType.BigInt, settings.ElementId); dbm.AddParameter("@RecipientEmail", FieldType.NVarChar, -1, settings.RecipientEmail); dbm.AddParameter("@SubmitButtonLabel", FieldType.NVarChar, 100, settings.SubmitButtonLabel); dbm.AddParameter("@SubmittedMessage", FieldType.NVarChar, -1, settings.SubmittedMessage); dbm.AddTypedParameter("@FormFields", FieldType.Structured, formFieldCollection.Count == 0 ? null : formFieldCollection, "element.FormFieldTableType"); dbm.ExecuteNonQuery(); if (localUnitOfWork != null) { localUnitOfWork.Commit(); } } catch { if (localUnitOfWork != null) { localUnitOfWork.Rollback(); } throw; } finally { if (localUnitOfWork != null) { localUnitOfWork.Dispose(); } } }
/// <summary> /// Creates a testimonial element. /// </summary> /// <param name="settings">New element settings.</param> /// <param name="unitOfWork">Unit of work.</param> public void Create(TestimonialSettings settings, IUnitOfWork unitOfWork = null) { TestimonialCommentCollection testimonialCommentCollection = GetTestimonialCommentCollection(settings); IUnitOfWork localUnitOfWork = unitOfWork == null?_unitOfWorkFactory.CreateUnitOfWork() : null; try { IDatabaseManager dbm = _databaseManagerFactory.GetDatabaseManager(unitOfWork ?? localUnitOfWork); dbm.SetSQL(_sqlManager.GetSql("Sql.CreateTestimonial.sql")); dbm.AddParameter("@TenantId", FieldType.BigInt, settings.TenantId); dbm.AddParameter("@ElementId", FieldType.BigInt, settings.ElementId); dbm.AddParameter("@DisplayName", FieldType.NVarChar, 256, settings.DisplayName); dbm.AddParameter("@Preamble", FieldType.NVarChar, -1, settings.Preamble); dbm.AddTypedParameter("@TestimonialComments", FieldType.Structured, testimonialCommentCollection.Count == 0 ? null : testimonialCommentCollection, "element.TestimonialCommentTableType"); dbm.ExecuteNonQuery(); if (localUnitOfWork != null) { localUnitOfWork.Commit(); } } catch { if (localUnitOfWork != null) { localUnitOfWork.Rollback(); } throw; } finally { if (localUnitOfWork != null) { localUnitOfWork.Dispose(); } } }
public IEnumerable <Role> ListRoles(IUnitOfWork unitOfWork = null) { IDatabaseManager dbm = _databaseManagerFactory.GetDatabaseManager(unitOfWork); try { // The list that will be returned List <Role> roles = new List <Role>(); Dictionary <long, Role> rolesById = new Dictionary <long, Role>(); // Get roles dbm.SetSQL(_sqlManager.GetSql("Sql.ListRoles.sql")); dbm.ExecuteReader(); while (dbm.Read()) { Role role = GetRoleFromDatabaseManager(dbm); roles.Add(role); rolesById.Add(role.RoleId, role); } // Get functions while (dbm.Read()) { long roleId = (long)dbm.DataReaderValue("RoleId"); Role role = rolesById[roleId]; Function function = GetFunctionFromDatabaseManager(dbm); role.Functions.Add(function); } // Return list of roles return(roles); } finally { if (unitOfWork == null) { dbm.Dispose(); } } }
public IEnumerable <IElementSettings> ListElements(long tenantId, IUnitOfWork unitOfWork = null) { IDatabaseManager dbm = _databaseManagerFactory.GetDatabaseManager(unitOfWork); try { List <IElementSettings> elements = new List <IElementSettings>(); dbm.SetSQL(_sqlManager.GetSql("Sql.ListElements.sql")); dbm.AddParameter("@TenantId", FieldType.BigInt, tenantId); dbm.ExecuteReader(); while (dbm.Read()) { elements.Add(GetElementSettingsFromDatabaseManager(dbm)); } return(elements); } finally { if (unitOfWork == null) { dbm.Dispose(); } } }
/// <summary> /// Get template details. /// </summary> /// <param name="tenantId">Unique template identifier.</param> /// <param name="loadAll">Set true to load entire template rather than just top level template details.</param> /// <param name="unitOfWork">Unit of work.</param> /// <returns>Template details (or null if template not found).</returns> public Template Read(long tenantId, bool loadAll, IUnitOfWork unitOfWork = null) { IDatabaseManager dbm = _databaseManagerFactory.GetDatabaseManager(unitOfWork); try { dbm.SetSQL(_sqlManager.GetSql("Sql.ReadTemplate.sql")); dbm.AddParameter("@TenantId", FieldType.BigInt, tenantId); dbm.AddParameter("@LoadAll", FieldType.Bit, loadAll); dbm.ExecuteReader(); if (dbm.Read()) { return(GetTemplate(dbm, loadAll)); } return(null); } finally { if (unitOfWork == null) { dbm.Dispose(); } } }
public void Create(ForumSettings settings, IUnitOfWork unitOfWork = null) { IDatabaseManager dbm = _databaseManagerFactory.GetDatabaseManager(unitOfWork); try { string sql = _sqlManager.GetSql("Sql.CreateForum.sql"); dbm.SetSQL(sql); dbm.AddParameter("@TenantId", FieldType.BigInt, settings.TenantId); dbm.AddParameter("@ElementId", FieldType.BigInt, settings.ElementId); dbm.AddParameter("@ThreadCount", FieldType.Int, settings.ThreadCount); dbm.AddParameter("@PostCount", FieldType.Int, settings.PostCount); dbm.AddParameter("@OwnerTenantId", FieldType.BigInt, settings.OwnerTenantId ?? (object)DBNull.Value); dbm.AddParameter("@OwnerUserId", FieldType.BigInt, settings.OwnerUserId ?? (object)DBNull.Value); dbm.AddParameter("@OwnerOnlyThreads", FieldType.Bit, settings.OwnerOnlyThreads); dbm.ExecuteNonQuery(); } finally { if (unitOfWork == null) { dbm.Dispose(); } } }
/// <summary> /// Searches master pages. /// </summary> /// <param name="tenantId">Identifies website that master pages belong to.</param> /// <param name="parameters">Search and paging parameters.</param> /// <param name="unitOfWork">Unit of work.</param> /// <returns>Search result.</returns> public ISearchResult <MasterPage> Search(long tenantId, ISearchParameters parameters, IUnitOfWork unitOfWork = null) { IDatabaseManager dbm = _databaseManagerFactory.GetDatabaseManager(unitOfWork); try { List <MasterPage> masterPages = new List <MasterPage>(); dbm.SetSQL(_sqlManager.GetSql("Sql.SearchMasterPages.sql")); dbm.AddParameter("@TenantId", FieldType.BigInt, tenantId); dbm.AddParameter("@PageIndex", FieldType.Int, parameters.PageIndex); dbm.AddParameter("@PageSize", FieldType.Int, parameters.PageSize); dbm.AddParameter("@Search", FieldType.NVarChar, 50, parameters.Search); dbm.ExecuteReader(); while (dbm.Read()) { masterPages.Add(GetMasterPage(dbm, false)); } dbm.Read(); int total = (int)dbm.DataReaderValue("Total"); return(new SearchResult <MasterPage> { Items = masterPages, Total = total }); } finally { if (unitOfWork == null) { dbm.Dispose(); } } }