public async Task <IHttpActionResult> HidePost(int Post_Id) { try { var userId = Convert.ToInt32(User.GetClaimValue("userid")); using (RiscoContext ctx = new RiscoContext()) { Post post = ctx.Posts.FirstOrDefault(x => x.Id == Post_Id); HidePost hidePost = new HidePost { FirstUser_Id = userId, SecondUser_Id = post.User_Id, Post_Id = Post_Id, CreatedDate = DateTime.UtcNow }; ctx.HidePosts.Add(hidePost); ctx.SaveChanges(); CustomResponse <HidePost> response = new CustomResponse <HidePost> { Message = Global.ResponseMessages.Success, StatusCode = (int)HttpStatusCode.OK, Result = hidePost }; return(Ok(response)); } } catch (Exception ex) { return(StatusCode(Utility.LogError(ex))); } }
public void Put(HidePost request) { var user = GetUser(); var post = AssertPost(request.Id); AssertCanPostToOrganization(Db, post.OrganizationId, user, out var org, out var orgMember); if (!user.IsOrganizationModerator(orgMember)) { throw HttpError.Forbidden("Access Denied"); } var now = DateTime.Now; if (request.Hide) { post.Hidden = now; post.HiddenBy = user.UserName; if (!string.IsNullOrEmpty(request.Reason)) { post.Notes = request.Reason; } } else { post.Hidden = null; post.HiddenBy = null; } Db.Update(post); Db.Insert(new PostChangeHistory { ChangedName = nameof(post.Hidden), ChangedValue = request.Hide.ToString(), ChangedReason = request.Reason, Created = now, CreatedBy = user.UserName, }); ClearPostCaches(); }