public ActionResult GetLastImage(string pageid, string id) { try { DOMElements domElements = new DOMElements(); string path = HttpContext.Request.PhysicalApplicationPath + "/" + ContentFolder; string fileName = path + "/" + pageid + ".json"; domElements = GetDOMElementsFromFile(fileName); string imageFileName = GetImageFileName(domElements, id); if (imageFileName != string.Empty) { return(Content("../" + ContentFolder + "/img/" + imageFileName)); } else { return(Content("")); } } catch (Exception ex) { return(Content(ex.HResult + " " + ex.Message)); } }
private static DOMElements GetDOMElementsFromFile(string fileName) { DOMElements domElements = new DOMElements(); if (!new FileInfo(fileName).Exists) { return(domElements); } using (Stream input = new FileStream(fileName, FileMode.Open)) { string dataJSON = new StreamReader(input).ReadToEnd(); domElements = Newtonsoft.Json.JsonConvert.DeserializeObject <DOMElements>(dataJSON); } return(domElements); }
private static string GetImageFileName(DOMElements DomElements, string Id) { try { if (DomElements != null && DomElements.Images.Count > 0) { Image im = DomElements.Images.Single(item => item.id == Id); return(im.updatedFileName); } } catch (Exception) { return(string.Empty); } return(string.Empty); }
private static string GetContent(DOMElements DomElements, string Id, string Content) { try { if (DomElements != null && DomElements.Elements.Count > 0) { Element el = DomElements.Elements.Single(item => item.id == Id); return(el.content); } } catch (Exception) { return(Content); } return(Content); }
public static string GetUpdatedHTML(string html, string AppPath, string PageId) { string fileName = AppPath + "/" + ContentFolder + "/" + PageId + ".json"; DOMElements DomElements = GetDOMElementsFromFile(fileName); var doc = new HtmlDocument(); doc.LoadHtml(html); //Change Text Element's Content var htmlNodes = doc.DocumentNode.SelectNodes("//*[contains(@class, '" + classNameText + "')]"); if (htmlNodes != null) { foreach (var node in htmlNodes) { node.InnerHtml = GetContent(DomElements, node.Id, node.InnerText); } } //Change Image Element's Background htmlNodes = doc.DocumentNode.SelectNodes("//*[contains(@class, '" + classNameImage + "')]"); if (htmlNodes != null) { foreach (var node in htmlNodes) { string imageFileName = GetImageFileName(DomElements, node.Id); if (imageFileName != string.Empty) { string imagePath = "../" + ContentFolder + "/img/" + imageFileName; node.Attributes.Append("style", "background-image:url('" + imagePath + "')"); } } } return(doc.DocumentNode.OuterHtml); }
public ActionResult UpdateData() { try { Stream input = this.Request.InputStream; string dataJSON = new StreamReader(input).ReadToEnd(); DOMElements domElements = Newtonsoft.Json.JsonConvert.DeserializeObject <DOMElements>(dataJSON); DOMElements domElementsExisting = new DOMElements(); if (domElements.Elements.Count > 0 || domElements.Images.Count > 0) { string path = HttpContext.Request.PhysicalApplicationPath + "/" + ContentFolder; string fileName = ""; if (domElements.Elements.Count > 0) { fileName = path + "/" + domElements.Elements[0].pageid + ".json"; } else { fileName = path + "/" + domElements.Images[0].pageid + ".json"; } domElementsExisting = GetDOMElementsFromFile(fileName); //Elements if (domElementsExisting != null && domElementsExisting.Elements != null) { foreach (Element el in domElementsExisting.Elements) { try { Element tmp = domElements.Elements.Single(item => item.id == el.id); } catch (Exception) { domElements.Elements.Add(el); } } } //Images if (domElementsExisting != null && domElementsExisting.Images != null) { foreach (Image im in domElementsExisting.Images) { try { Image tmp = domElements.Images.Single(item => item.id == im.id); } catch (Exception) { domElements.Images.Add(im); } } } if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(domElements); System.IO.File.WriteAllText(fileName, jsonString); return(Content("-Text content saved successfully.")); } else { return(Content("-Text changes can not be detected.")); } } catch (Exception ex) { return(Content(ex.HResult + " " + ex.Message)); } }