public static IHtmlString Tabs(this HtmlHelper helper) { StringBuilder sb = new StringBuilder(); HttpRequestBase request = helper.ViewContext.HttpContext.Request; string action = helper.ViewContext.Controller.ValueProvider.GetValue("action").RawValue.ToString(); string controller = helper.ViewContext.Controller.ValueProvider.GetValue("controller").RawValue.ToString(); string config = request.MapPath("~/Demo.config"); sb.Append("<div>"); JsonData data = SimpleJsonDeserializer.Deserialize(File.ReadAllText(config)); string description = String.Empty; for (int i = 0; i < data.Count; i++) { JsonData tab = data[i]; String url = (string)tab["url"]; String title = (string)tab["title"]; sb.Append("<a class='"); if (controller == url) { description = (string)tab["description"]; sb.Append("tab selected"); } else { sb.Append("tab"); } UrlHelper u = new UrlHelper(helper.ViewContext.RequestContext); string printUrl = u.Action("Index", url, null); if (!printUrl.EndsWith("/")) { printUrl += "/"; } sb.Append("' href='"); sb.Append(printUrl); sb.Append("'><span style='width: 100px; text-align:center;'>"); sb.Append(title); sb.Append("</span>"); sb.Append("</a>"); } // closing sb.Append("</div>"); sb.Append("<div class='header'><div class='bg-help'>"); sb.Append(description); sb.Append("</div></div>"); return(new HtmlString(sb.ToString())); }
public static IHtmlString Tabs(this HtmlHelper helper) { StringBuilder sb = new StringBuilder(); HttpRequestBase request = helper.ViewContext.HttpContext.Request; string dir = "/"; string fixedPath = request.Path.EndsWith("/") ? request.Path : request.Path + "/"; // fixes IIS vs. development server difference if (fixedPath.ToLower() != request.ApplicationPath.ToLower() + "/") { string relative = request.Path.Substring(request.ApplicationPath.Length); dir = relative.Substring(1, relative.IndexOf('/', 1) - 1); } string config = request.MapPath("~/Demo.config"); sb.Append("<div>"); JsonData data = SimpleJsonDeserializer.Deserialize(File.ReadAllText(config)); string description = String.Empty; for (int i = 0; i < data.Count; i++) { JsonData tab = data[i]; String url = (string)tab["url"]; String title = (string)tab["title"]; sb.Append("<a class='"); if (dir == url) { description = (string)tab["description"]; sb.Append("tab selected"); } else { sb.Append("tab"); } string path = (url == "/") ? url : "/" + url + "/"; sb.Append("' href='"); sb.Append(request.ApplicationPath + path); sb.Append("'><span style='width: 100px; text-align:center;'>"); sb.Append(title); sb.Append("</span></a>"); } sb.Append("</div>"); sb.Append("<div class='header'><div class='bg-help'>"); sb.Append(description); sb.Append("</div></div>"); return(new HtmlString(sb.ToString())); }
static void Main(string[] args) { using (var reader = new StreamReader(@"sample1.json")) { var o = SimpleJsonDeserializer.Deserialize(reader); Console.WriteLine(SimpleJsonSerializer.Serialize(o)); } Console.ReadLine(); }
private void ExecuteEventJSON(string ea) { JsonData jsonData = SimpleJsonDeserializer.Deserialize(ea); JsonData jsonData2 = jsonData["header"]; JsonData arg_1E_0 = jsonData["data"]; JsonData jsonData3 = jsonData["parameters"]; this.StartDate = (DateTime)jsonData2["startDate"]; this.SelectionStart = (DateTime)jsonData2["selectionStart"]; string a; if ((a = (string)jsonData["action"]) != null) { if (!(a == "Visible")) { if (!(a == "TimeRangeSelected")) { goto IL_125; } if (this.TimeRangeSelected != null) { DateTime start = (DateTime)jsonData3["start"]; DateTime end = (DateTime)jsonData3["end"]; TimeRangeSelectedEventArgs timeRangeSelectedEventArgs = new TimeRangeSelectedEventArgs(start, end, null); timeRangeSelectedEventArgs.Source = (this.Page.IsCallback ? EventSource.CallBack : EventSource.PostBack); this.TimeRangeSelected(this, timeRangeSelectedEventArgs); return; } } else if (this.VisibleRangeChanged != null) { VisibleRangeChangedEventArgs visibleRangeChangedEventArgs = new VisibleRangeChangedEventArgs(); visibleRangeChangedEventArgs.Source = (this.Page.IsCallback ? EventSource.CallBack : EventSource.PostBack); this.VisibleRangeChanged(this, visibleRangeChangedEventArgs); return; } return; } IL_125: throw new NotSupportedException("This action type is not supported: " + jsonData["action"]); }
protected override void OnLoad(EventArgs e) { string text = this.Context.Request.Params[this.ClientID + "_state"]; if (!string.IsNullOrEmpty(text)) { JsonData jsonData = SimpleJsonDeserializer.Deserialize(text); this.StartDate = (DateTime)jsonData["startDate"]; DateTime selectionStart = (DateTime)jsonData["selectionStart"]; this.SelectionStart = selectionStart; DateTime arg_69_0 = this.SelectionStart; } ScriptManagerHelper.RegisterClientScriptInclude(this, typeof(HMSCalendar), "common.js", this.GetResourceUrl("Common.js")); ScriptManagerHelper.RegisterClientScriptInclude(this, typeof(HMSNavigator), "navigator.js", this.GetResourceUrl("Navigator.js")); if (!string.IsNullOrEmpty(this.BoundHMSID) && !string.IsNullOrEmpty(this.BoundHMSClientObjectName)) { throw new ArgumentException("You can specify either BoundHMSID or BoundHMSClientObjectName but not both."); } if (!string.IsNullOrEmpty(this.BoundHMSID)) { this.boundCalendar = this.findCalendar(this.BoundHMSID); } base.OnLoad(e); }
public ActionResult CallBack(Controller c) { Controller = c; // init UpdateType = CallBackUpdateType.None; // read request JsonData input = SimpleJsonDeserializer.Deserialize(c.Request.InputStream); String action = (string)input["action"]; JsonData parameters = input["parameters"]; JsonData header = input["header"]; JsonData data = input["data"]; // custom data Version.Check((string)header["v"]); StartDate = (DateTime)header["startDate"]; WeekStarts = WeekStartsParser.FromIntJavaScript((int)header["weekStarts"]); HeaderBackColor = (string)header["headerBackColor"]; BackColor = (string)header["backColor"]; NonBusinessBackColor = (string)header["nonBusinessBackColor"]; Id = (string)header["id"]; OnPrepare(); switch (action) { case "EventMove": OnEventMove(EventMoveArgs.FromJson(parameters, new string[] {}, data)); break; case "EventResize": OnEventResize(EventResizeArgs.FromJson(parameters, new string[] {}, data)); break; case "EventClick": OnEventClick(EventClickArgs.FromJson(parameters, new string[] {}, data)); break; case "TimeRangeSelected": OnTimeRangeSelected(TimeRangeSelectedArgs.FromJson(parameters, data)); break; case "Command": OnCommand(CommandArgs.FromJson(parameters, data)); break; case "Init": OnInit(new InitArgs()); break; } OnFinish(); LoadEvents(); Hashtable result = new Hashtable(); result["UpdateType"] = UpdateType.ToString(); if (_callbackRedirect != null) { result["CallBackRedirect"] = _callbackRedirect; return(new JsonResult { Data = result }); } if (UpdateType == CallBackUpdateType.None) { return(new JsonResult { Data = result }); } result["Events"] = GetEvents(); result["CallBackData"] = _callbackData; if (UpdateType == CallBackUpdateType.Full) { result["StartDate"] = StartDate.ToString("s"); result["WeekStarts"] = Week.ResolveAsInt(WeekStarts); result["HeaderBackColor"] = HeaderBackColor; result["BackColor"] = BackColor; result["NonBusinessBackColor"] = NonBusinessBackColor; } JsonResult json = new JsonResult(); json.Data = result; return(json); }
public static IHtmlString Menu(this HtmlHelper helper) { string action = helper.ViewContext.Controller.ValueProvider.GetValue("action").RawValue.ToString(); string controller = helper.ViewContext.Controller.ValueProvider.GetValue("controller").RawValue.ToString(); if (controller == "Home") { return(new HtmlString(String.Empty)); } StringBuilder sb = new StringBuilder(); string config = HostingEnvironment.MapPath("~/Views/" + controller + "/Navigation.json"); JsonData data = SimpleJsonDeserializer.Deserialize(File.ReadAllText(config)); for (int i = 0; i < data.Count; i++) { JsonData tab = data[i]; String url = (string)tab["url"]; String title = (string)tab["title"]; bool pro = tab["pro"] != null && (bool)tab["pro"]; bool isNew = tab["new"] != null && (bool)tab["new"]; if (String.IsNullOrEmpty(url)) { sb.Append("<div class='header'>"); sb.Append(title); sb.Append("</div>"); } else { sb.Append("<div><a href='"); UrlHelper u = new UrlHelper(helper.ViewContext.RequestContext); string printUrl = u.Action(url, controller, null); sb.Append(printUrl); if (url == "Index") { sb.Append("/"); } sb.Append("'"); if (action == url) { sb.Append(" class='selected'"); } sb.Append("><span>"); sb.Append(title); //sb.Append(" a:" + action); sb.Append("</span>"); if (pro) { sb.Append(" <span class='pro'>PRO</span>"); } if (isNew) { sb.Append(" <span class='new'>NEW</span>"); } sb.Append("</a></div>"); } } return(new HtmlString(sb.ToString())); }
public static IHtmlString Menu(this HtmlHelper helper) { StringBuilder sb = new StringBuilder(); HttpRequestBase request = helper.ViewContext.HttpContext.Request; string path = request.Path; // don't print menu on the front page) string fixedPath = request.Path.EndsWith("/") ? request.Path : request.Path + "/"; // fixes IIS vs. development server difference if (fixedPath.ToLower() == request.ApplicationPath.ToLower() + "/") { return(new HtmlString(String.Empty)); } string relative = path.Substring(request.ApplicationPath.Length); string dir = relative.Substring(1, relative.IndexOf('/', 1) - 1); string config = request.MapPath("~/Views/" + dir + "/Navigation.json"); string action = relative.Substring(1 + dir.Length + 1); if (String.IsNullOrEmpty(action)) { action = "/"; } JsonData data = SimpleJsonDeserializer.Deserialize(File.ReadAllText(config)); for (int i = 0; i < data.Count; i++) { JsonData tab = data[i]; String url = (string)tab["url"]; String title = (string)tab["title"]; if (String.IsNullOrEmpty(url)) { sb.Append("<div class='header'>"); sb.Append(title); sb.Append("</div>"); } else { sb.Append("<div><a href='"); if (url == "/") { sb.Append("./"); } else { sb.Append(url); } sb.Append("'"); if (action == url) { sb.Append(" class='selected'"); } sb.Append("><span>"); sb.Append(title); //sb.Append(" a:" + action); sb.Append("</span></a></div>"); } } return(new HtmlString(sb.ToString())); }
public ActionResult CallBack(Stream stream) { // init UpdateType = CallBackUpdateType.None; // read request JsonData input = SimpleJsonDeserializer.Deserialize(stream); var action = (string)input["action"]; JsonData parameters = input["parameters"]; JsonData header = input["header"]; JsonData data = input["data"]; // custom data Version.Check((string)header["v"]); Id = (string)header["id"]; StartDate = (DateTime)header["startDate"]; Days = (int)header["days"]; HeightSpec = HeightSpecParser.Parse((string)header["heightSpec"]); BusinessBeginsHour = (int)header["businessBeginsHour"]; BusinessEndsHour = (int)header["businessEndsHour"]; ViewType = ViewTypeParser.Parse((string)header["viewType"]); CellBackColor = (string)header["backColor"]; EventHeaderVisible = header["eventHeaderVisible"] != null && (bool)header["eventHeaderVisible"]; TimeFormat = TimeFormatParser.Parse((string)header["timeFormat"]); // required for custom hour header rendering HourNameBackColor = (string)header["hourNameBackColor"]; HourFontFamily = (string)header["hourFontFamily"]; HourFontSize = (string)header["hourFontSize"]; HourFontColor = (string)header["hourFontColor"]; OnPrepare(); switch (action) { case "Command": OnCommand(CommandArgs.FromJson(parameters, data)); break; case "EventClick": OnEventClick(EventClickArgs.FromJson(parameters, data)); break; case "EventMove": OnEventMove(EventMoveArgs.FromJson(parameters, data)); break; case "EventResize": OnEventResize(EventResizeArgs.FromJson(parameters, data)); break; case "TimeRangeSelected": OnTimeRangeSelected(TimeRangeSelectedArgs.FromJson(parameters, data)); break; case "Init": OnInit(new InitArgs()); break; default: throw new Exception(String.Format("Unknown CallBack command '{0}'.", action)); } OnFinish(); LoadEvents(); LoadColumns(); var result = new Hashtable(); result["UpdateType"] = UpdateType.ToString(); if (_callbackRedirect != null) { result["CallBackRedirect"] = _callbackRedirect; return(new JsonResult { Data = result }); } if (UpdateType == CallBackUpdateType.None) { return(new JsonResult { Data = result }); } result["Events"] = GetEvents(); if (UpdateType == CallBackUpdateType.Full) { result["Days"] = Days; result["StartDate"] = StartDate.ToString("s"); result["ViewType"] = ViewType.ToString(); result["Columns"] = _columns; } return(new JsonResult { Data = result }); }