예제 #1
0
        public IActionResult Import_Submit()
        {
            var file = Request.Form.Files["file_up"];

            if (file == null)
            {
                return(WriteErr("未指定文件"));
            }
            if (file.Length < 100)
            {
                return(WriteErr("文件为空"));
            }
            string ext = Path.GetExtension(file.FileName).ToLower();

            if (ext != ".xlsx")
            {
                return(WriteErr("只允许上传xlsx文件"));
            }
            //-------------------------
            DataTable   excelDT = Import_Logical.Excel_ToDT(XMLPath, file.OpenReadStream());
            B_CodeModel codeBll = new B_CodeModel(excelDT.TableName);
            DataTable   modelDT = codeBll.SelStruct();

            //将数据直接写入数据库,或将其转换为模型再写入
            foreach (DataRow dr in excelDT.Rows)
            {
                //将第一列作为主键忽略掉
                codeBll.Insert(dr, modelDT.Columns[0].ColumnName);
            }
            return(WriteOK("数据导入完成"));
        }
예제 #2
0
        /// <summary>
        /// 将指定节点文章拷到一个新节点下(将旧的也转换为此)
        /// </summary>
        /// <param name="nodeDT">需要拷贝的节点信息</param>
        /// <param name="pnode">父节点信息</param>
        /// <param name="mu">用户信息</param>
        private void CopyNodeAndContent(DataTable nodeDT, M_Node pnode)
        {
            if (pnode.CUser < 1)
            {
                throw new Exception("未指定用户ID");
            }
            if (string.IsNullOrEmpty(pnode.CUName))
            {
                throw new Exception("未指定用户名称");
            }
            B_Node      nodeBll = new B_Node();
            B_CodeModel conBll  = new B_CodeModel("ZL_CommonModel");
            B_CodeModel artBll  = new B_CodeModel("ZL_C_Article");

            foreach (DataRow nodedr in nodeDT.Rows)
            {
                M_Node cnode = new M_Node().GetModelFromReader(nodedr);//当前循环的写入数据库的节点
                cnode.ParentID   = pnode.NodeID;
                cnode.CUser      = pnode.CUser;
                cnode.CUName     = pnode.CUName;
                cnode.NodeBySite = pnode.NodeBySite;
                cnode.CDate      = DateTime.Now;
                cnode.NodeID     = nodeBll.Insert(cnode);
                //拷贝相应的文章进入该节点
                DataTable conDT = DBCenter.Sel("ZL_CommonModel", "NodeID=" + nodedr["NodeID"]);
                DataTable artDT = DBCenter.Sel("ZL_C_Article", "ID IN (SELECT ItemID FROM ZL_CommonModel WHERE NodeID=" + nodedr["NodeID"] + ")");
                if (artDT.Columns.Contains("ppics"))
                {
                    artDT.Columns.Remove("ppics");
                }
                if (artDT.Columns.Contains("tpic"))
                {
                    artDT.Columns.Remove("tpic");
                }
                for (int i = 0; i < conDT.Rows.Count; i++)
                {
                    DataRow condr = conDT.Rows[i];
                    condr["CreateTime"] = DateTime.Now;
                    condr["UPDateTime"] = DateTime.Now;
                    condr["Inputer"]    = pnode.CUName;
                    condr["NodeID"]     = cnode.NodeID;
                    int itemID = Convert.ToInt32(condr["ItemID"]);
                    if (artDT.Select("ID='" + itemID + "'").Length > 0)
                    {
                        //其中可能包含没有的字段,需要一个方法,将其导入(根据站站迁移扩展)
                        DataRow artdr = artDT.Select("ID='" + itemID + "'")[0];
                        itemID = artBll.Insert(artdr);
                    }
                    else
                    {
                        itemID = 0;
                    }
                    condr["ItemID"] = itemID;
                    conBll.Insert(condr, "GeneralID");
                }
            }
        }
예제 #3
0
 public string wxqrcode(int refereeType, string refereeId, string key)
 {
     try
     {
         if (string.IsNullOrEmpty(key))
         {
             retMod.retmsg = "未指定key";
         }
         else if (!key.Equals(APIKey))
         {
             retMod.retmsg = "key不正确";
         }
         else
         {
             int            scenceid = 0;
             B_CodeModel    codeBll  = new B_CodeModel("ZL_SSW_WXQRCode");
             SqlParameter[] sp       = new SqlParameter[] { new SqlParameter("refereeId", refereeId) };
             DataTable      dt       = codeBll.SelByWhere("refereeType=" + refereeType + " AND refereeId=" + refereeId, "ID DESC", sp);
             if (dt.Rows.Count < 1)
             {
                 DataRow dr = dt.NewRow();
                 dr["refereeType"] = refereeType;
                 dr["refereeId"]   = refereeId;
                 scenceid          = codeBll.Insert(dr);
             }
             else
             {
                 scenceid = Convert.ToInt32(dt.Rows[0]["ID"]);
             }
             //--------------------------------------------------------------------------
             WxAPI   wxapi     = WxAPI.Code_Get();
             string  resultStr = APIHelper.GetWebResult("https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=" + wxapi.AccessToken + "&type=jsapi", "POST", "{\"expire_seconds\":604800,\"action_name\":\"QR_LIMIT_SCENE\",\"action_info\":{\"scene\":{\"scene_id\":" + scenceid + "}}}");
             JObject result    = (JObject)JsonConvert.DeserializeObject(resultStr);
             if (result["ticket"] == null)
             {
                 retMod.retmsg = resultStr; ZLLog.L("wxqrcode failed1:" + resultStr);
             }
             else
             {
                 retMod.result  = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=" + HttpUtility.UrlEncode(result["ticket"].ToString());
                 retMod.retcode = M_APIResult.Success;
             }
         }
     }
     catch (Exception ex)
     {
         retMod.retmsg = ex.Message;
         ZLLog.L("wxqrcode failed2:" + ex.Message);
     }
     return(retMod.ToString());
 }
