/// <summary>
        /// Performs additional processing and loads related models.
        /// </summary>
        /// <param name="page">The source page</param>
        /// <param name="model">The targe model</param>
        private async void Process <T>(Data.Page page, T model) where T : Models.PageBase
        {
            model.EnableComments = page.EnableComments;
            if (model.EnableComments)
            {
                model.CommentCount = await _db.PageComments.CountAsync(c => c.PageId == model.Id).ConfigureAwait(false);
            }
            model.CloseCommentsAfterDays = page.CloseCommentsAfterDays;

            if (!(model is Models.IContentInfo))
            {
                if (page.Blocks.Count > 0)
                {
                    //model.Blocks = _contentService.TransformBlocks<PageBlock>(page.Blocks.OrderBy(b => b.SortOrder));

                    foreach (var pageBlock in page.Blocks.OrderBy(b => b.SortOrder))
                    {
                        if (pageBlock.Block.ParentId.HasValue)
                        {
                            var parent = page.Blocks.FirstOrDefault(b => b.BlockId == pageBlock.Block.ParentId.Value);
                            if (parent != null)
                            {
                                pageBlock.Block.ParentId = parent.Block.Id;
                            }
                        }
                    }
                    model.Blocks = _contentService.TransformBlocks(page.Blocks.OrderBy(b => b.SortOrder).Select(b => b.Block));
                }
            }
        }
Exemple #2
0
 /// <summary>
 /// Performs additional processing and loads related models.
 /// </summary>
 /// <param name="page">The source page</param>
 /// <param name="model">The targe model</param>
 private void Process <T>(Data.Page page, T model) where T : Models.PageBase
 {
     if (!(model is Models.IContentInfo))
     {
         if (page.Blocks.Count > 0)
         {
             model.Blocks = _contentService.TransformBlocks <PageBlock>(page.Blocks.OrderBy(b => b.SortOrder));
         }
     }
 }
        /// <summary>
        /// Performs additional processing and loads related models.
        /// </summary>
        /// <param name="page">The source page</param>
        /// <param name="model">The targe model</param>
        private void Process <T>(Data.Page page, T model) where T : Models.PageBase
        {
            if (!(model is Models.IContentInfo))
            {
                if (page.Blocks.Count > 0)
                {
                    var blocks = page.Blocks
                                 .OrderBy(b => b.SortOrder)
                                 .Select(b => b.Block)
                                 .ToList();

                    model.Blocks = contentService.TransformBlocks(blocks);
                }
            }
        }
Exemple #4
0
 public Page PageIDataReader(IDataReader dr)
 {
     Data.Page obj = new Data.Page();
     obj.Id          = (dr["Id"] is DBNull) ? string.Empty : dr["Id"].ToString();
     obj.Name        = (dr["Name"] is DBNull) ? string.Empty : dr["Name"].ToString();
     obj.Image       = (dr["Image"] is DBNull) ? string.Empty : dr["Image"].ToString();
     obj.Detail      = (dr["Detail"] is DBNull) ? string.Empty : dr["Detail"].ToString();
     obj.Level       = (dr["Level"] is DBNull) ? string.Empty : dr["Level"].ToString();
     obj.Description = (dr["Description"] is DBNull) ? string.Empty : dr["Description"].ToString();
     obj.Keyword     = (dr["Keyword"] is DBNull) ? string.Empty : dr["Keyword"].ToString();
     obj.Type        = (dr["Type"] is DBNull) ? string.Empty : dr["Type"].ToString();
     obj.Link        = (dr["Link"] is DBNull) ? string.Empty : dr["Link"].ToString();
     obj.Target      = (dr["Target"] is DBNull) ? string.Empty : dr["Target"].ToString();
     obj.Position    = (dr["Position"] is DBNull) ? string.Empty : dr["Position"].ToString();
     obj.Ord         = (dr["Ord"] is DBNull) ? string.Empty : dr["Ord"].ToString();
     obj.Active      = (dr["Active"] is DBNull) ? string.Empty : dr["Active"].ToString();
     return(obj);
 }
