public static string SavePage(string mInfo, string loginUserInfo,int pageState) { string returnStr = ""; JObject objInfo = JObject.Parse(mInfo); JObject objUser = JObject.Parse(loginUserInfo); try { using (venuesEntities db = new venuesEntities()) { int templateID = int.Parse(objInfo["TemplateID"].ToString()); int venueID = int.Parse(objInfo["VenueID"].ToString()); //如果该场所已有该免费模板生成的免费首页,则先删除,然后重新生成 if (templateID == KeyManager.HomePage_Default_Template ) { //string esql = ""; ObjectQuery<tbl_page> tva = db.tbl_page.Where("it.TemplateID==@v AND it.VenueID==@u AND it.PageName==@y", new ObjectParameter("v", templateID), new ObjectParameter("u", venueID), new ObjectParameter("y", objInfo["PageName"].ToString())); // ObjectQuery<tbl_page> tva = db.CreateQuery<tbl_page>(esql); ObjectResult<tbl_page> results = tva.Execute(MergeOption.NoTracking); foreach (tbl_page item in results) { db.AttachTo("tbl_page", item); db.DeleteObject(item); }; if (db.SaveChanges() != 0) returnStr = "成功!"; else returnStr = "不成功!"; } int curNewSeq = GetMaxSequence(); tbl_page tbt = new tbl_page(); tbt.PageDescription = objInfo["PageDescription"].ToString(); tbt.PageCreateTime = DateTime.Now; tbt.PageModifyTime = DateTime.Now; tbt.PageName = objInfo["PageName"].ToString(); tbt.PagePublish = KeyManager.PagePublish_Not; tbt.PageState = pageState; tbt.TemplateID = int.Parse(objInfo["TemplateID"].ToString()); tbt.VenueID = int.Parse(objInfo["VenueID"].ToString()); //tbt.VenueID = int.Parse(objUser["curUserID"].ToString()); //tbt.UserVenueTypeID = objUser["UserTypeParentId"].ToString(); tbt.PageTypeID =int.Parse(objInfo["PageTypeID"].ToString()); tbt.Sequence = curNewSeq + 1; string pageContentInfo = objInfo["pageContentInfo"].ToString(); string moduleInfo = objInfo["pageModuleAttributeInfo"].ToString(); db.AddTotbl_page(tbt); if (db.SaveChanges() != 0) { string strSql = "SELECT MAX(s.ID) as max FROM tbl_page AS s"; int newPageID = 0; ObjectQuery<DbDataRecord> resultm = db.CreateQuery<DbDataRecord>(strSql); foreach (var item in resultm) { newPageID = int.Parse(item["max"].ToString()); } if (pageContentInfo != "[]") { returnStr = KeyManager.RetrunSucceed; JArray arrPageContent = JArray.Parse(objInfo["pageContentInfo"].ToString()); foreach (JObject objPageContent in arrPageContent) { returnStr = PageContentManager.SavePageContent(newPageID, templateID, objPageContent.ToString(), loginUserInfo); } } if (moduleInfo != "[]") { returnStr = KeyManager.RetrunSucceed; JArray arrModules = JArray.Parse(objInfo["pageModuleAttributeInfo"].ToString()); foreach (JObject objModule in arrModules) { returnStr = PageModuleAttributeManager.AddPageModuleAttribute(objModule.ToString(), loginUserInfo, newPageID, templateID); } } returnStr = KeyManager.RetrunSucceed; } else { returnStr = KeyManager.RetrunUnSucceed; } } } catch (Exception e) { returnStr = e.Message; LogManager.addLog(KeyManager.LogTypeId_Error, KeyManager.MENUS.Menu_PagesManager, "新增页面,mInfo=" + mInfo + ";错误信息:" + e.Message, loginUserInfo); } return returnStr; }
public static string CopyPage(string mInfo, string loginUserInfo) { string returnStr = ""; JObject objInfo = JObject.Parse(mInfo); JObject objUser = JObject.Parse(loginUserInfo); try { using (venuesEntities db = new venuesEntities()) { int curNewSeq = GetMaxSequence(); tbl_page tbt = new tbl_page(); tbt.PageDescription = objInfo["PageDescription"].ToString(); tbt.PageCreateTime = DateTime.Now; tbt.PageModifyTime = DateTime.Now; tbt.PageName = objInfo["PageName"].ToString(); tbt.PagePublish = KeyManager.PagePublish_Not; tbt.PageState = KeyManager.PageStatu_SubmitID; tbt.TemplateID = int.Parse(objInfo["TemplateID"].ToString()); int templateID = int.Parse(objInfo["TemplateID"].ToString()); tbt.VenueID = int.Parse(objUser["curUserID"].ToString()); tbt.PageTypeID = int.Parse(objInfo["PageTypeID"].ToString()); tbt.Sequence = curNewSeq + 1; string pageContentInfo = objInfo["pageContentInfo"].ToString(); string moduleInfo = objInfo["pageModuleAttributeInfo"].ToString(); db.AddTotbl_page(tbt); if (db.SaveChanges() != 0) { string strSql = "SELECT MAX(s.ID) as max FROM tbl_page AS s"; int newPageID = 0; ObjectQuery<DbDataRecord> resultm = db.CreateQuery<DbDataRecord>(strSql); foreach (var item in resultm) { newPageID = int.Parse(item["max"].ToString()); } if (pageContentInfo != "[]") { returnStr = KeyManager.RetrunSucceed; JArray arrPageContent = JArray.Parse(objInfo["pageContentInfo"].ToString()); foreach (JObject objPageContent in arrPageContent) { returnStr = PageContentManager.SavePageContent(newPageID, templateID, objPageContent.ToString(), loginUserInfo); } } if (moduleInfo != "[]") { returnStr = KeyManager.RetrunSucceed; JArray arrModules = JArray.Parse(objInfo["pageModuleAttributeInfo"].ToString()); foreach (JObject objModule in arrModules) { returnStr = PageModuleAttributeManager.AddPageModuleAttribute(objModule.ToString(), loginUserInfo, newPageID, templateID); } } returnStr = KeyManager.RetrunSucceed; } else { returnStr = KeyManager.RetrunUnSucceed; } } } catch (Exception e) { returnStr = e.Message; LogManager.addLog(KeyManager.LogTypeId_Error, KeyManager.MENUS.Menu_PagesManager, "新增页面,mInfo=" + mInfo + ";错误信息:" + e.Message, loginUserInfo); } return returnStr; }