예제 #4
0
    protected void Page_Load(object sender, EventArgs e)
    {
        M_AdminInfo adminMod = B_Admin.GetLogin();

        if (adminMod == null || adminMod.AdminId != 1)
        {
            throw new Exception("no access");
        }

        //---------------------181120
        if (false)
        {
            #region  初始化填充店铺数据
            B_Ex_Store stBll  = new B_Ex_Store();
            DataTable  userDT = DBCenter.Sel("ZL_User", "PageID>0");
            DBCenter.UpdateSQL(stBll.TbName, "cdate='" + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "',dpzt=99", "");
            foreach (DataRow user in userDT.Rows)
            {
                DataRow stDR = stBll.SelReturnModel(DataConvert.CLng(user["PageID"]));
                stDR["djid"] = Convert.ToInt32(user["UserID"]);
                stBll.UpdateById(stDR);
            }
            #endregion
        }
        if (true)
        {
            #region 内容迁移为移动编辑器
            B_CodeModel codeBll = new B_CodeModel("ZL_C_LSSQ");
            DataTable   dt      = codeBll.Sel();
            //jxtd  jxjl  cgal
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                DataRow dr = dt.Rows[i];
                dr["jxtd"] = UeditorToMB(DataConvert.CStr(dr["jxtd"]));
                dr["jxjl"] = UeditorToMB(DataConvert.CStr(dr["jxjl"]));
                dr["cgal"] = UeditorToMB(DataConvert.CStr(dr["cgal"]));
                codeBll.UpdateByID(dr);
            }
            #endregion
        }
        throw new Exception("操作完成");
    }
예제 #5
0
        //更新商品所用原料信息
        private void IsHaveMaterial(M_Product proMod)
        {
            B_Shop_Material matBll  = new B_Shop_Material();
            B_CodeModel     codeBll = new B_CodeModel("ZL_Shop_ProMaterial");

            try
            {
                DataTable dt = DBCenter.SelWithField(matBll.TbName, "ID");
                foreach (DataRow dr in dt.Rows)
                {
                    int id     = Convert.ToInt32(dr["ID"]);
                    int matnum = DataConvert.CLng(Request.Form["mat_" + id + "_num"]);
                    if (matnum < 0)
                    {
                        matnum = 0;
                    }
                    DataTable codeMod = codeBll.SelByWhere("ProID=" + proMod.ID + " AND MatID=" + id, "ID DESC");
                    if (codeMod.Rows.Count < 1)
                    {
                        codeMod.Rows.Add(codeMod.NewRow());
                    }
                    codeMod.Rows[0]["ProID"]  = proMod.ID;
                    codeMod.Rows[0]["MatID"]  = id;
                    codeMod.Rows[0]["MatNum"] = matnum;
                    codeMod.Rows[0]["Remind"] = "";
                    if (DataConvert.CLng(codeMod.Rows[0]["ID"]) > 0)
                    {
                        codeBll.UpdateByID(codeMod.Rows[0]);
                    }
                    else
                    {
                        codeBll.Insert(codeMod.Rows[0]);
                    }
                }
            }
            catch { }
        }
예제 #6
0
 //private M_WX_APPID initMod = new M_WX_APPID();
 public B_Ex_WXAPPID()
 {
     TbName  = "ZL_C_wechatpay";
     PK      = "ID";
     codeBll = new B_CodeModel(TbName);
 }
