コード例 #1
0
 /// <summary>
 /// Constructs page zone and page zone element collections for calls to stored procedures that contain user defined table types.
 /// </summary>
 /// <param name="page">Contains page information used to populate collections.</param>
 /// <param name="pageZoneCollection">Page zone collection.</param>
 /// <param name="pageZoneElementCollection">Page zone element collection.</param>
 private void GetPageCollections(Page page, out PageZoneCollection pageZoneCollection, out PageZoneElementCollection pageZoneElementCollection)
 {
     pageZoneCollection        = new PageZoneCollection();
     pageZoneElementCollection = new PageZoneElementCollection();
     foreach (PageZone pageZone in page.PageZones)
     {
         pageZoneCollection.Add(pageZone);
         foreach (PageZoneElement pageZoneElement in pageZone.PageZoneElements)
         {
             pageZoneElementCollection.Add(pageZoneElement);
         }
     }
 }
コード例 #2
0
        /// <summary>
        /// Creates multiple page zones.
        /// </summary>
        /// <param name="tenantId">Identifies website where page zones created.</param>
        /// <param name="pageZones">List of page zones to create.</param>
        /// <param name="unitOfWork">Unit of work.</param>
        public void CreatePageZones(long tenantId, List <PageZone> pageZones, IUnitOfWork unitOfWork = null)
        {
            IDatabaseManager dbm = _databaseManagerFactory.GetDatabaseManager(unitOfWork);

            try
            {
                PageZoneCollection pageZoneCollection = new PageZoneCollection();
                foreach (PageZone pageZone in pageZones)
                {
                    pageZoneCollection.Add(pageZone);
                }
                dbm.SetSQL(_sqlManager.GetSql("Sql.CreatePageZones.sql"));
                dbm.AddParameter("@TenantId", FieldType.BigInt, tenantId);
                dbm.AddTypedParameter("@PageZones", FieldType.Structured, pageZoneCollection.Count == 0 ? null : pageZoneCollection, "cms.PageZoneTableType");
                dbm.ExecuteNonQuery();
            }
            finally
            {
                if (unitOfWork == null)
                {
                    dbm.Dispose();
                }
            }
        }