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