예제 #1
0
        private int SaveArticleRes(ArticleRes artRes)
        {
            DataBaseAccess db   = this._dao.New();
            var            data = new object[, ]
            {
                { "@Id", artRes.Id },
                { "@ResKey", artRes.ResKey },
                { "@CreateTime", artRes.CreateTime },
                { "@UpdateTime", artRes.UpdateTime },
                { "@TypeId", artRes.TypeId },
                { "@TypeName", artRes.TypeName }
            };

            if (artRes.Id > 0)
            {
                db.ExecuteNonQuery(new SqlQuery("UPDATE wx_res SET reskey=@resKey,updatetime=@updatetime WHERE id=@Id", data));
            }
            else
            {
                int row = db.ExecuteNonQuery(new SqlQuery(@"INSERT INTO wx_res (ResKey,TypeId,TypeName,CreateTime,UpdateTime)
                            VALUES (@ResKey,@TypeId,@TypeName,@CreateTime,@UpdateTime)", data));
                if (row == 1)
                {
                    int id = Convert.ToInt32(db.ExecuteScalar("SELECT MAX(id) FROM wx_res"));
                    return(id);
                }
            }

            return(artRes.Id);
        }
예제 #2
0
        public string SaveArticleRes_post(HttpContext context)
        {
            bool   isCreate = false;
            IWxRes res;

            try
            {
                ArticleRes tres = context.Request.Form.ConvertToEntity <ArticleRes>();
                res = tres;

                if (tres.Id > 0)
                {
                    ArticleRes ores = IocObject.WeixinRes.GetResById(tres.Id) as ArticleRes;
                    tres.TypeId     = ores.TypeId;
                    tres.TypeName   = ores.TypeName;
                    tres.CreateTime = ores.CreateTime;
                }
                else
                {
                    isCreate        = true;
                    tres.CreateTime = DateTime.Now;
                    tres.TypeName   = "图文";
                    tres.TypeId     = 2;
                }
                tres.UpdateTime = DateTime.Now;
                int id = res.Save();
            }
            catch (Exception exc)
            {
                return("{result:false,message:'" + exc.Message + "'}");
            }
            return("{result:true,message:'" + (isCreate ? "添加成功" : "保存成功") + "'}");
        }
예제 #3
0
        public string EditArticleRes(HttpContext context)
        {
            int          id   = int.Parse(context.Request["id"]);
            TemplatePage page = this._app.GetPage(this._plugin, "mg/article_res.html");
            ArticleRes   res  = IocObject.WeixinRes.GetResById(id) as ArticleRes;

            res.Items = null;
            page.AddVariable("entity", res != null ? JsonConvert.SerializeObject(res) : "{}");

            return(page.ToString());
        }
예제 #4
0
        public ActionResult Index()
        {
            ArticleRes article = new ArticleRes
            {
                Name = "Article name",
                Date = DateTime.Now,
                Text = "Съешь же ещё этих мягких французских булок, да выпей чаю. Съешь же ещё этих мягких французских булок, да выпей чаю. Съешь же ещё этих мягких французских булок, да выпей чаю. Съешь же ещё этих мягких французских булок, да выпей чаю. Съешь же ещё этих мягких французских булок, да выпей чаю. Съешь же ещё этих мягких французских булок, да выпей чаю. Съешь же ещё этих мягких французских булок, да выпей чаю. Съешь же ещё этих мягких французских булок, да выпей чаю. Съешь же ещё этих мягких французских булок, да выпей чаю. Съешь же ещё этих мягких французских булок, да выпей чаю. Съешь же ещё этих мягких французских булок, да выпей чаю. Съешь же ещё этих мягких французских булок, да выпей чаю. Съешь же ещё этих мягких французских булок, да выпей чаю.sefwefwef",
            };

            ViewBag.Message = "PartialArticle";

            return(View(article));
        }
예제 #5
0
        public int Save(IWxRes res)
        {
            TextRes textRes = res as TextRes;

            if (textRes != null)
            {
                return(SaveTextRes(textRes));
            }
            else
            {
                ArticleRes artRes = res as ArticleRes;
                return(this.SaveArticleRes(artRes));
            }
        }
예제 #6
0
        public string SaveArticleItem_post(HttpContext context)
        {
            bool isCreate = false;

            try
            {
                ArticleResItem tres = context.Request.Form.ConvertToEntity <ArticleResItem>();
                isCreate = tres.Id <= 0;
                ArticleRes res = IocObject.WeixinRes.GetResById(int.Parse(context.Request.Form["ResId"])) as ArticleRes;
                tres.SetArticle(res);
                int id = tres.Save();
            }
            catch (Exception exc)
            {
                return("{result:false,message:'" + exc.Message + "'}");
            }
            return("{result:true,message:'" + (isCreate ? "添加成功" : "保存成功") + "'}");
        }
예제 #7
0
        public IResponseMessageBase GetResponseByResKey(CustomMessageHandler handler, string resKey)
        {
            IWxRes res = IocObject.WeixinRes.GetResByKey(resKey);

            if (res == null)
            {
                Config.Logln("素材" + resKey + "不存在");
            }
            TextRes trs;

            if ((trs = res as TextRes) != null)
            {
                var strongResponseMessage = handler.CreateResponseMessage <ResponseMessageText>();
                strongResponseMessage.Content = trs.Content;

                Config.Logln("素材" + resKey + "/文本");
                return(strongResponseMessage);
            }
            else
            {
                var        rsp   = handler.CreateResponseMessage <ResponseMessageNews>();
                ArticleRes ares  = res as ArticleRes;
                var        items = ares.Items;

                string domain = WebCtx.Current.Domain;

                foreach (var item in items)
                {
                    if (item.Enabled)
                    {
                        rsp.Articles.Add(new Article()
                        {
                            Title       = item.Title,
                            Description = item.Description ?? "",
                            PicUrl      = domain + "/" + item.Pic,
                            Url         = item.Url.StartsWith("http://")?item.Url:domain + item.Url
                        });
                    }
                }

                Config.Logln("素材" + resKey + "/图文");
                return(rsp);
            }
        }
예제 #8
0
        public IWxRes GetResByKey(string resKey)
        {
            IWxRes         res = null;
            DataBaseAccess db  = this._dao.New();

            db.ExecuteReader(new SqlQuery("SELECT Id ,ResKey,TypeId,TypeName,CreateTime,UpdateTime FROM wx_res WHERE ResKey=@ResKey",
                                          new object[, ]
            {
                { "@ResKey", resKey }
            }), rd =>
            {
                if (rd.Read())
                {
                    int typeId = rd.GetInt32(2);
                    if (typeId == 1)
                    {
                        res = new TextRes
                        {
                            CreateTime = rd.GetDateTime(4),
                            UpdateTime = rd.GetDateTime(5),
                            TypeId     = typeId,
                            TypeName   = rd.GetString(3),
                            ResKey     = rd.GetString(1),
                            Id         = rd.GetInt32(0)
                        };
                    }
                    else
                    {
                        res = new ArticleRes
                        {
                            CreateTime = rd.GetDateTime(4),
                            UpdateTime = rd.GetDateTime(5),
                            TypeId     = typeId,
                            ResKey     = rd.GetString(1),
                            TypeName   = rd.GetString(3),
                            Id         = rd.GetInt32(0)
                        };
                    }
                }
            });

            if (res != null)
            {
                TextRes    tRes;
                ArticleRes atRes;

                if ((tRes = (res as TextRes)) != null)
                {
                    db.ExecuteReader("SELECT Content FROM wx_text Where resid=" + tRes.Id.ToString(), rd =>
                    {
                        if (rd.Read())
                        {
                            tRes.Content = rd.GetString(0);
                        }
                    });
                }
                else
                {
                    atRes = res as ArticleRes;

                    db.ExecuteReader("SELECT * FROM wx_art_item WHERE resid=" + atRes.Id.ToString() + " ORDER BY sort,id", rd =>
                    {
                        if (rd.HasRows)
                        {
                            atRes.Items = rd.ToEntityList <ArticleResItem>();
                        }
                    });

                    if (atRes.Items != null)
                    {
                        foreach (var articleResItem in atRes.Items)
                        {
                            articleResItem.SetArticle(atRes);
                        }
                    }
                    else
                    {
                        atRes.Items = new List <ArticleResItem>();
                    }
                }
            }

            return(res);
        }