/// <summary> /// /// </summary> /// <param name="ci"></param> /// <param name="obj"></param> /// <returns></returns> public dynamic CreateTemplateDynamicData(Opinion o, CfCacheIndexEntry obj) { var commentData = "No comment"; if (!string.IsNullOrEmpty(o.Comment)) { if (o.Comment.Length < 255) { commentData = o.Comment; } else { commentData = o.Comment.Excerpt(255) + " ..."; } } dynamic data = new { Name = Sanitize(obj.Name), Comment = Sanitize(commentData), Score = o.Rating }; return data; }
//-- Here there is a difference between the posts Content (which may be a climb) and the post's Place internal Post UpdateOpinionPost(Opinion o) { return UpdateTypedPost(o.ID, new { Content = GetPostPlace(o.ObjectID) }); }
internal void DeleteOpinionPost(Opinion o) { DeleteTypedPost(postRepo.GetByID(o.ID)); }
/// <summary> /// /// </summary> /// <param name="o"></param> /// <param name="placeID"></param> /// <param name="isPrivate"></param> /// <returns></returns> internal Post CreateOpinionPost(Opinion o, Guid placeID, bool isPublic) { var place = AppLookups.GetCacheIndexEntry(placeID); var postMgr = new cf.Content.Feed.V0.OpinionPostManager(); dynamic data = postMgr.CreateTemplateDynamicData(o, GetPostPlace(o.ObjectID)); return postMgr.CreatePost(o.ID, o.UserID, place, isPublic, data); }