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); }
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()); }
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)); }