public async Task <IActionResult> FollowPost(int userId, int followedId) { if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } var postFollow = await _repo.GetPostFollow(userId, followedId); if (postFollow != null) { return(BadRequest("Már követed")); } var followed = await _repo.GetPostByID(followedId); if (followed == null) { return(NotFound()); } postFollow = new PostFollow { FollowerId = userId, FollowedId = followedId }; _repo.Add <PostFollow>(postFollow); if (await _repo.SaveAll()) { return(Ok()); } return(BadRequest("Nem sikerült a feliratkozás")); }
private void PostToRecordWalls() { Console.WriteLine("\r\n== Working with Record Walls =="); // Create the leads. CreateRequiredRecords(); // Follow each of the leads. _follow1 = new PostFollow { RegardingObjectId = _lead1.ToEntityReference() }; _serviceContext.AddObject(_follow1); _follow2 = new PostFollow { RegardingObjectId = _lead2.ToEntityReference() }; _serviceContext.AddObject(_follow2); _follow3 = new PostFollow { RegardingObjectId = _lead3.ToEntityReference() }; _serviceContext.AddObject(_follow3); _serviceContext.SaveChanges(); Console.WriteLine(" The 3 leads are now followed."); // Create posts, mentions, and comments related to the leads. // Create a post related to lead 1 with a mention and a comment. _leadPost1 = new Post { RegardingObjectId = _lead1.ToEntityReference(), Source = new OptionSetValue((int)PostSource.AutoPost), // Include a mention in the post text. Text = String.Format("This lead is similar to @[{0},{1},\"{2}\"]", Lead.EntityTypeCode, _lead2.Id, _lead2.FullName) }; _serviceContext.AddObject(_leadPost1); _serviceContext.SaveChanges(); Console.WriteLine(" Post 1 has been created."); // It isn't necessary to keep track of the comment because the comment will // be deleted when its parent post is deleted. var comment1 = new PostComment { PostId = _leadPost1.ToEntityReference(), Text = "Sample comment 1" }; _serviceContext.AddObject(comment1); _serviceContext.SaveChanges(); Console.WriteLine(" Comment 1 has been created."); // Create a post related to lead 2 with three comments. var post2 = new Post { RegardingObjectId = _lead2.ToEntityReference(), Source = new OptionSetValue((int)PostSource.ManualPost), Text = "This lead was created for a sample." }; _serviceContext.AddObject(post2); _serviceContext.SaveChanges(); Console.WriteLine(" Post 2 has been created."); var comment2 = new PostComment { PostId = post2.ToEntityReference(), Text = "Sample comment 2" }; var comment3 = new PostComment { PostId = post2.ToEntityReference(), Text = "Sample comment 3" }; var comment4 = new PostComment { PostId = post2.ToEntityReference(), Text = "Sample comment 4" }; _serviceContext.AddObject(comment2); _serviceContext.AddObject(comment3); _serviceContext.AddObject(comment4); _serviceContext.SaveChanges(); Console.WriteLine(" Comments 2, 3, and 4 have been created."); // Qualify some leads. Since there is an active post rule config for // qualification of a lead, this should generate an auto post to the record // wall of each lead that is qualified. // Qualify lead 2. var qualifyLead2Request = new QualifyLeadRequest { CreateAccount = true, LeadId = _lead2.ToEntityReference(), Status = new OptionSetValue((int)lead_statuscode.Qualified) }; var qualifyLead2Response = (QualifyLeadResponse)_serviceProxy.Execute( qualifyLead2Request); // Store the generated Account to delete it later. foreach (var entityRef in qualifyLead2Response.CreatedEntities) { _generatedEntities.Add(entityRef); } Console.WriteLine(" Lead 2 was qualified."); // Qualify lead 3. var qualifyLead3Request = new QualifyLeadRequest { CreateAccount = true, LeadId = _lead3.ToEntityReference(), Status = new OptionSetValue((int)lead_statuscode.Qualified) }; var qualifyLead3Response = (QualifyLeadResponse)_serviceProxy.Execute( qualifyLead3Request); foreach (var entityRef in qualifyLead3Response.CreatedEntities) { _generatedEntities.Add(entityRef); } Console.WriteLine(" Lead 3 was qualified."); }