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())); } }