Exemplo n.º 1
0
        /// <summary>
        /// Gets authors list.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns>
        ///   <c>GetAuthorsResponse</c> with authors list.
        /// </returns>
        public GetAuthorsResponse Get(GetAuthorsRequest request)
        {
            request.Data.SetDefaultOrder("Name");

            var listResponse = repository
                               .AsQueryable <Module.Blog.Models.Author>()
                               .Select(author => new AuthorModel
            {
                Id             = author.Id,
                Version        = author.Version,
                CreatedBy      = author.CreatedByUser,
                CreatedOn      = author.CreatedOn,
                LastModifiedBy = author.ModifiedByUser,
                LastModifiedOn = author.ModifiedOn,

                Name = author.Name,

                ImageId           = author.Image != null && !author.Image.IsDeleted ? author.Image.Id : (Guid?)null,
                ImageUrl          = author.Image != null && !author.Image.IsDeleted ? author.Image.PublicUrl : (string)null,
                ImageThumbnailUrl = author.Image != null && !author.Image.IsDeleted ? author.Image.PublicThumbnailUrl : (string)null,
                ImageCaption      = author.Image != null && !author.Image.IsDeleted ? author.Image.Caption : (string)null
            })
                               .ToDataListResponse(request);

            foreach (var model in listResponse.Items)
            {
                model.ImageUrl          = fileUrlResolver.EnsureFullPathUrl(model.ImageUrl);
                model.ImageThumbnailUrl = fileUrlResolver.EnsureFullPathUrl(model.ImageThumbnailUrl);
            }

            return(new GetAuthorsResponse
            {
                Data = listResponse
            });
        }
Exemplo n.º 2
0
        public GetAuthorsResponse Get(GetAuthorsRequest request)
        {
            request.Data.SetDefaultOrder("Name");

            var listResponse = repository
                .AsQueryable<Module.Blog.Models.Author>()
                .Select(author => new AuthorModel
                    {
                        Id = author.Id,
                        Version = author.Version,
                        CreatedBy = author.CreatedByUser,
                        CreatedOn = author.CreatedOn,
                        LastModifiedBy = author.ModifiedByUser,
                        LastModifiedOn = author.ModifiedOn,

                        Name = author.Name,

                        ImageId = author.Image != null && !author.Image.IsDeleted ? author.Image.Id : (Guid?)null,
                        ImageUrl = author.Image != null && !author.Image.IsDeleted ? author.Image.PublicUrl : (string)null,
                        ImageThumbnailUrl = author.Image != null && !author.Image.IsDeleted ? author.Image.PublicThumbnailUrl : (string)null,
                        ImageCaption = author.Image != null && !author.Image.IsDeleted ? author.Image.Caption : (string)null
                    })
                .ToDataListResponse(request);

            foreach (var model in listResponse.Items)
            {
                model.ImageUrl = fileUrlResolver.EnsureFullPathUrl(model.ImageUrl);
                model.ImageThumbnailUrl = fileUrlResolver.EnsureFullPathUrl(model.ImageThumbnailUrl);
            }

            return new GetAuthorsResponse
                       {
                           Data = listResponse
                       };
        }
Exemplo n.º 3
0
        public GetAuthorsResponse Get(GetAuthorsRequest request)
        {
            request.Data.SetDefaultOrder("Name");

            var listResponse = repository
                               .AsQueryable <Module.Blog.Models.Author>()
                               .Select(author => new AuthorModel
            {
                Id             = author.Id,
                Version        = author.Version,
                CreatedBy      = author.CreatedByUser,
                CreatedOn      = author.CreatedOn,
                LastModifiedBy = author.ModifiedByUser,
                LastModifiedOn = author.ModifiedOn,

                Name              = author.Name,
                ImageId           = author.Image != null ? author.Image.Id : (System.Guid?)null,
                ImageUrl          = author.Image != null ? author.Image.PublicUrl : null,
                ImageThumbnailUrl = author.Image != null ? author.Image.PublicThumbnailUrl : null,
                ImageCaption      = author.Image != null ? author.Image.Caption : null
            })
                               .ToDataListResponse(request);

            return(new GetAuthorsResponse
            {
                Data = listResponse
            });
        }
Exemplo n.º 4
0
        /// <summary>
        /// Gets the list of author entities.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns>
        /// The list of tag entities
        /// </returns>
        /// <exception cref="CmsApiException"></exception>
        public DataListResponse <Author> GetAuthors(GetAuthorsRequest request = null)
        {
            try
            {
                var query = Repository
                            .AsQueryable <Author>()
                            .ApplyFilters(request);

                var totalCount = query.ToRowCountFutureValue(request);

                query = query
                        .AddOrderAndPaging(request)
                        .Fetch(a => a.Image);

                return(query.ToDataListResponse(totalCount));
            }
            catch (Exception inner)
            {
                const string message = "Failed to get authors list.";
                Logger.Error(message, inner);

                throw new CmsApiException(message, inner);
            }
        }
Exemplo n.º 5
0
 //[Authorize(Policy = "Custom")]
 public async Task <IActionResult> GetAuthors([FromQuery] GetAuthorsRequest request)
 => await Mediator
 .Send(new GetAuthorsQuery(request))
 .ToOkResult();
Exemplo n.º 6
0
 public override Task <GetAuthorsResponse> GetAuthors(GetAuthorsRequest request, ServerCallContext context)
 => _getAuthorsHandler.Handle(request, context).AsTask();
Exemplo n.º 7
0
 protected override async Task <AbstractAnswer <IEnumerable <Author> > > HandleAsync(GetAuthorsRequest request, CancellationToken cancellationToken)
 {
     return(CreateSuccessAnswer(await _authorQuery.InvokeAsync()));
 }
Exemplo n.º 8
0
 public GetAuthorsQuery(GetAuthorsRequest request) : base(request, ApiRoutes.Authors.Get)
 {
     //request.Name.BuildQuery(AuthorParameterType.Name, QueryBuildModels);
     //RequestRoute = ApiRoutes.Authors.Get;
 }
Exemplo n.º 9
0
        /// <summary>
        /// Gets the list of author entities.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns>
        /// The list of tag entities
        /// </returns>
        /// <exception cref="CmsApiException"></exception>
        public DataListResponse<Author> GetAuthors(GetAuthorsRequest request = null)
        {
            try
            {
                var query = Repository
                    .AsQueryable<Author>()
                    .ApplyFilters(request);

                var totalCount = query.ToRowCountFutureValue(request);

                query = query
                    .AddOrderAndPaging(request)
                    .Fetch(a => a.Image);

                return query.ToDataListResponse(totalCount);

            }
            catch (Exception inner)
            {
                const string message = "Failed to get authors list.";
                Logger.Error(message, inner);

                throw new CmsApiException(message, inner);
            }
        }
Exemplo n.º 10
0
        public async Task <IActionResult> GetAllAsync([FromQuery] GetAuthorsRequest request)
        {
            var result = await _mediator.Send(request);

            return(Ok(result));
        }