Example #1
0
        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);
            }
        }
Example #2
0
 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));
     }
 }
Example #3
0
        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));
        }
Example #4
0
        public async Task <IActionResult> GetPostById([FromRoute] Guid id)
        {
            GetPostByIdResponse response = await mediator.Send(new GetPostByIdRequest(id));

            return(Ok(response));
        }