示例#1
0
        public JsonResult SaveTemplate(string name, string content, string controlType)
        {
            if (System.IO.File.Exists(Server.MapPath("/Views/Canvas/Templates/" + controlType + "/" + name + ".cshtml")))
            {
                System.IO.File.WriteAllText(Server.MapPath("/Views/Canvas/Templates/" + controlType + "/" + name + ".cshtml"), content, Encoding.UTF8);

                var templates = CanvasHelper.GetTemplates(controlType);

                return(Json(new { success = true, templates = templates }));
            }
            else
            {
                return(Json(new { success = false, message = "Template does not exist" }));
            }
        }
示例#2
0
        public JsonResult DeleteTemplate(string path, string controlType)
        {
            if (System.IO.File.Exists(Server.MapPath(path)))
            {
                System.IO.File.Delete(Server.MapPath(path));

                var templates = CanvasHelper.GetTemplates(controlType);

                return(Json(new { success = true, templates = templates }));
            }
            else
            {
                return(Json(new { success = false, message = "Template file not found" }));
            }
        }
示例#3
0
        public JsonResult GetEditControl(Guid controlId, int pageId)
        {
            var model = Repository.GetObjectById(pageId);

            if (model != null)
            {
                // Finna Area hvort sem það sé inn í Grid/section eða rótar svæði sem á undir sér Control

                foreach (var area in model.Areas)
                {
                    FindAreaWithControl(area, controlId);
                }

                if (AreaControlResult != null)
                {
                    var control = AreaControlResult.Controls.Where(x => x.ControlID == controlId).FirstOrDefault();

                    if (control != null)
                    {
                        var templates = CanvasHelper.GetTemplates(control.Type);

                        var macros = new List <CanvasMacro>();

                        if (control.Type == "Macro")
                        {
                            using (var db = DatabaseContext.Database)
                            {
                                macros = db.Fetch <CanvasMacro>("SELECT * FROM cmsMacro where macroUseInEditor = @0 ORDER BY macroName", true);
                            }
                        }

                        var controlProperties = control.GetType().GetProperties().ToDictionary(x => x.Name, x => x.GetValue(control, null) == null ? "" : HttpUtility.HtmlDecode(x.GetValue(control, null).ToString())).ToList();

                        return(Json(new { success = true, controlId = controlId, properties = controlProperties, templates = templates, type = control.Type, macros = macros }, JsonRequestBehavior.AllowGet));
                    }
                }
            }

            return(Json(new { success = false }, JsonRequestBehavior.AllowGet));
        }