コード例 #1
0
        public void SetLikeForNews(int memberId, NewsLikeRequesetModel 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 like = news.Likes.SingleOrDefault(r => r.MemberId == memberId);

                if (model.Type.HasValue)
                {
                    if (like == null)
                    {
                        news.Likes.Add(new OrgComm.Data.Models.NewsLike {
                            MemberId = memberId, LikeType = model.Type.Value, CreatedDate = DateTime.Now
                        });
                    }
                    else
                    {
                        like.LikeType = model.Type.Value;
                    }
                }
                else
                {
                    if (like != null)
                    {
                        dbc.Entry(like).State = System.Data.Entity.EntityState.Deleted;
                    }
                }

                news.LikeCount = news.Likes.Count();

                dbc.SaveChanges();
            }
        }
コード例 #2
0
        public ResultModel SetLikeForNews(NewsLikeRequesetModel param)
        {
            ResultModel result = new ResultModel();

            try
            {
                int?memberId = IdentityHelper.GetMemberId();
                if (!memberId.HasValue)
                {
                    throw new OrgException("Invalid MemberId");
                }

                NewsBL bl = new NewsBL();

                bl.SetLikeForNews(memberId.Value, param);

                result.Status  = true;
                result.Message = "Update successfully";
            }
            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);
        }