public static MenuResult ReadLastLog() { try { using (var db = DbFactory.OpenDbConnection()) { string sql = @"SELECT Content FROM MpMenuLog ORDER BY CreateOn DESC LIMIT 1"; var jsonLog = db.Scalar <string>(sql); if (!string.IsNullOrEmpty(jsonLog)) { var result = new MenuResult { menu = JsonConvert.DeserializeObject <YchButtonGroup>(jsonLog) }; foreach (var button in result.menu.button) { if (button.sub_button != null && button.sub_button.Count > 0) { button.sub_button.Reverse(); } } return(result); } return(null); } } catch (Exception e) { LogHandler.Error(e); return(null); } }
public bool SaveMenuData() { var data = GetMenuData(); if (data == null) { return(false); } var buttonList = data.selfmenu_info.button; MenuResult result = new MenuResult { menu = new YchButtonGroup() }; foreach (var item in buttonList) { var btn = new Button() { name = item.name }; if (item.sub_button?.list != null && item.sub_button?.list.Count > 0) { btn.sub_button = new List <Button>(); foreach (var sItem in item.sub_button.list) { var sbtn = ChangeButton(sItem); btn.sub_button.Add(sbtn); } btn.sub_button.Reverse(); } else { btn = ChangeButton(item); } result.menu.button.Add(btn); } string jonLog = JsonConvert.SerializeObject(result.menu, new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore, DefaultValueHandling = DefaultValueHandling.Ignore }); MpMenuLogBll.WriteLog(jonLog, "system"); return(true); }