예제 #7
0
        public void ProcessRequest(HttpContext context)
        {
            M_UserInfo mu = buser.GetLogin();

            retMod.retcode = M_APIResult.Failed;
            if (mu.IsNull)
            {
                retMod.retmsg = "用户未登录"; RepToClient(retMod);
            }
            int siteID = DataConvert.CLng(Req("SiteID"));

            //retMod.callback = CallBack;//暂不开放JsonP
            try
            {
                switch (Action)
                {
                case "mb_list":
                    #region
                {
                    string    fields = "wxico,wxsize,wxbk,flag,wxlink,content,dbtype";
                    DataTable dt     = GetListDT();
                    foreach (DataRow dr in dt.Rows)
                    {
                        M_CommonData conMod = conBll.SelReturnModel(Convert.ToInt32(dr["id"]));
                        //if (!conMod.Inputer.Equals(mu.UserName)) { continue; }
                        List <SqlParameter> sp1 = GetSPByDR(dr, "title");
                        List <SqlParameter> sp2 = GetSPByDR(dr, fields);
                        DBCenter.UpdateSQL("ZL_CommonModel", GetSet(sp1), "GeneralID=" + conMod.GeneralID, sp1);
                        DBCenter.UpdateSQL("ZL_C_Article", GetSet(sp2), "ID=" + conMod.ItemID, sp2);
                    }
                    retMod.retcode = M_APIResult.Success;
                }
                    #endregion
                    break;

                case "mb_nav":
                {
                    DataTable dt = GetListDT();
                    foreach (DataRow dr in dt.Rows)
                    {
                        M_CommonData conMod = conBll.SelReturnModel(Convert.ToInt32(dr["id"]));
                        //if (!conMod.Inputer.Equals(mu.UserName)) { continue; }
                        List <SqlParameter> sp1 = new List <SqlParameter>()
                        {
                            new SqlParameter("title", dr["title"].ToString())
                        };
                        List <SqlParameter> sp2 = new List <SqlParameter>()
                        {
                            new SqlParameter("wxico", dr["wxico"].ToString())
                        };
                        DBCenter.UpdateSQL("ZL_CommonModel", "Title=@title", "GeneralID=" + conMod.GeneralID, sp1);
                        DBCenter.UpdateSQL("ZL_C_Article", "wxico=@wxico", "ID=" + conMod.ItemID, sp2);
                    }
                    retMod.retcode = M_APIResult.Success;
                }
                break;

                case "mg_footbar":
                {
                    DataTable dt = GetListDT();
                    foreach (DataRow dr in dt.Rows)
                    {
                        M_CommonData conMod = conBll.SelReturnModel(Convert.ToInt32(dr["id"]));
                        //if (!conMod.Inputer.Equals(mu.UserName)) { continue; }
                        List <SqlParameter> sp1 = new List <SqlParameter>()
                        {
                            new SqlParameter("title", dr["title"].ToString())
                        };
                        List <SqlParameter> sp2 = new List <SqlParameter>()
                        {
                            new SqlParameter("wxico", dr["wxico"].ToString())
                        };
                        DBCenter.UpdateSQL("ZL_CommonModel", "Title=@title", "GeneralID=" + conMod.GeneralID, sp1);
                        DBCenter.UpdateSQL("ZL_C_Article", "wxico=@wxico", "ID=" + conMod.ItemID, sp2);
                    }
                    retMod.retcode = M_APIResult.Success;
                }
                break;

                case "mb_image":                  //更新单个内容的指定字段,是否需要扩展为,根据字段更新目标表,以减少代码
                {
                    string    flag = Req("flag"); //传了该值,则代表单条数据更新
                    DataTable dt   = GetListDT();
                    foreach (DataRow dr in dt.Rows)
                    {
                        List <SqlParameter> sp2 = new List <SqlParameter>()
                        {
                            new SqlParameter("wxico", dr["wxico"].ToString()),
                            new SqlParameter("flag", dr["flag"].ToString())
                        };
                        DBCenter.UpdateSQL("ZL_C_Article", "wxico=@wxico", "Flag=@flag", sp2);
                    }
                    retMod.retcode = M_APIResult.Success;
                }
                break;

                case "mb_byid":                                                        //主用于内容更新
                {
                    string    fields = "wxico,wxsize,wxbk,flag,wxlink,content,dbtype"; //dbtype
                    DataTable dt     = GetListDT();
                    foreach (DataRow dr in dt.Rows)
                    {
                        M_CommonData        conMod = conBll.SelReturnModel(Convert.ToInt32(dr["id"]));
                        List <SqlParameter> sp1    = GetSPByDR(dr, "title");
                        List <SqlParameter> sp2    = GetSPByDR(dr, fields);
                        DBCenter.UpdateSQL("ZL_CommonModel", GetSet(sp1), "GeneralID=" + conMod.GeneralID, sp1);
                        DBCenter.UpdateSQL("ZL_C_Article", GetSet(sp2), "ID=" + conMod.ItemID, sp2);
                    }
                    retMod.retcode = M_APIResult.Success;
                }
                break;

                case "mb_new":
                {
                    B_CodeModel codeBll  = new B_CodeModel("ZL_C_Article");
                    string      nodeName = Req("type").Equals("nav") ? "微站图片" : "微站内容";
                    DataTable   nodedt   = DBCenter.Sel("ZL_Node", "NodeBySite=" + siteID + " AND NodeName='" + nodeName + "'");
                    if (nodedt.Rows.Count < 1)
                    {
                        retMod.retmsg = nodeName + "节点不存在";
                    }
                    else
                    {
                        DataRow      dr     = GetListDT().Rows[0];
                        M_CommonData conMod = new M_CommonData();
                        DataRow      artdr  = codeBll.NewModel();
                        conMod.Title     = dr["title"].ToString();
                        conMod.Inputer   = mu.UserName;
                        conMod.Status    = (int)ZLEnum.ConStatus.Audited;
                        conMod.TableName = "ZL_C_Article";
                        conMod.ModelID   = 2;                                         //文章ID
                        conMod.NodeID    = Convert.ToInt32(nodedt.Rows[0]["NodeID"]); //放入微内容处
                                                                                      //-----------------------------
                        artdr["content"] = "ajax添加";
                        artdr["wxico"]   = dr["wxico"];
                        artdr["wxsize"]  = dr["wxsize"];
                        artdr["wxbk"]    = dr["wxbk"];
                        artdr["flag"]    = dr["flag"];
                        artdr["dbtype"]  = dr["dbtype"];
                        conMod.ItemID    = codeBll.Insert(artdr);
                        conMod.GeneralID = conBll.insert(conMod);
                        retMod.retcode   = M_APIResult.Success;
                        retMod.result    = conMod.GeneralID.ToString();
                    }
                }
                break;

                case "mb_del":
                {
                    int          id     = Convert.ToInt32(Req("id"));
                    M_CommonData conMod = conBll.SelReturnModel(id);
                    if (conMod == null)
                    {
                        retMod.retmsg = "内容[" + id + "]不存在";
                    }
                    else if (!conMod.Inputer.Equals(mu.UserName))
                    {
                        retMod.retmsg = "你无权删除[" + id + "]内容";
                    }
                    else
                    {
                        conBll.SetDel(conMod.GeneralID);
                        retMod.retcode = M_APIResult.Success;
                    }
                }
                break;

                case "mb_pro_update":    //新建,或更新
                {
                    DataRow   dr     = GetListDT().Rows[0];
                    M_Product proMod = new M_Product();
                    if (DataConvert.CLng(dr["id"]) > 0)
                    {
                        int id = Convert.ToInt32(dr["id"]);
                        proMod = proBll.GetproductByid(id);
                        if (proMod == null)
                        {
                            retMod.retmsg = "商品[" + id + "]不存在"; RepToClient(retMod);
                        }
                        else if (proMod.UserID != mu.UserID)
                        {
                            retMod.retmsg = "无权修改[" + id + "]商品"; RepToClient(retMod);
                        }
                    }
                    proMod.Proname    = dr["proname"].ToString();
                    proMod.ActPrice   = dr["price"].ToString();
                    proMod.LinPrice   = DataConvert.CDouble(dr["price"]);
                    proMod.UserID     = mu.UserID;
                    proMod.AddUser    = mu.UserName;
                    proMod.Nodeid     = B_Design_MBSite.UserShopNodeID;
                    proMod.ParentID   = siteID;
                    proMod.Proinfo    = dr["proinfo"].ToString();
                    proMod.Procontent = dr["content"].ToString();
                    proMod.Clearimg   = dr["pics"].ToString();
                    proMod.Thumbnails = proMod.Clearimg;
                    if (proMod.ID > 0)
                    {
                        proBll.updateinfo(proMod);
                    }
                    else
                    {
                        proMod.ID = proBll.Insert(proMod);
                    }
                    retMod.retmsg  = proMod.ID.ToString();
                    retMod.retcode = M_APIResult.Success;
                }
                break;

                case "mb_pro_del":
                {
                    int       id     = Convert.ToInt32(Req("id"));
                    M_Product proMod = proBll.GetproductByid(id);
                    if (proMod == null)
                    {
                        retMod.retmsg = "商品[" + id + "]不存在";
                    }
                    else if (proMod.UserID != mu.UserID)
                    {
                        retMod.retmsg = "你无权删除[" + id + "]商品";
                    }
                    else
                    {
                        proBll.RealDelByIDS(id.ToString());
                        retMod.retcode = M_APIResult.Success;
                    }
                }
                break;

                default:
                    retMod.retmsg = "[" + Action + "]接口不存在";
                    break;
                }
            }
            catch (Exception ex) { retMod.retmsg = ex.Message; retMod.retcode = M_APIResult.Failed; }
            RepToClient(retMod);
        }