Exemple #5
0
 protected void Update_Click(object sender, EventArgs e)
 {
     if (Page.IsValid)
     {
         string    Link = "";
         string    Id   = txtId.Value;
         Data.Page obj  = new Data.Page();
         obj.Id          = Id;
         obj.Name        = txtName.Text;
         obj.Image       = DateTime.Now.ToString();
         obj.Detail      = fckDetail.Value;
         obj.Level       = Level + "00000";
         obj.Description = txtContent.Text;
         obj.Keyword     = "";
         obj.Type        = ddlType.SelectedValue;
         obj.Link        = txtLink.Text;
         obj.Target      = ddlTarget.SelectedValue;
         obj.Position    = ddlPosition.SelectedValue;
         obj.Language    = ddlLanguage.SelectedValue;
         obj.Ord         = txtOrd.Text != "" ? txtOrd.Text : "1";
         obj.Active      = chkActive.Checked ? "1" : "0";
         if (Insert == true)
         {
             PageService.Page_Insert(obj);
             Id = sql.MaxId("Page", "Id");
         }
         else
         {
             PageService.Page_Update(obj);
         }
         if (ddlType.SelectedValue == "2")
         {
             DataTable dt = new DataTable();
             dt   = PageService.Page_GetById(Id);
             Link = "/trang-tin/" + StringClass.NameToTag(dt.Rows[0]["Name"].ToString()) + "-" + Id;
             sql.ExecuteNonQuery("Update Page set Link='" + Link + "'  Where Id='" + Id + "'");
         }
         BindGrid();
         pnView.Visible   = true;
         pnUpdate.Visible = false;
         Level            = "";
         Insert           = false;
     }
 }
        /// <summary>
        /// Performs additional processing and loads related models.
        /// </summary>
        /// <param name="page">The source page</param>
        /// <param name="model">The targe model</param>
        private void Process <T>(Data.Page page, T model) where T : Models.PageBase
        {
            if (page.Blocks.Count > 0)
            {
                var blocks = page.Blocks
                             .OrderBy(b => b.SortOrder)
                             .Select(b => b.Block)
                             .ToList();

                if (model is Models.IPage)
                {
                    ((Models.IPage)model).Blocks = contentService.TransformBlocks(blocks);
                }
                else if (model is Models.IDynamicPage)
                {
                    ((Models.IDynamicPage)model).Blocks = contentService.TransformBlocks(blocks);
                }
            }
        }
Exemple #7
0
        public async Task <ActionResult <AddPageResponse> > PostAddPAge([FromBody] AddPageRequest addPageRequest)
        {
            var newPage = new Data.Page
            {
                SymbolicName = ConvertToSymbolicName(addPageRequest.Page.Label),
                Label        = addPageRequest.Page.Label,
                Icon         = addPageRequest.Page.Icon,
                Groups       = new List <Data.Group>()
            };

            _Context.Pages.Add(newPage);

            await _Context.SaveChangesAsync();

            _logger.LogDebug("Added new Page {Label}", newPage.Label);

            await _ClientHub.Clients.All.SendAsync(ClientMethods.AddOrUpdatePage, newPage);

            return(Ok(new AddPageResponse()));
        }
 private void CreateMockPages()
 {
     for (int i = 0; i < NUM_PAGES; i++)
     {
         Data.PageType typeForNewPage = pageTypesList[i % NUM_PAGE_TYPES];
         Data.Page     newPage        = new Data.Page {
             Id              = ConvertIntToGuid(i + 1),
             TypeId          = typeForNewPage.Id,
             ParentId        = null,
             SortOrder       = i,
             Title           = $"Page Title {i}",
             NavigationTitle = $"Nav title {i}",
             Slug            = $"page-title-{i}",
             Published       = DateTime.Now.AddDays(-(NUM_PAGES - i)),
             LastModified    = DateTime.Now.AddDays(-(NUM_PAGES - i)),
             Type            = typeForNewPage,
             Fields          = new List <Data.PageField>(),
         };
         typeForNewPage.Pages.Add(newPage);
         pagesList.Add(newPage);
     }
 }
