コード例 #1
0
        public async Task <ActionResult> Manage(string rssid)
        {
            var rssModel = await ContentManagerRepository.RssInfo(rssid);

            var userid     = Util.Common.My.id;
            var UserAllRss = await ContentManagerRepository.GetUserAllRss(userid);

            var UserAllSite = await ContentManagerRepository.GetUserAllSite(userid);

            var UserCategories = UserAllRss.SelectMany(s => s.categories).Distinct().ToList();
            var UserTags       = UserAllRss.SelectMany(s => s.tags).Distinct().ToList();

            return(View(new ViewModel.BaseContent.BaseContentManageVM()
            {
                rssid = rssModel._id,
                rsstitle = rssModel.title,
                categories = UserCategories,
                rsses = UserAllRss,
                sites = UserAllSite,
                tags = UserTags,
            }));
        }
コード例 #2
0
        public async Task <ActionResult> BlockRssBindManage(string id)
        {
            //var categoryModel = await ContentManagerRepository.CategoryInfo(id);
            //var UserId = Util.Common.My.id;
            //var UserCategories = await ContentManagerRepository.GetUserCategories(UserId);
            //var ParentTitle = string.Empty;

            //if (string.IsNullOrWhiteSpace(categoryModel.userid))
            //    categoryModel.userid = Util.Common.My.id;

            //if (!string.IsNullOrEmpty(categoryModel.parentId) && categoryModel.parentId != "-1")
            //    ParentTitle = (await ContentManagerRepository.CategoryInfo(categoryModel.parentId)).title;
            var UserId  = Util.Common.My.id;
            var UserRss = await ContentManagerRepository.GetUserAllRss(UserId);

            var RssSitesInfo = await ContentManagerRepository.SitesInfo(UserRss);

            var UserCategories = await ContentManagerRepository.GetUserCategories(UserId);

            var RssSitesName = new List <Tuple <string, string> >();

            foreach (var rss in UserRss)
            {
                var SiteInfo = RssSitesInfo.FirstOrDefault(q => q._id == rss.siteid);
                RssSitesName.Add(new Tuple <string, string>(rss._id, SiteInfo.title));
            }
            var model = new ViewModel.ContentManager.SimpleCategoryRssBindManageVM()
            {
                Rss          = UserRss,
                Categories   = UserCategories,
                UserId       = UserId,
                RssSitesName = RssSitesName
            };

            return(View(model));
        }
コード例 #3
0
        public async Task <ViewModel.BaseContent.BaseContentManageServiceResult> PostManage([FromBody] ViewModel.BaseContent.BaseContentSearchVM simpleSearch)
        {
            try
            {
                var page  = simpleSearch.page < 1 ? 1 : simpleSearch.page;
                var limit = 20;
                var skip  = limit * (page - 1);

                var rssids = new List <string>();
                var contentManagerRepository = new Repository.ContentManagerRepository();
                var _userRssList             = await contentManagerRepository.GetUserAllRss(Util.Common.My.id);

                if (_userRssList.Any())
                {
                    if (simpleSearch.categories != null && simpleSearch.categories.Any() && !simpleSearch.categories.Any(s => s == "-1"))
                    {
                        _userRssList = _userRssList.Where(s => s.categories.Any(x => simpleSearch.categories.Contains(x))).ToList();
                    }

                    if (simpleSearch.tags != null && simpleSearch.tags.Any() && !simpleSearch.tags.Any(s => s == "-1"))
                    {
                        _userRssList = _userRssList.Where(s => s.tags.Any(x => simpleSearch.tags.Contains(x))).ToList();
                    }

                    if (!string.IsNullOrWhiteSpace(simpleSearch.siteid) && simpleSearch.siteid != "-1")
                    {
                        _userRssList = _userRssList.Where(s => s.siteid == simpleSearch.siteid).ToList();
                    }

                    if (!string.IsNullOrWhiteSpace(simpleSearch.rssid) && simpleSearch.rssid != "-1")
                    {
                        _userRssList = _userRssList.Where(s => s._id == simpleSearch.rssid).ToList();
                    }

                    rssids = _userRssList.Select(s => s._id).ToList();
                }

                string q      = "{aggregate:'basecontent',pipeline:[{$match:{ 'rssid':{$in:" + rssids.toJSON() + "}}},{$sort : { 'dateticks' : -1  }},{$skip:" + skip.ToString() + "},{$limit:" + limit.ToString() + "}]}";
                var    _model = await NoSql.Instance.RunCommandAsync <BsonDocument>(q);

                var model0 = new List <Models.BaseContent.BaseContent>();
                foreach (var item in _model.GetValue("result").AsBsonArray)
                {
                    model0.Add(MongoDB.Bson.Serialization.BsonSerializer.Deserialize <Models.BaseContent.BaseContent>(item.AsBsonDocument));
                }

                var model = new List <ViewModel.BaseContent.SimpleBaseContentManageVM>();
                foreach (var item in model0)
                {
                    var rssModel = await ContentManagerRepository.RssInfo(item.rssid);

                    var siteModel = await ContentManagerRepository.SiteInfo(rssModel.siteid);

                    model.Add(new ViewModel.BaseContent.SimpleBaseContentManageVM()
                    {
                        dateticks       = item.dateticks,
                        description     = item.description,
                        insertdateticks = item.insertdateticks,
                        pdate           = Common.ConvertG2JDateText(new DateTime(item.dateticks), true),
                        pinsertdate     = Common.ConvertG2JDateText(new DateTime(item.insertdateticks), true),
                        rssid           = item.rssid,
                        rsstitle        = rssModel.title,
                        sitetitle       = siteModel.title,
                        title           = item.title,
                        url             = item.url,
                        userid          = item.userid,
                        _id             = item._id,
                    });
                }

                var result = new ViewModel.BaseContent.BaseContentManageServiceResult();
                result.Data                = model;
                result.CurrentPage         = page;
                result.PrevPage            = (page == 1 ? 2 : page) - 1;
                result.NextPage            = page + 1;
                result.ServiceResultStatus = (int)Util.Common.ServiceResultStatus.OK;
                return(result);
            }
            catch (Exception ex)
            {
                return(new ViewModel.BaseContent.BaseContentManageServiceResult()
                {
                    ServiceResultStatus = (int)Util.Common.ServiceResultStatus.Error,
                    ServiceResultMassage = ex.GetBaseException().Message
                });
            }
        }