예제 #8
0
 public B_Cart_Present()
 {
     codeBll = new B_CodeModel(TbName);
 }
        protected void Add_Btn_Click(object sender, EventArgs e)
        {
            M_CommonData CData    = new M_CommonData();
            M_AdminInfo  adminMod = B_Admin.GetLogin();
            M_ModelInfo  model    = modelBll.SelReturnModel(ModelID);

            artBll = new B_CodeModel(model.TableName);
            if (GeneralID > 0)
            {
                CData = conBll.SelReturnModel(GeneralID);
            }
            else
            {
                CData.NodeID    = NodeID;
                CData.ModelID   = ModelID;
                CData.TableName = model.TableName;
                CData.Inputer   = adminMod.AdminName;
                string parentTree = "";
                CData.FirstNodeID = nodeBll.SelFirstNodeID(NodeID, ref parentTree);
                CData.ParentTree  = parentTree;
            }
            //------------------------
            CData.Title = Title_T.Text.Trim();
            switch ((sender as Button).CommandArgument)
            {
            case "add":
                CData.Status = (int)ZLEnum.ConStatus.Audited;
                break;

            case "draft":
                CData.Status = (int)ZLEnum.ConStatus.Draft;
                break;

            default:
                break;
            }
            if (GeneralID > 0)
            {
                DataRow dr = artBll.SelByID(CData.ItemID);
                dr["Content"] = content_t.Text;
                artBll.UpdateByID(dr, "ID");
                conBll.UpdateByID(CData);
            }
            else
            {
                DataRow dr = artBll.NewModel();
                dr["Content"]   = content_t.Text;
                CData.ItemID    = artBll.Insert(dr);
                CData.GeneralID = conBll.insert(CData);
            }
            //----------------同步版权印
            double       repPrice = DataConverter.CDouble(RepPrice_T.Text.Trim());
            double       matPrice = DataConverter.CDouble(MatPrice_T.Text.Trim());
            string       content  = StringHelper.StripHtml(content_t.Text);
            M_Content_CR crMod    = crBll.CreateFromContent(CData, content, repPrice, matPrice);

            string  result = copyBll.Create(crMod);
            JObject obj    = JsonConvert.DeserializeObject <JObject>(result);

            crMod.Status  = DataConverter.CLng(obj["value"]);
            crMod.WorksID = obj["data"].ToString();
            crBll.Insert(crMod);
            if (crMod.Status == 1)
            {
                function.WriteSuccessMsg("操作成功,文章编号为:" + crMod.WorksID, "WorksList.aspx");
            }
            else
            {
                function.WriteErrMsg("操作失败:" + obj["msg"]);
            }
        }
