예제 #1
0
        public APIReturn Post_insert([FromForm] ulong?Last_posts_id, [FromForm] ulong?Owner_users_id, [FromForm] int?Count_posts, [FromForm] uint?Count_views, [FromForm] string Title, [FromForm] ulong?Top, [FromForm] uint[] mn_Tags, [FromForm] ulong[] mn_Users)
        {
            TopicsInfo item = new TopicsInfo();

            item.Last_posts_id  = Last_posts_id;
            item.Owner_users_id = Owner_users_id;
            item.Count_posts    = Count_posts;
            item.Count_views    = Count_views;
            item.Create_time    = DateTime.Now;
            item.Title          = Title;
            item.Top            = Top;
            item.Update_time    = DateTime.Now;
            item = Topics.Insert(item);
            //关联 Tags
            foreach (uint mn_Tags_in in mn_Tags)
            {
                item.FlagTags(mn_Tags_in);
            }
            //关联 Users
            foreach (ulong mn_Users_in in mn_Users)
            {
                item.FlagUsers(mn_Users_in);
            }
            return(new APIReturn(0, "成功", "item", item.ToBson()));
        }
예제 #2
0
 public IActionResult 发布话题([FromForm] string tab, [FromForm] string title, [FromForm] string t_content, [FromForm] uint[] topic_tags, [FromForm] string _csrf)
 {
     SqlHelper.Transaction(() => {
         TopicsInfo topic = Topics.Insert(new TopicsInfo {
             Title          = title,
             Count_posts    = 0,
             Count_views    = 0,
             Create_time    = DateTime.Now,
             Owner_users_id = LoginUser.Id,
             Top            = 0
         });
         PostsInfo post = Posts.Insert(new PostsInfo {
             Content       = t_content,
             Count_good    = 0,
             Count_notgood = 0,
             Create_time   = DateTime.Now,
             Topics_id     = topic.Id,
             Users_id      = LoginUser.Id,
             Index         = 1
         });
         var tags_id  = topic_tags.ToList();
         TagsInfo tag = Tags.GetItemByKeyname(tab);
         if (tag.Id > 1)
         {
             tags_id.Add(tag.Id.Value);
         }
         foreach (uint tagid in tags_id)
         {
             topic.FlagTags(tagid);
         }
     });
     RedisHelper.Remove("author_nonereply", "indextopics_all1", "indextopics_all2", "indextopics_all3", "indextopics_all4",
                        "indextopics_good1", "indextopics_good2", "indextopics_good3", "indextopics_good4",
                        "indextopics_share1", "indextopics_share2", "indextopics_share3", "indextopics_share4",
                        "indextopics_ask1", "indextopics_ask2", "indextopics_ask3", "indextopics_ask4",
                        "indextopics_job1", "indextopics_job2", "indextopics_job3", "indextopics_job4");
     return(new RedirectResult("/"));
 }
예제 #3
0
        public APIReturn Put_update(ulong?Id, [FromForm] ulong?Last_posts_id, [FromForm] ulong?Owner_users_id, [FromForm] int?Count_posts, [FromForm] uint?Count_views, [FromForm] string Title, [FromForm] ulong?Top, [FromForm] uint[] mn_Tags, [FromForm] ulong[] mn_Users)
        {
            TopicsInfo item = new TopicsInfo();

            item.Id             = Id;
            item.Last_posts_id  = Last_posts_id;
            item.Owner_users_id = Owner_users_id;
            item.Count_posts    = Count_posts;
            item.Count_views    = Count_views;
            item.Create_time    = DateTime.Now;
            item.Title          = Title;
            item.Top            = Top;
            item.Update_time    = DateTime.Now;
            int affrows = Topics.Update(item);

            //关联 Tags
            if (mn_Tags.Length == 0)
            {
                item.UnflagTagsALL();
            }
            else
            {
                List <uint> mn_Tags_list = mn_Tags.ToList();
                foreach (TagsInfo Obj_tags in item.Obj_tagss)
                {
                    int idx = mn_Tags_list.FindIndex(a => a == Obj_tags.Id);
                    if (idx == -1)
                    {
                        item.UnflagTags(Obj_tags.Id);
                    }
                    else
                    {
                        mn_Tags_list.RemoveAt(idx);
                    }
                }
                mn_Tags_list.ForEach(a => item.FlagTags(a));
            }
            //关联 Users
            if (mn_Users.Length == 0)
            {
                item.UnflagUsersALL();
            }
            else
            {
                List <ulong> mn_Users_list = mn_Users.ToList();
                foreach (UsersInfo Obj_users in item.Obj_userss)
                {
                    int idx = mn_Users_list.FindIndex(a => a == Obj_users.Id);
                    if (idx == -1)
                    {
                        item.UnflagUsers(Obj_users.Id);
                    }
                    else
                    {
                        mn_Users_list.RemoveAt(idx);
                    }
                }
                mn_Users_list.ForEach(a => item.FlagUsers(a));
            }
            if (affrows > 0)
            {
                return(new APIReturn(0, "成功"));
            }
            return(new APIReturn(99, "失败"));
        }