public ActionResult SaveSpacingStyling(int widgetidspacing, SpacingSettings mdl) { if (ModelState.IsValid) { var item = _contentManager.Get<CustomStyle>(widgetidspacing); if (item != null) { string css = item.CssStyle; if (string.IsNullOrWhiteSpace(css)) css = string.Empty; //parse var col = ParseStringTocssCollection(css); //properties (margin: 50px 50px 50px 5px;) //clear any previous margin instanses if (col.ContainsKey("margin")) col.Remove("margin"); //build padding rule if (mdl.MarginSameForAll==true) { string marginrule = string.Format("{0}px", mdl.MarginTop); // add css styles from model col.Add("margin", marginrule); } else { string marginrule = string.Format("{0}px {1}px {2}px {3}px", mdl.MarginTop, mdl.MarginRight, mdl.MarginBottom, mdl.MarginLeft); // add css styles from model col.Add("margin", marginrule); } //clear any previous padding instanses if (col.ContainsKey("padding")) col.Remove("padding"); //build padding rule if (mdl.PaddingSameForAll == true) { string paddingrule = string.Format("{0}px", mdl.PaddingTop); // add css styles from model col.Add("padding", paddingrule); } else { string paddingrule = string.Format("{0}px {1}px {2}px {3}px", mdl.PaddingTop, mdl.PaddingRight, mdl.PaddingBottom, mdl.PaddingLeft); // add css styles from model col.Add("padding", paddingrule); } //serialize back item.CssStyle = CssCollectionTostring(col); _repo.Update(item.Record); return Json(new { s = "Saved settings!" }); } } else { //model state is not valid return Json(new { s = PrepareErrMsg(ModelState) }); } return null; }
public ActionResult SpacingStyling(int widgetid) { var item = _contentManager.Get<CustomStyle>(widgetid); if (item != null) { string css = item.CssStyle; //parse if (string.IsNullOrWhiteSpace(css)) css = string.Empty; //strip out the px symbol css = css.Replace("px", ""); var col = ParseStringTocssCollection(css); ViewBag.widgetid = widgetid; var mdl = new SpacingSettings(); //margins if (col.ContainsKey("margin")) { //parse string shadowvals = col["margin"]; string[] shadowvalsArray = shadowvals.Split(Convert.ToChar(" ")); if (shadowvalsArray.Count()==1) { mdl.MarginSameForAll = true; mdl.MarginTop = Convert.ToInt32(shadowvalsArray[0]); } else { mdl.MarginSameForAll = false; mdl.MarginTop = Convert.ToInt32(shadowvalsArray[0]); mdl.MarginRight = Convert.ToInt32(shadowvalsArray[1]); mdl.MarginBottom = Convert.ToInt32(shadowvalsArray[2]); mdl.MarginLeft = Convert.ToInt32(shadowvalsArray[3]); } } //paddings if (col.ContainsKey("padding")) { //parse string shadowvals = col["padding"]; string[] paddingsvalarray = shadowvals.Split(Convert.ToChar(" ")); if (paddingsvalarray.Count() == 1) { mdl.PaddingSameForAll = true; mdl.PaddingTop = Convert.ToInt32(paddingsvalarray[0]); } else { mdl.PaddingSameForAll = false; mdl.PaddingTop = Convert.ToInt32(paddingsvalarray[0]); mdl.PaddingRight = Convert.ToInt32(paddingsvalarray[1]); mdl.PaddingBottom = Convert.ToInt32(paddingsvalarray[2]); mdl.PaddingLeft = Convert.ToInt32(paddingsvalarray[3]); } } return PartialView(mdl); } return null; }