예제 #10
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Pid <= 0)
            {
                function.WriteErrMsg("参数错误!不存在此信息!");
            }
            M_Pub mpub = pubBll.GetSelect(Pid);

            mu = buser.GetLogin();
            if (mpub == null || mpub.Pubid < 1)
            {
                function.WriteErrMsg("互动信息不存在");
            }

            M_APIResult retMod = new M_APIResult();
            int         spid   = DataConvert.CLng(Request.Form["spfbrid"]);

            if (mu.UserID < 1)
            {
                retMod.retmsg = "未登录不可提交订单"; RepToClient(retMod.ToString()); return;
            }
            if (spid < 1)
            {
                retMod.retmsg = "未指定教师信息"; RepToClient(retMod.ToString()); return;
            }
            {
                //如果存在与该老师的进行中订单,则忽略
                string where = "xsrid=" + mu.UserID + " AND spfbrid=" + spid;
                where       += " AND status_order>=0 AND status_order<100";
                if (DBCenter.IsExist("ZL_Pub_dsmx", where))
                {
                    retMod.retmsg = "已存在生效中的订单";
                    RepToClient(retMod.ToString());
                    return;
                }
            }
            M_UserInfo spmu = buser.SelReturnModel(spid);

            if (spmu.IsNull)
            {
                retMod.retmsg = "老师信息不存在"; RepToClient(retMod.ToString()); return;
            }
            //-----------------------获取用户提交的数据
            //隐藏字段值
            int PubContentid = DataConverter.CLng(Request.Form["PubContentid"]);
            int Parentid     = DataConvert.CLng(Request.Form["Parentid"]);
            //用户提交
            string pbtitle   = Server.HtmlEncode(DataConvert.CStr(Request.Form["PubTitle"]));
            string pbcontent = Server.HtmlEncode(DataConvert.CStr(Request.Form["PubContent"]));

            if (!pbtitle.Contains("的"))//xxx的课程
            {
                pbtitle = B_User.GetUserName(spmu.HoneyName, spmu.UserName) + "的课程";
            }
            //-----------------------可提交判断
            List <SqlParameter> sp = new List <SqlParameter>();
            //-----------------------初始化参数
            //删除超过保留期限的值
            //pubBll.DeleteModel(mpub.PubTableName, "DateDiff(d,PubAddTime,getdate())>" + mpub.Pubkeep);
            //ModelField表中仅存了自定义的字段
            B_CodeModel codeBll = new B_CodeModel(mpub.PubTableName);
            DataRow     dr      = codeBll.NewModel();
            DataTable   mfDT    = mfBll.DB_SelByModel(mpub.PubModelID);

            mfDT.DefaultView.RowFilter = "sys_type=0";
            mfDT = mfDT.DefaultView.ToTable();
            //-----固定的系统字段
            dr["Pubnum"]       = 1;
            dr["PubIP"]        = EnviorHelper.GetUserIP();
            dr["PubUserID"]    = mu.UserID;
            dr["PubUserName"]  = mu.UserName;
            dr["Pubupid"]      = mpub.Pubid;
            dr["PubAddTime"]   = DateTime.Now;
            dr["Parentid"]     = Parentid;
            dr["PubTitle"]     = pbtitle;
            dr["PubContent"]   = pbcontent;
            dr["Pubstart"]     = mpub.PubIsTrue == 1 ? 0 : 1;//取反
            dr["PubInputer"]   = B_User.GetUserName(mu.HoneyName, mu.UserName);
            dr["PubContentid"] = PubContentid;
            //dr["cookflag"] = CookFlag;
            //=========订单初始化
            dr["status_order"]   = 0;
            dr["status_user"]    = 0;
            dr["status_teacher"] = 0;
            dr["status_money"]   = 0;
            dr["edate"]          = "";
            dr["fcAmount"]       = 0;
            dr["fcDate"]         = "";

            //int djid = DataConvert.CLng(mu.ParentUserID);
            //if (djid < 1) { djid = DataConvert.CLng(Request["djid"]); }
            dr["djid"] = DataConvert.CLng(Request["djid"]);

            //------非系统字段
            for (int i = 0; i < mfDT.Rows.Count; i++)
            {
                M_ModelField mfMod = new M_ModelField().GetModelFromReader(mfDT.Rows[i]);
                string       value = Server.HtmlEncode(Request.Form[mfMod.FieldName] ?? "");
                Parentid = DataConvert.CLng(Request.Form["Parentid"]);
                if (mfMod.IsNotNull && string.IsNullOrEmpty(value))
                {
                    RepToClient(mfMod.FieldName + "不能为空");
                }
                dr[mfMod.FieldName] = value;
                switch (mpub.PubType)
                {
                    #region 根据互动类型,进行空值判断
                case 0:
                    if (string.IsNullOrEmpty(pbcontent))
                    {
                        RepToClient("评论内容不能为空!");
                    }
                    break;

                case 1:
                    if (string.IsNullOrEmpty(pbtitle))
                    {
                        RepToClient("标题不能为空!");
                    }
                    break;

                case 2:
                    if (string.IsNullOrEmpty(pbtitle))
                    {
                        RepToClient("标题不能为空!");
                    }
                    if (string.IsNullOrEmpty(pbcontent))
                    {
                        RepToClient("活动信息不能为空!");
                    }
                    break;

                case 3:
                    if (string.IsNullOrEmpty(pbtitle) || string.IsNullOrEmpty(pbcontent))
                    {
                        RepToClient("标题与内容不能为空!");
                    }
                    break;

                case 4:
                    if (string.IsNullOrEmpty(pbtitle))
                    {
                        RepToClient("标题不能为空!");
                    }
                    break;

                case 5:
                    break;

                case 7:    //将评星控件的数据写入数据表中
                    dr["PubContent"] = Request.Params["scoreVal"];
                    break;

                case 8:    //互动表单
                    break;
                    #endregion
                }
            }
            codeBll.Insert(dr);
            retMod.retcode = M_APIResult.Success;
            RepToClient(retMod.ToString());
            //Upaddnums(mpub); //更新总参与人数
        }
