Esempio n. 1
0
        public virtual async Task <HomeDataDto> GetHomeData()
        {
            HomeDataDto homeData    = new HomeDataDto();
            var         slideImages = await _slideimageRepository.GetAll().OrderByDescending(t => t.Sort).ToListAsync();

            homeData.SlideImages = slideImages.Select(t => t.Thumbnail).ToList();

            var topNotice = _noticeRepository
                            .GetAll().GroupJoin(_noticeProjectRepository.GetAll(), left => left.Id, right => right.NoticeId,
                                                (left, right) => new
            {
                Notice         = left,
                NoticeProjects = right
            }).OrderByDescending(t => t.Notice.CreationTime).FirstOrDefault(t => t.Notice.AllProjects || t.NoticeProjects.FirstOrDefault().ProjectId == _frontSession.ProjectId);

            if (topNotice != null)
            {
                homeData.Notice = new HomeDataDto.ArticleItem()
                {
                    Id = topNotice.Notice.Id, Title = topNotice.Notice.Title, Thumbnail = topNotice.Notice.Thumbnail, CreationTime = topNotice.Notice.CreationTime
                };
            }

            var topActivity = _activityRepository
                              .GetAll().GroupJoin(_activityProjectRepository.GetAll(), left => left.Id, right => right.ActivityId,
                                                  (left, right) => new
            {
                Activity         = left,
                ActivityProjects = right
            }).OrderByDescending(t => t.Activity.CreationTime).FirstOrDefault(t => t.Activity.AllProjects || t.ActivityProjects.FirstOrDefault().ProjectId == _frontSession.ProjectId);

            if (topActivity != null)
            {
                homeData.Activity = new HomeDataDto.ArticleItem()
                {
                    Id = topActivity.Activity.Id, Title = topActivity.Activity.Title, Thumbnail = topActivity.Activity.Thumbnail, CreationTime = topActivity.Activity.CreationTime
                };
            }

            var topNews = _newsRepository
                          .GetAll().GroupJoin(_newsProjectRepository.GetAll(), left => left.Id, right => right.NewsId,
                                              (left, right) => new
            {
                News         = left,
                NewsProjects = right
            }).OrderByDescending(t => t.News.CreationTime).FirstOrDefault(t => t.News.AllProjects || t.NewsProjects.FirstOrDefault().ProjectId == _frontSession.ProjectId);

            if (topNews != null)
            {
                homeData.News = new HomeDataDto.ArticleItem()
                {
                    Id = topNews.News.Id, Title = topNews.News.Title, Thumbnail = topNews.News.Thumbnail, CreationTime = topNews.News.CreationTime
                };
            }


            return(homeData);
        }
Esempio n. 2
0
        public async Task <List <HomeNews> > GetHomeNews(string Upk)
        {
            long ProjectId = 0;

            try
            {
                var result = _wuyeApiAppSrvice.GetMemberInfoByAPPUserID(Upk);
                if (result.Success)
                {
                    var project = _projectRepository.FirstOrDefault(t => t.Code == result.PProjectCode);
                    if (project != null)
                    {
                        ProjectId = project.Id;
                    }
                }
            }
            catch (Exception ex)
            {
            }


            HomeDataDto homeData    = new HomeDataDto();
            var         slideImages = await _slideimageRepository.GetAll().OrderByDescending(t => t.Sort).ToListAsync();

            homeData.SlideImages = slideImages.Select(t => t.Thumbnail).ToList();

            var topNotice = _noticeRepository
                            .GetAll().GroupJoin(_noticeProjectRepository.GetAll(), left => left.Id, right => right.NoticeId,
                                                (left, right) => new
            {
                Notice         = left,
                NoticeProjects = right
            }).OrderByDescending(t => t.Notice.CreationTime).FirstOrDefault(t => t.Notice.AllProjects || t.NoticeProjects.FirstOrDefault().ProjectId == ProjectId);

            if (topNotice != null)
            {
                homeData.Notice = new HomeDataDto.ArticleItem()
                {
                    Id = topNotice.Notice.Id, Title = topNotice.Notice.Title, Thumbnail = topNotice.Notice.Thumbnail, CreationTime = topNotice.Notice.CreationTime
                };
            }

            var topActivity = _activityRepository
                              .GetAll().GroupJoin(_activityProjectRepository.GetAll(), left => left.Id, right => right.ActivityId,
                                                  (left, right) => new
            {
                Activity         = left,
                ActivityProjects = right
            }).OrderByDescending(t => t.Activity.CreationTime).FirstOrDefault(t => t.Activity.AllProjects || t.ActivityProjects.FirstOrDefault().ProjectId == ProjectId);

            if (topActivity != null)
            {
                homeData.Activity = new HomeDataDto.ArticleItem()
                {
                    Id = topActivity.Activity.Id, Title = topActivity.Activity.Title, Thumbnail = topActivity.Activity.Thumbnail, CreationTime = topActivity.Activity.CreationTime
                };
            }

            var topNews = _newsRepository
                          .GetAll().GroupJoin(_newsProjectRepository.GetAll(), left => left.Id, right => right.NewsId,
                                              (left, right) => new
            {
                News         = left,
                NewsProjects = right
            }).OrderByDescending(t => t.News.CreationTime).FirstOrDefault(t => t.News.AllProjects || t.NewsProjects.FirstOrDefault().ProjectId == ProjectId);

            if (topNews != null)
            {
                homeData.News = new HomeDataDto.ArticleItem()
                {
                    Id = topNews.News.Id, Title = topNews.News.Title, Thumbnail = topNews.News.Thumbnail, CreationTime = topNews.News.CreationTime
                };
            }

            string          host       = SettingManager.GetSettingValue(AppSettings.Wuye.Host);
            List <HomeNews> homeNewses = new EditableList <HomeNews>();

            if (homeData.Notice != null)
            {
                homeNewses.Add(new HomeNews()
                {
                    title      = "社区公告",
                    content    = homeData.Notice.Title,
                    contentUrl = host + "/Maxwon/Notice_View/" + homeData.Notice.Id,
                    dateStr    = homeData.Notice.CreationTime.ToString("yyyy-MM-dd HH:mm:ss"),
                    iconUrl    = host + homeData.Notice.Thumbnail + "?width=160&height=100&mode=crop",
                    moreUrl    = host + "/Maxwon/Notice_List"
                });
            }


            if (homeData.Activity != null)
            {
                homeNewses.Add(new HomeNews()
                {
                    title      = "社区活动",
                    content    = homeData.Activity.Title,
                    contentUrl = host + "/Maxwon/Activity_View/" + homeData.Activity.Id,
                    dateStr    = homeData.Activity.CreationTime.ToString("yyyy-MM-dd HH:mm:ss"),
                    iconUrl    = host + homeData.Activity.Thumbnail + "?width=160&height=100&mode=crop",
                    moreUrl    = host + "/Maxwon/Activity_List"
                });
            }

            if (homeData.News != null)
            {
                homeNewses.Add(new HomeNews()
                {
                    title      = "社区资讯",
                    content    = homeData.News.Title,
                    contentUrl = host + "/Maxwon/News_View/" + homeData.News.Id,
                    dateStr    = homeData.News.CreationTime.ToString("yyyy-MM-dd HH:mm:ss"),
                    iconUrl    = host + homeData.News.Thumbnail + "?width=160&height=100&mode=crop",
                    moreUrl    = host + "/Maxwon/News_List"
                });
            }

            return(homeNewses);
        }