public ActionResult GetModuleSet() { using (DataWallContext db = new DataWallContext()) { var Cookies = SecurityHelper.DecryptDES(CookieHelper.GetCookieValue("Library"), db.SysProgramInfos.AsNoTracking().FirstOrDefault().CookieSecretKey); if (Cookies != null & Cookies != "") { SysLibrary Library = JsonConvert.DeserializeObject <SysLibrary>(Cookies); var Module = db.SysThemeSets.Where(m => m.SysLibraryId == Library.ID).Select(m => new { m.SysSeting, m.SysStyle }).FirstOrDefault(); if (Module != null) { return(Json(new { code = "200", data = Module }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { code = "202", msg = "没有数据" }, JsonRequestBehavior.AllowGet)); } } else { return(Json(new { code = 202, msg = "验证失败" }, JsonRequestBehavior.AllowGet)); } } }
public ActionResult EditEnable(int id, int enable) { try { using (DataWallContext db = new DataWallContext()) { SysLibrary sysLibrary = new SysLibrary() { ID = id, IsEnable = enable, EditTime = DateTime.Now }; db.Entry(sysLibrary).State = EntityState.Modified; //不更新的字段 db.Entry(sysLibrary).Property(x => x.LibraryName).IsModified = false; db.Entry(sysLibrary).Property(x => x.LibraryDescribe).IsModified = false; db.Entry(sysLibrary).Property(x => x.Type).IsModified = false; db.Entry(sysLibrary).Property(x => x.City).IsModified = false; db.Entry(sysLibrary).Property(x => x.LibraryCode).IsModified = false; db.Entry(sysLibrary).Property(x => x.CrateTime).IsModified = false; db.Entry(sysLibrary).Property(x => x.DelState).IsModified = false; db.SaveChanges(); Lg.AddLog("修改场馆状态", "Library", 2, GetUserName()); return(Json(new { code = "200", msg = "修改成功!" })); } } catch (Exception ex) { LogHelper.ErrorLog("场馆状态修改失败:" + ex.Message); return(Json(new { code = "201", msg = "修改失败,请重试或联/系管理员!" })); } }
public void Import(string libPath) { #if DEBUG ColorConsoleMethods.WriteLineColor($"Importing: \"{libPath}\"", ConsoleColor.Magenta); #endif InterpreterState state = this; SysLibrary[] libs = SysLibrary.GetAllLibraries(); if (libs.Any(l => l.GetName() == libPath)) { libs.First(l => l.GetName() == libPath).Import(ref state); return; } if (!libPath.EndsWith(".7slib")) { libPath += ".7slib"; } if (!File.Exists(libPath)) { throw new InterpreterException($"Could not find library \"{libPath}\""); } _7sLibrary lib = _7sLibManager.Load(libPath); UserFunction[] funcs = new Interpreter().GetFuncsFromCode(lib.Content, ref state); foreach (UserFunction f in funcs) { UserFuncs.Add(f); } }
/// <summary> /// 修改场馆 /// </summary> /// <param name="id">场馆ID</param> /// <returns></returns> public ActionResult LibraryEdit(int id) { using (DataWallContext db = new DataWallContext()) { ViewData["datalist"] = db.SysLibrarys.Where(l => l.IsEnable == 0 & l.DelState == 0 & l.Type == 0).AsNoTracking().ToList(); SysLibrary sysLibrary = db.SysLibrarys.Find(id); return(View(sysLibrary)); } }
public ActionResult DelLibrary(int id, int page) { try { using (DataWallContext db = new DataWallContext()) { SysLibrary sysLibrary = new SysLibrary() { ID = id, DelState = 1, EditTime = DateTime.Now }; db.Entry(sysLibrary).State = EntityState.Modified; //不更新的字段 db.Entry(sysLibrary).Property(x => x.LibraryName).IsModified = false; db.Entry(sysLibrary).Property(x => x.LibraryDescribe).IsModified = false; db.Entry(sysLibrary).Property(x => x.Type).IsModified = false; db.Entry(sysLibrary).Property(x => x.City).IsModified = false; db.Entry(sysLibrary).Property(x => x.LibraryCode).IsModified = false; db.Entry(sysLibrary).Property(x => x.CrateTime).IsModified = false; db.Entry(sysLibrary).Property(x => x.IsEnable).IsModified = false; db.SaveChanges(); int npage = 0; int Count = db.SysLibrarys.Where(u => u.DelState == 0).AsNoTracking().Count(); double MaxPage = Convert.ToDouble(Convert.ToDouble(Count + 10) / Convert.ToDouble(10)); if (MaxPage > page) { npage = page; } else { if (Count <= 10) { npage = 1; } else { npage = page - 1; } } Lg.AddLog("删除场馆", "Library", 3, GetUserName()); return(Json(new { code = "200", page = npage, msg = "删除成功!" })); } } catch (Exception ex) { LogHelper.ErrorLog("场馆删除失败:" + ex.Message); return(Json(new { code = "201", msg = "删除失败,请重试或联/系管理员!" })); } }
/// <summary> /// 获取内容 /// </summary> /// <returns></returns> public ActionResult Content(int Type) { try { using (DataWallContext db = new DataWallContext()) { var Cookies = SecurityHelper.DecryptDES(CookieHelper.GetCookieValue("Library"), db.SysProgramInfos.AsNoTracking().FirstOrDefault().CookieSecretKey); if (Cookies != null & Cookies != "") { SysLibrary Library = JsonConvert.DeserializeObject <SysLibrary>(Cookies); var Content = db.SysContents.Include("SysFiles").AsNoTracking().Where(c => c.SysLibraryId == Library.ID & c.Type == Type & c.IsEnable == 0 & c.DelState == 0).Select(c => new { c.ID, c.Title, c.ContentDescribe, c.Type, c.Sort, c.EditTime, c.SysFiles }).OrderBy(c => c.Sort).ToList(); if (Content != null) { var data = JsonConvert.SerializeObject(Content.Select(c => new { c.ID, c.Title, c.ContentDescribe, c.Type, c.Sort, c.EditTime }).FirstOrDefault()); var files = JsonConvert.SerializeObject(Content.FirstOrDefault().SysFiles.Where(f => f.DelState == 0 && f.FilePath != null)); return(Json(new { code = 201, data = data, files = files }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { code = 202, msg = "没有数据" }, JsonRequestBehavior.AllowGet)); } } else { return(Json(new { code = 202, msg = "验证失败" }, JsonRequestBehavior.AllowGet)); } } } catch (Exception ex) { LogHelper.ErrorLog(ex.Message); return(Json(new { code = 202, msg = "服务器错误" }, JsonRequestBehavior.AllowGet)); } }
/// <summary> /// 获取新书推荐 /// </summary> /// <returns></returns> public ActionResult NewBook() { try { using (DataWallContext db = new DataWallContext()) { //消除序列化类型的对象时检测到循环引用问题 db.Configuration.ProxyCreationEnabled = false; var Cookies = SecurityHelper.DecryptDES(CookieHelper.GetCookieValue("Library"), db.SysProgramInfos.AsNoTracking().FirstOrDefault().CookieSecretKey); if (Cookies != null & Cookies != "") { SysLibrary Library = JsonConvert.DeserializeObject <SysLibrary>(Cookies); var NewBook = db.SysNewBooks.Where(n => n.SysLibraryId == Library.ID).ToList(); return(Json(new { code = 201, data = NewBook }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { code = 202, msg = "验证失败" }, JsonRequestBehavior.AllowGet)); } } } catch (Exception ex) { LogHelper.ErrorLog(ex.Message); return(Json(new { code = 202, msg = "服务器错误" }, JsonRequestBehavior.AllowGet)); } }
/// <summary> /// 检查场馆是否存在 /// </summary> /// <param name="Action">方法</param> /// <param name="Id">新增时为0</param> /// <param name="LibraryName">场馆名</param> /// <returns></returns> public bool Check(string Action, int Id, string LibraryName) { using (DataWallContext db = new DataWallContext()) { if (Action == "LibraryEdit") { if (db.SysLibrarys.Where(u => u.LibraryName == DbFunctions.AsNonUnicode(LibraryName)).AsNoTracking().Count() >= 1) { //AsNoTracking将Hold住的对象释放掉 SysLibrary Library = db.SysLibrarys.AsNoTracking().FirstOrDefault(u => u.ID == Id); if (Library.LibraryName == LibraryName) { return(true); } else { return(false); } } else { return(true); } } else { if (db.SysLibrarys.Where(u => u.LibraryName == LibraryName).AsNoTracking().Count() > 0) { return(false); } else { return(true); } } } }
public ActionResult LibraryAdd(FormCollection Library) { try { if (Check("LibraryAdd", 0, Library["LibraryName"])) { using (DataWallContext db = new DataWallContext()) { int Type = int.Parse(Library["Type"]); SysProgramInfo sysProgramInfo = db.SysProgramInfos.AsNoTracking().FirstOrDefault(); List <SysLibrary> sysLibraryList = db.SysLibrarys.AsNoTracking().Where(s => s.DelState == 0).ToList(); switch (Type) { case 0: if (sysLibraryList.Where(s => s.Type == 0).Count() >= sysProgramInfo.MasterNum) { return(Json(new { code = "202", msg = "总馆数量已达上限" })); } break; case 1: if (sysLibraryList.Where(s => s.Type == 1).Count() >= sysProgramInfo.BranchNum) { return(Json(new { code = "202", msg = "分馆数量已达上限" })); } break; } //场馆 int FatherLibraryId = 0; if (Type == 0) { FatherLibraryId = 0; } else { if (Library["FatherLibraryId"] == null) { return(Json(new { code = "201", msg = "请选择上级场馆" })); } FatherLibraryId = int.Parse(Library["FatherLibraryId"]); } string LibraryName = Library["LibraryName"]; string LibraryCode = PingYinHelper.GetFirstSpell(Library["LibraryName"]) + DateTime.Now.Millisecond; SysLibrary sysLibrary = new SysLibrary() { City = "上海", LibraryName = LibraryName, FatherLibraryId = FatherLibraryId, LibraryDescribe = HttpUtility.UrlDecode(Library["Describe"]).Replace("'", "‘"), Type = Type, LibraryCode = LibraryCode, CrateTime = DateTime.Now, EditTime = DateTime.Now, IsEnable = 0, DelState = 0 }; db.SysLibrarys.Add(sysLibrary); //添加 db.SaveChanges(); //添加管理员为管理用户 int SysLibraryId = sysLibrary.ID; List <SysLibraryUser> sysLibraryUsers = new List <SysLibraryUser> { new SysLibraryUser { SysUserID = 1, SysLibraryId = SysLibraryId } }; sysLibraryUsers.ForEach(s => db.SysLibraryUsers.Add(s)); //添加 db.SaveChanges(); Lg.AddLog("添加场馆", "Library", 1, GetUserName()); return(Json(new { code = "200", msg = "添加成功!" })); } } else { return(Json(new { code = "202", msg = "场馆已存在!" })); } } catch (Exception ex) { if (Library.Count > 0) { LogHelper.ErrorLog("场馆添加失败:" + ex.Message); } return(Json(new { code = "201", msg = "添加失败,请重试或联系管理员!" })); } }
public ActionResult DelLibraryAll(string idList, int page) { try { using (DataWallContext db = new DataWallContext()) { //获取待删除场馆id集 string[] sArray = idList.Split(','); int[] IdList = new int[sArray.Length]; for (int i = 0; i < sArray.Length; i++) { IdList[i] = Int32.Parse(sArray[i]); } for (int i = 0; i < IdList.Length; i++) { int id = IdList[i]; SysLibrary sysLibrary = new SysLibrary() { ID = id, DelState = 1, EditTime = DateTime.Now }; db.Entry(sysLibrary).State = EntityState.Modified; //不更新的字段 db.Entry(sysLibrary).Property(x => x.LibraryName).IsModified = false; db.Entry(sysLibrary).Property(x => x.LibraryDescribe).IsModified = false; db.Entry(sysLibrary).Property(x => x.Type).IsModified = false; db.Entry(sysLibrary).Property(x => x.City).IsModified = false; db.Entry(sysLibrary).Property(x => x.LibraryCode).IsModified = false; db.Entry(sysLibrary).Property(x => x.CrateTime).IsModified = false; db.Entry(sysLibrary).Property(x => x.IsEnable).IsModified = false; db.SaveChanges(); } int npage = 0; int Count = db.SysLibrarys.Where(u => u.DelState == 0).AsNoTracking().Count(); double MaxPage = Convert.ToDouble(Convert.ToDouble(Count + 10) / Convert.ToDouble(10)); if (MaxPage > page) { npage = page; } else { if (Count <= 10) { npage = 1; } else { if ((Count % 10) <= page) { npage = page - 1; } } } Lg.AddLog("删除场馆", "User", 3, GetUserName()); return(Json(new { code = "200", page = npage, msg = "删除成功!" })); } } catch (Exception ex) { LogHelper.ErrorLog("场馆删除失败:" + ex.Message); return(Json(new { code = "201", msg = "删除失败,请重试或联/系管理员!" })); } }
public ActionResult LibraryEdit(FormCollection Library) { try { if (Check("LibraryEdit", int.Parse(Library["ID"]), Library["LibraryName"])) { using (DataWallContext db = new DataWallContext()) { int LbraryId = int.Parse(Library["ID"]); int Type = int.Parse(Library["Type"]); SysProgramInfo sysProgramInfo = db.SysProgramInfos.AsNoTracking().FirstOrDefault(); List <SysLibrary> sysLibraryList = db.SysLibrarys.AsNoTracking().Where(s => s.DelState == 0).ToList(); switch (Type) { case 0: if (sysLibraryList.Where(s => s.Type == 0).Count() >= sysProgramInfo.MasterNum) { if (sysLibraryList.Where(s => s.Type == 0 & s.ID == LbraryId & s.DelState == 0).Count() < 1) { return(Json(new { code = "202", msg = "总馆数量已达上限" })); } } break; case 1: if (sysLibraryList.Where(s => s.Type == 1).Count() >= sysProgramInfo.BranchNum) { if (sysLibraryList.Where(s => s.Type == 1 & s.ID == LbraryId & s.DelState == 0).Count() < 1) { return(Json(new { code = "202", msg = "分馆数量已达上限" })); } } break; } //场馆 int FatherLibraryId = 0; if (Type == 0) { FatherLibraryId = 0; } else { if (Library["FatherLibraryId"] == null) { return(Json(new { code = "201", msg = "请选择上级场馆" })); } FatherLibraryId = int.Parse(Library["FatherLibraryId"]); if (int.Parse(Library["ID"]) == FatherLibraryId) { return(Json(new { code = "202", msg = "不可以选择自身为上级场馆" })); } } string LibraryName = Library["LibraryName"]; string LibraryCode = PingYinHelper.GetFirstSpell(Library["LibraryName"]) + DateTime.Now.Millisecond; SysLibrary sysLibrary = new SysLibrary() { ID = LbraryId, LibraryName = Library["LibraryName"], LibraryDescribe = HttpUtility.UrlDecode(Library["Describe"]).Replace("'", "‘"), FatherLibraryId = FatherLibraryId, Type = int.Parse(Library["Type"]), EditTime = DateTime.Now }; db.Entry(sysLibrary).State = EntityState.Modified; //不更新的字段 db.Entry(sysLibrary).Property(x => x.City).IsModified = false; db.Entry(sysLibrary).Property(x => x.LibraryCode).IsModified = false; db.Entry(sysLibrary).Property(x => x.CrateTime).IsModified = false; db.Entry(sysLibrary).Property(x => x.IsEnable).IsModified = false; db.Entry(sysLibrary).Property(x => x.DelState).IsModified = false; db.SaveChanges(); Lg.AddLog("修改场馆", "Library", 2, GetUserName()); return(Json(new { code = "200", msg = "修改成功!" })); } } else { return(Json(new { code = "202", msg = "场馆已存在!" })); } } catch (Exception ex) { if (Library.Count > 0) { LogHelper.ErrorLog("场馆修改失败:" + ex.Message); } return(Json(new { code = "201", msg = "修改失败,请重试或联系管理员!" })); } }
/// <summary> /// 前台首页 /// </summary> /// <param name=""></param> /// <returns></returns> public ActionResult Index(string LibraryCode) { using (DataWallContext db = new DataWallContext()) { string CookieKey = db.SysProgramInfos.AsNoTracking().FirstOrDefault().CookieSecretKey; if (!CheckAuthorization()) { MsgInfo msg = new MsgInfo { Title = "授权过期", Content = "请购买正式版,或联系相关负责人延长试用期" }; return(RedirectToAction("Error", "Error", new { Msg = SecurityHelper.EncryptDES(JsonConvert.SerializeObject(msg), CookieKey) })); } else { string Code = SecurityHelper.DecryptDES(LibraryCode, CookieKey); SysLibrary sysLibrary = db.SysLibrarys.Where(l => l.LibraryCode == Code).FirstOrDefault(); if (sysLibrary != null) { if (db.SysThemeSets.Where(s => s.SysLibraryId == sysLibrary.ID).FirstOrDefault() != null) { if (sysLibrary.DelState == 1) { MsgInfo msg = new MsgInfo { Title = "场馆已删除", Content = "该场馆已删除,请联系系统管理员" }; return(RedirectToAction("Error", "Error", new { Msg = SecurityHelper.EncryptDES(JsonConvert.SerializeObject(msg), CookieKey) })); } if (sysLibrary.IsEnable == 1) { MsgInfo msg = new MsgInfo { Title = "场馆已禁用", Content = "该场馆已禁用,请联系系统管理员" }; return(RedirectToAction("Error", "Error", new { Msg = SecurityHelper.EncryptDES(JsonConvert.SerializeObject(msg), CookieKey) })); } ViewBag.Title = sysLibrary.LibraryName; CookieHelper.SetCookie("Library", SecurityHelper.EncryptDES(JsonConvert.SerializeObject(sysLibrary), CookieKey), DateTime.Now.AddYears(1)); } else { MsgInfo msg = new MsgInfo { Title = "当前场馆未设置主题", Content = "请到管理后台为当前场馆配置主题内容" }; return(RedirectToAction("Error", "Error", new { Msg = SecurityHelper.EncryptDES(JsonConvert.SerializeObject(msg), CookieKey) })); } } else { MsgInfo msg = new MsgInfo { Title = "验证失败", Content = "请检查当前访问链接是否正确" }; return(RedirectToAction("Error", "Error", new { Msg = SecurityHelper.EncryptDES(JsonConvert.SerializeObject(msg), CookieKey) })); } return(View()); } } }
/// <summary> /// 获取客流数据 /// </summary> /// <returns></returns> public ActionResult CustData() { try { using (DataWallContext db = new DataWallContext()) { var Cookies = SecurityHelper.DecryptDES(CookieHelper.GetCookieValue("Library"), db.SysProgramInfos.AsNoTracking().FirstOrDefault().CookieSecretKey); if (Cookies != null) { SysLibrary Library = JsonConvert.DeserializeObject <SysLibrary>(Cookies); List <SysCustDevice> SysCustDevices = db.SysCustDevices.Where(u => u.DelState == 0).AsNoTracking().ToList(); var query = from a in db.SysCustDevices join b in db.SysCustDatas on a.ID equals b.SysCustDeviceId where a.SysLibraryId == Library.ID select b; //额外数据 var AdditionalData = from a in db.SysAdditionalDatas where a.SysLibraryId == Library.ID & a.IsEnable == 0 & a.Type == 0 select a; int AllNumEw = 0; int LastMonthNumEw = 0; int YesterdayNumEw = 0; int ThisMonthNumEw = 0; int TodayNumEw = 0; if (AdditionalData != null) { AllNumEw = AdditionalData.Sum(d => (int?)d.PeopleNum) ?? 0; LastMonthNumEw = AdditionalData.Where(s => DbFunctions.DiffMonths(s.DataDatetime, DateTime.Now) == -1).Sum(d => (int?)d.PeopleNum) ?? 0; YesterdayNumEw = AdditionalData.Where(s => DbFunctions.DiffMonths(s.DataDatetime, DateTime.Now) == 0).Sum(d => (int?)d.PeopleNum) ?? 0; ThisMonthNumEw = AdditionalData.Where(s => DbFunctions.DiffDays(s.DataDatetime, DateTime.Now) == -1).Sum(d => (int?)d.PeopleNum) ?? 0; TodayNumEw = AdditionalData.Where(s => DbFunctions.DiffDays(s.DataDatetime, DateTime.Now) == 0).Sum(d => (int?)d.PeopleNum) ?? 0; } var AllNum = (query.Sum(d => (decimal?)d.D_InNum) ?? 0) + AllNumEw; var LastMonthNum = (query.Where(d => DbFunctions.DiffMonths(d.D_Date, DateTime.Now) == -1).Sum(d => (decimal?)d.D_InNum) ?? 0) + LastMonthNumEw; var ThisMonthNum = (query.Where(d => DbFunctions.DiffMonths(d.D_Date, DateTime.Now) == 0).Sum(d => (decimal?)d.D_InNum) ?? 0) + YesterdayNumEw; var YesterdayNum = (query.Where(d => DbFunctions.DiffDays(d.D_Date, DateTime.Now) == -1).Sum(d => (decimal?)d.D_InNum) ?? 0) + ThisMonthNumEw; var TodayNum = (query.Where(d => DbFunctions.DiffDays(d.D_Date, DateTime.Now) == 0).Sum(d => (decimal?)d.D_InNum) ?? 0) + TodayNumEw; return(Json(new { code = 201, AllNum = AllNum, LastMonthNum = LastMonthNum, ThisMonthNum = ThisMonthNum, YesterdayNum = YesterdayNum, TodayNum }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { code = 202, msg = "验证失败" }, JsonRequestBehavior.AllowGet)); } } } catch (Exception ex) { LogHelper.ErrorLog(ex.Message); return(Json(new { code = 202, msg = "服务器错误" }, JsonRequestBehavior.AllowGet)); } }