예제 #11
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (function.isAjax())
            {
                ProcAjax();
            }
            if (Pid <= 0)
            {
                function.WriteErrMsg("参数错误!不存在此信息!");
            }
            M_Pub mpub = pubBll.GetSelect(Pid);

            if (mpub != null && mpub.Pubid > 0)
            {
                #region 是否需要登录PubLogin
                if (mpub.PubLogin == 1)
                {
                    string logstr = mpub.PubLoginUrl;
                    if (!buser.CheckLogin())
                    {
                        if (string.IsNullOrEmpty(logstr))
                        {
                            Response.Redirect("/User/Login?ReturnUrl=" + Request.UrlReferrer.PathAndQuery);
                        }
                        else
                        {
                            Response.Redirect(logstr);
                        }
                        Response.End();
                    }
                }
                #endregion
                #region 是否已经结束
                if (mpub.PubEndTime < DateTime.Now)
                {
                    function.WriteErrMsg("Sorry,此互动已经结束!不接收任何提交的数据!");
                    Response.End();
                }
                #endregion
                string cookflag     = Request.Cookies["cookflag"] == null ? "" : Request.Cookies["cookflag"].Value;
                string PubInputer   = Request.Form["PubInputer"];
                int    PubContentid = DataConverter.CLng(Request.Form["PubContentid"]);
                //初始化参数
                int pubitemid = 0;
                int Pubnum = 0;
                int Parentid = 0;
                int userid = 0; string username = "";
                //IP可发信息数量
                int pubipnum = mpub.PubIPOneOrMore;
                //是否需要审核
                bool isinto = false;
                //用户提交
                string pbtitle   = Server.HtmlEncode(Request.Form["PubTitle"]);
                string pbcontent = Server.HtmlEncode(Request.Form["PubContent"]);
                //-----------------------------------------------------------------
                if (mpub.PubCode == 1)
                {
                    if (!ZoomlaSecurityCenter.VCodeCheck(Request.Form["VCode_hid"], Request.Form["VCode"]))
                    {
                        Response.Write("<script>alert('验证码错误!');window.history.go(-1);</script>");
                        Response.Flush();
                        Response.End();
                    }
                }
                if (buser.CheckLogin())
                {
                    M_UserInfo mu = buser.GetLogin();
                    userid   = mu.UserID;
                    username = mu.UserName;
                }
                //查找是否存在主题
                DataTable temptable = mfBll.SelectTableName(mpub.PubTableName, "PubContentid=" + PubContentid + " and Pubupid=" + Pid + " and Parentid=0");
                //同IP的同一篇文章回复次数
                int msgCount = pubBll.SelMsgCount(mpub, PubContentid, mpub.Pubid, EnviorHelper.GetUserIP());
                //最后回复时间
                DataTable selecttime = mfBll.SelectTableName(mpub.PubTableName, "PubContentid=" + PubContentid + " and Pubupid=" + Pid + " and PubIP='" + EnviorHelper.GetUserIP() + "' order by id desc");
                //判断是否存在,获得数据的值
                if (temptable.Rows.Count > 0)
                {
                    pubitemid = DataConverter.CLng(temptable.Rows[0]["ID"]);
                    Pubnum    = DataConverter.CLng(temptable.Rows[0]["Pubnum"]);
                }
                //删除超过保留期限的值
                pubBll.DeleteModel(mpub.PubTableName, "DateDiff(d,PubAddTime,getdate())>" + mpub.Pubkeep);
                switch (pubipnum)
                {
                case 0:
                    Parentid = 0;
                    isinto   = true;
                    break;

                case 1:    //Only One
                    Parentid = temptable.Rows.Count == 0 ? 0 : Parentid = DataConverter.CLng(temptable.Rows[0]["ID"]);
                    isinto   = msgCount < 1;
                    break;

                default:
                    Parentid = temptable.Rows.Count == 0 ? 0 : Parentid = DataConverter.CLng(temptable.Rows[0]["ID"]);
                    isinto   = msgCount < pubipnum;
                    break;
                }
                //开启cookies身份判断(主用于移动端例如微信浏览器)
                if (isinto && mpub.PubFlag == 1 && Request.Cookies["cookflag"] != null)
                {
                    if (string.IsNullOrEmpty(cookflag))
                    {
                        function.WriteErrMsg("身份信息不正确,无法参与互动!");
                    }
                    SqlParameter[] sp        = new SqlParameter[] { new SqlParameter("cookflag", cookflag) };
                    string         sql       = " cookflag=@cookflag";
                    DataTable      pubinfoDT = mfBll.SelectTableName(mpub.PubTableName, sql, sp);
                    if (pubinfoDT.Rows.Count >= mpub.PubTimeSlot)
                    {
                        function.WriteErrMsg("很抱歉,每人只能提交" + mpub.PubFlag + "次");
                        isinto = false;
                    }
                }
                //用户信息数量限制
                if (isinto && mpub.PubOneOrMore > 0 && !string.IsNullOrEmpty(username))
                {
                    SqlParameter[] sp2       = new SqlParameter[] { new SqlParameter("uname", username) };
                    string         sql2      = "PubContentid=" + PubContentid + " and Pubupid=" + mpub.Pubid + " and PubUserName=@uname order by id desc";
                    DataTable      pubinfoDT = mfBll.SelectTableName(mpub.PubTableName, sql2, sp2);
                    if (mpub.PubOneOrMore == 3)
                    {
                        if (pubinfoDT.Select("PubUserID=" + userid).Length > 1)
                        {
                            function.WriteErrMsg("很抱歉,对于此次互动,您只能参与一次!");
                        }
                    }
                    isinto = pubinfoDT.Rows.Count < mpub.PubOneOrMore;
                }
                if (!isinto)//不符合添加条件
                {
                    if (!string.IsNullOrEmpty(mpub.Puberrmsg))
                    {
                        Response.Write("<script>alert('" + mpub.Puberrmsg + "');window.history.go(-1);</script>");
                    }
                    else
                    {
                        Response.Write("<script>window.history.go(-1);</script>");
                    }
                    Response.End();
                    return;
                }
                DateTime PubAddTimes = DateTime.MinValue;
                if (selecttime.Rows.Count > 0 && Parentid > 0)
                {
                    PubAddTimes = DataConverter.CDate(selecttime.Rows[0]["PubAddTime"]);
                }
                //TimeSpan timespan = DateTime.Now - PubAddTimes;//时间间隔,用于限定用户第二次提交限制
                //double TotalSecondsnum = timespan.TotalSeconds;
                //ModelField表中仅存了自定义的字段
                B_CodeModel codeBll = new B_CodeModel(mpub.PubTableName);
                DataRow     dr      = codeBll.NewModel();
                DataTable   mfDT    = mfBll.DB_SelByModel(mpub.PubModelID);
                mfDT.DefaultView.RowFilter = "sys_type=0";
                mfDT = mfDT.DefaultView.ToTable();
                //-----固定的系统字段
                dr["Pubnum"]       = 1;
                dr["PubIP"]        = EnviorHelper.GetUserIP();
                dr["PubUserID"]    = userid;
                dr["PubUserName"]  = username;
                dr["Pubupid"]      = mpub.Pubid;
                dr["PubAddTime"]   = DateTime.Now;
                dr["Parentid"]     = DataConvert.CLng(Request.Form["Parentid"]);
                dr["PubTitle"]     = pbtitle;
                dr["PubContent"]   = pbcontent;
                dr["Pubstart"]     = mpub.PubIsTrue == 1 ? 0 : 1;//取反
                dr["PubInputer"]   = PubInputer;
                dr["PubContentid"] = PubContentid;
                //dr["Mood"] = Request.Form["Mood"];
                if (dr.Table.Columns.Contains("cookflag"))
                {
                    dr["cookflag"] = cookflag;
                }
                //------非系统字段
                for (int i = 0; i < mfDT.Rows.Count; i++)
                {
                    M_ModelField mfMod = new M_ModelField().GetModelFromReader(mfDT.Rows[i]);
                    string       value = Server.HtmlEncode(Request.Form[mfMod.FieldName] ?? "");
                    Parentid = DataConvert.CLng(Request.Form["Parentid"]);
                    if (mfMod.IsNotNull && string.IsNullOrEmpty(value))
                    {
                        Response.Write("<script>alert('" + mfMod.FieldName + "不能为空!');window.history.go(-1);</script>");
                        Response.End();
                    }
                    dr[mfMod.FieldName] = value;
                    switch (mpub.PubType)
                    {
                        #region 根据互动类型,进行空值判断
                    case 0:
                        if (string.IsNullOrEmpty(pbcontent))
                        {
                            Response.Write("<script>alert('评论内容不能为空!');window.history.go(-1);</script>");
                            Response.End();
                        }
                        break;

                    case 1:
                        if (string.IsNullOrEmpty(pbtitle))
                        {
                            Response.Write("<script>alert('标题不能为空!');window.history.go(-1);</script>");
                            Response.End();
                        }
                        break;

                    case 2:
                        if (string.IsNullOrEmpty(pbtitle))
                        {
                            Response.Write("<script>alert('标题不能为空!');window.history.go(-1);</script>");
                            Response.End();
                        }
                        if (string.IsNullOrEmpty(pbcontent))
                        {
                            Response.Write("<script>alert('活动信息不能为空!');window.history.go(-1);</script>");
                            Response.End();
                        }
                        break;

                    case 3:
                        if (string.IsNullOrEmpty(pbtitle) || string.IsNullOrEmpty(pbcontent))
                        {
                            Response.Write("<script>alert('标题与内容不能为空!');window.history.go(-1);</script>");
                            Response.End();
                        }
                        break;

                    case 4:
                        if (string.IsNullOrEmpty(pbtitle))
                        {
                            Response.Write("<script>alert('标题不能为空!');window.history.go(-1);</script>");
                            Response.End();
                        }
                        break;

                    case 5:
                        break;

                    case 7:    //将评星控件的数据写入数据表中
                        dr["PubContent"] = Request.Params["scoreVal"];
                        break;

                    case 8:    //互动表单
                        break;
                        #endregion
                    }
                    //if (Parentid > 0)
                    //{
                    //    //更新主题信息
                    //    SqlParameter[] sqlparacc = new SqlParameter[1];
                    //    sqlparacc[0] = new SqlParameter("Pubnum", SqlDbType.Int);
                    //    sqlparacc[0].Value = Pubnum + 1;
                    //    pubBll.UpdateModel(sqlparacc, mpub.PubTableName, "id=" + pubitemid.ToString() + "");
                    //}
                }
                codeBll.Insert(dr);
                Upaddnums(mpub); //更新总参与人数
            }
        }
