public GetPostByIdResponse GetPostById(GetPostByIdRequest request) { using (var db = new DotWEntities()) { var response = new GetPostByIdResponse(); response.Post = db.Posts.Select(x => new Post { Id = x.Id, Title = x.Title, Summary = x.Summary, Body = x.Body, EffectDate = x.EffectDate, NullDate = x.NullDate, IdWriter = x.IdWriter, WriterUserName = x.Users.Name, IdCategory = x.IdCategory, CategoryTitle = x.Categories.Title, IsDraft = x.IsDraft, PrincipalImageName = x.PrincipalImageName, Tags = db.Tags.Where(t => t.PostId == x.Id).Select(t => t.Tag).ToList() }).FirstOrDefault(x => x.Id == request.Id); return(response); } }
public ActionResult <GetPostByIdResponse> Get([FromQuery] string id) { GetPostByIdRequest request = new GetPostByIdRequest() { PostId = Guid.Parse(id) }; return(_postService.Get(request)); }
public async Task <GetPostResponse> GetPostById(GetPostByIdRequest request) { var postToGet = await DbContext.Posts.Select(post => new GetPostResponse { Id = post.Id, Title = post.Title, Description = post.Description, ViewsCount = post.ViewsCount, CreationDate = post.CreationDate, UpdateDate = post.UpdateDate, Author = new GetPostResponse.AuthorInfo { Id = post.AuthorId, Email = post.CmsUser.Email }, Categories = post.Categories.Select(c => new GetPostResponse.Category { Id = c.Id, Name = c.Name }).ToList(), Image = new GetPostResponse.ImageWithTransforms { Url = post.Image.Url, Id = post.ImageId, ImageTransforms = post.Image.ImageTransforms.Select(transform => new GetPostResponse.ImageTransformation { Url = transform.Url, TransformName = transform.TransformName }).ToList() }, Comments = post.Comments.Select(comment => new GetPostResponse.Comment { Id = comment.Id, Author = comment.AuthorId == null ? null : new GetPostResponse.User { Email = comment.Author.Email, FirstName = comment.Author.FirstName, LastName = comment.Author.LastName, UserId = comment.Author.Id }, Content = comment.Content, Date = comment.CreationDate }).ToList() }) .FirstOrDefaultAsync(p => p.Id == request.Id); if (postToGet == null) { throw new EntityNotFoundException <Post>(); } return(postToGet); }
public override Task <GetPostByIdResponse> GetPostById(GetPostByIdRequest request, ServerCallContext context) { try { var post = new PostComment.Post(); var returnValue = post.GetPostById(request.Id); var response = new GetPostByIdResponse { Value = (Post)returnValue }; return(Task.FromResult(response)); } catch (Exception ex) { _logger.LogError(ex, "Error invoking GetPostById"); throw new RpcException(new Status(StatusCode.Internal, ex.Message)); } }
public override Task <GetPostByIdResponse> GetPostById(GetPostByIdRequest request, ServerCallContext context) { GetPostByIdResponse output = new GetPostByIdResponse(); Post post = _context.Posts.Find(request.Id); if (post != null) { output.Id = request.Id; output.Description = post.Description; output.Domain = post.Domain; output.Date = post.Date.ToString(); } else { output.Id = request.Id; output.Description = null; output.Domain = null; output.Date = null; } return(Task.FromResult(output)); }
public GetPostResponse GetPostById(GetPostByIdRequest request) { GetPostResponse response = new GetPostResponse(); response.StatusCode = 200; response.Errors = new List <string>(); var tags = new List <string>(); var tagEntities = _tagRepository.GetByPostId(request.PostId); foreach (var tag in tagEntities) { tags.Add(tag.Content); } var post = _postRepository.GetPostById(request.PostId); response.Post = new PostDTO() { Post = post, Tags = tags, AuthorUsername = _userRepository.GetUserById(post.UserId).Username, }; return(response); }
public JsonResult GetId([FromQuery] GetPostByIdRequest request) { return(Json(_postService.GetPostById(request))); }
public async Task <GetPostResponse> GetPostById(GetPostByIdRequest request) { var post = await ProcessRequest(request, _postsRepository.GetPostById); return(post); }