Exemple #9
0
        /// <summary>
        /// Performs additional processing and loads related models.
        /// </summary>
        /// <param name="page">The source page</param>
        /// <param name="model">The targe model</param>
        private void Process <T>(Data.Page page, T model) where T : Models.PageBase
        {
            if (!(model is Models.IContentInfo))
            {
                if (page.Blocks.Count > 0)
                {
                    //model.Blocks = _contentService.TransformBlocks<PageBlock>(page.Blocks.OrderBy(b => b.SortOrder));

                    foreach (var pageBlock in page.Blocks.OrderBy(b => b.SortOrder))
                    {
                        if (pageBlock.Block.ParentId.HasValue)
                        {
                            var parent = page.Blocks.FirstOrDefault(b => b.BlockId == pageBlock.Block.ParentId.Value);
                            if (parent != null)
                            {
                                pageBlock.Block.ParentId = parent.Block.Id;
                            }
                        }
                    }
                    model.Blocks = _contentService.TransformBlocks(page.Blocks.OrderBy(b => b.SortOrder).Select(b => b.Block));
                }
            }
        }
Exemple #10
0
        /// <summary>
        /// Performs additional processing and loads related models.
        /// </summary>
        /// <param name="page">The source page</param>
        /// <param name="model">The targe model</param>
        private async Task ProcessAsync <T>(Data.Page page, T model) where T : Models.PageBase
        {
            // Permissions
            foreach (var permission in page.Permissions)
            {
                model.Permissions.Add(permission.Permission);
            }

            // Comments
            model.EnableComments = page.EnableComments;
            if (model.EnableComments)
            {
                model.CommentCount = await _db.PageComments.CountAsync(c => c.PageId == model.Id && c.IsApproved).ConfigureAwait(false);
            }
            model.CloseCommentsAfterDays = page.CloseCommentsAfterDays;

            // Blocks
            if (!(model is Models.IContentInfo))
            {
                if (page.Blocks.Count > 0)
                {
                    foreach (var pageBlock in page.Blocks.OrderBy(b => b.SortOrder))
                    {
                        if (pageBlock.Block.ParentId.HasValue)
                        {
                            var parent = page.Blocks.FirstOrDefault(b => b.BlockId == pageBlock.Block.ParentId.Value);
                            if (parent != null)
                            {
                                pageBlock.Block.ParentId = parent.Block.Id;
                            }
                        }
                    }
                    model.Blocks = _contentService.TransformBlocks(page.Blocks.OrderBy(b => b.SortOrder).Select(b => b.Block));
                }
            }
        }
 protected void Update_Click(object sender, EventArgs e)
 {
     if (Page.IsValid)
     {
         string Link = "";
         string Id = txtId.Value;
         Data.Page obj = new Data.Page();
         obj.Id = Id;
         obj.Name = txtName.Text;
         obj.Tag = Common.StringClass.NameToTag(txtName.Text);
         obj.Content = fckContent.Value;
         obj.Detail = fckDetail.Value;
         obj.Level = Level + "00000";
         obj.Title = txtTitle.Text;
         obj.Description = txtDescription.Text;
         obj.Keyword = txtKeyword.Text;
         obj.Type = ddlType.SelectedValue;
         obj.Link = txtLink.Text;
         obj.Target = ddlTarget.SelectedValue;
         obj.Position = ddlPosition.SelectedValue;
         obj.Ord = txtOrd.Text != "" ? txtOrd.Text : "1";
         obj.Index = chkIndex.Checked ? "1" : "0";
         obj.Active = chkActive.Checked ? "1" : "0";
         obj.Lang = Lang;
         if (Insert == true){
             PageService.Page_Insert(obj);
             Id = sql.MaxId("Page", "Id");
         }
         else{
             PageService.Page_Update(obj);
         }
         if (ddlType.SelectedValue == "2")
         {
             Link = "/page/" + Id + ".aspx";
             sql.ExecuteNonQuery("Update Page set Link='" + Link + "'  Where Id='" + Id + "'");
         }
         BindGrid();
         pnView.Visible = true;
         pnUpdate.Visible = false;
         Level= "";
         Insert = false;
     }
 }