Beispiel #1
0
        public NewsCommentResultModel GetCommentByNewsId(NewsCommentByCriteriaRequestModel param)
        {
            NewsCommentResultModel result = new NewsCommentResultModel();

            try
            {
                NewsBL bl = new NewsBL();

                var comments = bl.GetCommentsByNewsId(param);

                result.Status   = true;
                result.Message  = "Got " + comments.Count.ToString() + " comments";
                result.Comments = comments;
            }
            catch (OrgException oex)
            {
                result.Status  = false;
                result.Message = oex.Message;
            }
            catch (Exception ex)
            {
                result.Status  = false;
                result.Message = AppConfigs.InternalErrorMessage;

                if (AppConfigs.DebugInternalMessage)
                {
                    result.InternalMessage = ex.Message;
                }
            }

            return(result);
        }
Beispiel #2
0
        public IList <NewsCommentModel> GetCommentsByNewsId(NewsCommentByCriteriaRequestModel model)
        {
            if ((model == null) || !model.NewsId.HasValue)
            {
                throw new OrgException("Invalid news");
            }

            using (OrgCommEntities dbc = new OrgCommEntities(DBConfigs.OrgCommConnectionString))
            {
                OrgComm.Data.Models.News news = dbc.News.SingleOrDefault(r => r.Id == model.NewsId.Value);

                if (news == null)
                {
                    throw new OrgException("News not found");
                }

                var qry = (from c in news.Comments
                           join m in dbc.Members on c.MemberId equals m.Id
                           select new OrgComm.Data.Models.NewsComment
                {
                    Id = c.Id,
                    MemberId = (m.DelFlag)? 0 : c.MemberId,
                    NewsId = c.NewsId,
                    Text = c.Text,
                    Type = c.Type,
                    CreatedDate = c.CreatedDate
                }
                           );

                qry = qry.OrderByDescending(r => r.CreatedDate);

                if (model != null)
                {
                    if (model.PageSize.HasValue && (model.PageSize.Value > 0))
                    {
                        if (model.Page.HasValue && (model.Page.Value > 1))
                        {
                            qry = qry.Skip((model.Page.Value - 1) * model.PageSize.Value);
                        }

                        qry = qry.Take(model.PageSize.Value);
                    }
                }

                return(qry.Select(r => new NewsCommentModel
                {
                    Id = r.Id,
                    MemberId = r.MemberId,
                    Text = r.Text,
                    Type = r.Type,
                    CreatedDate = r.CreatedDate.ToString(AppConfigs.GeneralDateTimeFormat),
                    Ticks = r.CreatedDate.Ticks
                }).ToList());
            }
        }