예제 #1
0
        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;
        }
예제 #2
0
        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;
        }