예제 #12
0
        /// <summary>
        /// 交信息导入数据库,将绑定好其之间的对应关系
        /// 需要在外部完成赋值等操作
        /// </summary>
        /// <param name="nodeDT">节点表</param>
        /// <param name="conDT">内容表</param>
        /// <param name="artDT">附加内容表(后期扩展为支持多个)</param>
        public bool ImportContentFromDT(DataTable nodeDT, DataTable conDT, DataTable artDT)
        {
            if (string.IsNullOrEmpty(nodeDT.TableName) || nodeDT.TableName.Equals("Result"))
            {
                nodeDT.TableName = "ZL_Node";
            }
            if (string.IsNullOrEmpty(conDT.TableName) || conDT.TableName.Equals("Result"))
            {
                conDT.TableName = "ZL_CommonModel";
            }
            if (string.IsNullOrEmpty(artDT.TableName) || artDT.TableName.Equals("Result"))
            {
                artDT.TableName = "ZL_C_Article";
            }
            B_CodeModel nodeBll = new B_CodeModel(nodeDT.TableName);
            B_CodeModel conBll  = new B_CodeModel(conDT.TableName);
            B_CodeModel artBll  = new B_CodeModel(artDT.TableName);

            for (int i = 0; i < nodeDT.Rows.Count; i++)
            {
                DataRow dr = nodeDT.Rows[i];
                dr["CDate"]    = DateTime.Now;
                dr["EditDate"] = DateTime.Now;
                int oldnid = Convert.ToInt32(dr["NodeID"]);
                int newnid = nodeBll.Insert(dr, "NodeID");
                //将文章添加入该节点下(根目录下不放文章,在新建的站点的时候必须规范)
                DataRow[] cons = conDT.Select("NodeID='" + oldnid + "'");
                for (int j = 0; j < cons.Length; j++)
                {
                    cons[j]["NodeID"] = newnid;
                }
            }
            //-------------将内容与附表导入(内容与文章的数据可不删,只要关联好ItemID与NodeID即可)
            if (artDT.Columns.Contains("ppics"))
            {
                artDT.Columns.Remove("ppics");
            }
            if (artDT.Columns.Contains("tpic"))
            {
                artDT.Columns.Remove("tpic");
            }
            for (int i = 0; i < conDT.Rows.Count; i++)
            {
                DataRow dr = conDT.Rows[i];
                dr["CreateTime"] = DateTime.Now;
                dr["UPDateTime"] = DateTime.Now;
                int itemID = Convert.ToInt32(dr["ItemID"]);
                if (artDT.Select("ID='" + itemID + "'").Length > 0)
                {
                    //其中可能包含没有的字段,需要一个方法,将其导入(根据站站迁移扩展)
                    DataRow artdr = artDT.Select("ID='" + itemID + "'")[0];
                    itemID = artBll.Insert(artdr);
                }
                else
                {
                    itemID = 0;
                }
                dr["ItemID"] = itemID;
                conBll.Insert(dr, "GeneralID");
            }
            return(true);
        }
        protected void Restore_Btn_Click(object sender, EventArgs e)
        {
            string path = TlpFile_T.Text.Trim();
            string tdir = function.VToP("/Site/NoName/");

            if (!File.Exists(path))
            {
                function.WriteErrMsg("站点文件不存在");
            }
            if (!Path.GetExtension(path).ToLower().Equals(".zip"))
            {
                function.WriteErrMsg("文件格式不正确");
            }
            if (Directory.Exists(tdir))
            {
                Directory.Delete(tdir, true);
            }
            //----------------------
            ZipClass zip = new ZipClass();

            zip.UnZipFiles(path, tdir);
            //还原信息(尽量少或不清除)
            DataSet siteDS = new DataSet();

            siteDS.ReadXml(tdir + "Init/Site.xml");
            //-------------站点信息(仍建立资源文件夹,但不用于建site信息了)
            DataTable         siteDT = siteDS.Tables["ZL_Design_SiteInfo"];
            M_Design_SiteInfo sfMod  = new M_Design_SiteInfo().GetModelFromReader(siteDT.Rows[0]);

            SiteConfig.SiteInfo.SiteName = sfMod.SiteName;
            //-------------导入页面
            B_CodeModel pageBll = new B_CodeModel("ZL_Design_Page");

            SqlHelper.ExecuteSql("TRUNCATE TABLE ZL_Design_Page");
            DataSet pageDS = new DataSet();

            pageDS.ReadXml(tdir + "Init/Page.xml");
            DataTable pageDT = pageDS.Tables[0];

            for (int i = 0; i < pageDT.Rows.Count; i++)
            {
                pageDT.Rows[i]["SiteID"] = 0;
                pageDT.Rows[i]["CDate"]  = DateTime.Now;
                pageDT.Rows[i]["UPDate"] = DateTime.Now;
                pageBll.Insert(pageDT.Rows[i]);
            }
            //-------------导入节点|内容(新建一个节点)
            SqlHelper.ExecuteSql("TRUNCATE TABLE ZL_Node");
            SqlHelper.ExecuteSql("TRUNCATE TABLE ZL_CommonModel"); //可注释
            SqlHelper.ExecuteSql("TRUNCATE TABLE ZL_C_Article");
            DataTable nodeDT = siteDS.Tables["ZL_Node"];           //与站点绑定,其他内容与节点绑定
            DataTable conDT  = siteDS.Tables["ZL_CommonModel"];
            DataTable artDT  = siteDS.Tables["ZL_C_Article"];

            for (int i = 0; i < nodeDT.Rows.Count; i++)
            {
                DataRow dr = nodeDT.Rows[i];
                dr["NodeBySite"] = 0;
                dr["ParentID"]   = 0;
                dr["CUser"]      = 0;
            }
            desHelper.ImportContentFromDT(nodeDT, conDT, artDT);
            //移动文件
            string siteDir = function.VToP(sfMod.SiteDir);

            if (!Directory.Exists(tdir))
            {
                function.WriteErrMsg("来源目录不存在");
            }
            if (Directory.Exists(siteDir))
            {
                Directory.Delete(siteDir, true);
            }
            Directory.Move(tdir, siteDir);
            function.WriteSuccessMsg("恢复站点成功,即将跳转首页", "/");
        }