public IActionResult GetPostsVeiculos([FromQuery] ListPostsInputModel data)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            try
            {
                var results = _service.ListPosts(data, GetVirtualPath());

                #region Customization
                var comunications = new List <ComunicationViewModel>();
                foreach (var item in results)
                {
                    var comunication = new ComunicationViewModel(
                        item.title,
                        item.content,
                        item.createdAt
                        );

                    var imageURL = item.files.FirstOrDefault(i => i.session == EnumHelpers.GetDescription(FileSessions.title));
                    comunication.imageURL = imageURL == null ? "" : imageURL.name;

                    var optional = item.files.FirstOrDefault(i => i.session == EnumHelpers.GetDescription(FileSessions.optional));
                    if (optional != null)
                    {
                        var extension = $".{optional.name.Split('.')[optional.name.Split('.').Count() - 1]}";
                        if (TypeExtensions.IsVideoExtension(extension))
                        {
                            comunication.video = optional.name;
                        }
                        else if (TypeExtensions.IsAudioExtension(extension))
                        {
                            comunication.audio = optional.name;
                        }
                    }

                    comunications.Add(comunication);
                }
                #endregion

                return(Ok(comunications));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message.ToString()));
            }
        }
        public IEnumerable <ListPostsViewModel> ListPosts(ListPostsInputModel data, string virtualPath)
        {
            var posts = _postRepository.ListByProjectKey(data.projectKey, data.createdAt);

            var postsVM = posts.Select(p => new ListPostsViewModel(
                                           p.Id,
                                           p.CreatedAt,
                                           p.ProjectKey,
                                           p.Title,
                                           p.Content,
                                           p.Files.Select(f => new ListPostsViewModel.ListPostFiles(
                                                              $"{virtualPath}/{f.Name}",
                                                              f.Session
                                                              )))
                                       );

            return(postsVM);
        }
        public IActionResult ListPostages([FromQuery] ListPostsInputModel data)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            try
            {
                var result = _service.ListPosts(data, GetVirtualPath());

                return(Ok(result));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message.ToString()));
            }
        }