Ejemplo n.º 1
0
        public async Task <PageLayoutViewModel> GetLayoutElement(string pageName, int siteID)
        {
            var ds = await new BlockDataProvider().GetLayoutElement(pageName, siteID);
            PageLayoutViewModel obj = new PageLayoutViewModel()
            {
                Elements = new List <LayoutElements>(),
            };
            IList <LayoutElement> lstElements = DataSourceHelper.FillCollection <LayoutElement>(ds.Tables[0]);
            IList <ViewModule>    lstModule   = DataSourceHelper.FillCollection <ViewModule>(ds.Tables[1]);

            foreach (var e in lstElements)
            {
                if (e.HasInnerElement)
                {
                    LayoutElements ele = CreateElements(e);
                    ele.InnerElements = GetInnerElement(e.ElementID, lstElements, lstModule);
                    obj.Elements.Add(ele);
                }
                else
                {
                    break;
                }
            }
            return(obj);
        }
Ejemplo n.º 2
0
        public async Task <IHttpActionResult> Post(PageLayoutViewModel model)
        {
            var allowed = await userService.HasPermission(User.Identity.GetUserId(), PermissionType.Designer, null);

            if (!allowed)
            {
                return(BadRequest("User is not authorised to perform this action"));
            }

            PageLayout pageLayout = await pageLayoutService.GetOrCreateAsync(model.PageLayoutId);

            pageLayout.LayoutId = model.LayoutId;
            pageLayout.Name     = model.Name;
            pageLayout.Body     = model.Body;
            await pageLayoutService.UpdateAsync(pageLayout);

            return(Ok());
        }
Ejemplo n.º 3
0
 public ActionResult CreateLayout(PageLayoutViewModel model, HttpPostedFileBase layout)
 {
     if (ModelState.IsValid && layout != null)
     {
         using (var db = new UwtContext())
         {
             var userId     = User.Identity.GetUserId();
             var pageLayout = Mapper.Map <PageLayout>(model);
             pageLayout.DateCreated = DateTime.UtcNow;
             pageLayout.Owner       = db.Users.FirstOrDefault(u => u.Id == userId);
             pageLayout.Layout      = layout.SaveUploadedLayout(Server);
             db.PageLayouts.Add(pageLayout);
             db.SaveChanges();
         }
         return(RedirectToAction("PageLayouts"));
     }
     return(View(model));
 }