public async Task <IActionResult> Execute(JObject jObj) { if (jObj == null) { throw new ArgumentNullException(nameof(jObj)); } var parameter = _requestBuilder.GetSearchTags(jObj); var searchResult = await _repository.Search(parameter); _halResponseBuilder.AddLinks(l => l.AddSelf("/" + Constants.RouteNames.Tags + "/" + Constants.RouteNames.Search)); if (searchResult != null && searchResult.Content != null) { var tags = searchResult.Content; foreach (var tag in tags) { _tagEnricher.Enrich(_halResponseBuilder, tag); } double r = (double)searchResult.TotalResults / (double)parameter.Count; var nbPages = Math.Ceiling(r); nbPages = nbPages == 0 ? 1 : nbPages; for (var page = 1; page <= nbPages; page++) { _halResponseBuilder.AddLinks(l => l.AddOtherItem("navigation", new Dtos.Link(GetTagLink(), page.ToString()))); } } return(new OkObjectResult(_halResponseBuilder.Build())); }
public async Task <IActionResult> Execute() { var tags = await _repository.GetAll(); _halResponseBuilder.AddLinks(l => l.AddSelf("/" + Constants.RouteNames.Tags)); foreach (var tag in tags) { _tagEnricher.Enrich(_halResponseBuilder, tag); } return(new OkObjectResult(_halResponseBuilder.Build())); }
public async Task <IActionResult> Execute(string id) { if (string.IsNullOrWhiteSpace(id)) { throw new ArgumentNullException(nameof(id)); } var service = await _repository.Get(id); if (service == null) { return(new NotFoundResult()); } _halResponseBuilder.AddLinks(l => l.AddSelf(GetTagLink(id))); _tagEnricher.Enrich(_halResponseBuilder, service); return(new OkObjectResult(_halResponseBuilder.Build())); }
private async Task ProcessPost(InstaMedia item) { log.LogInformation( "Processing media [{0}] - [{1}] [{2}] with Tags: {3}", item.Caption?.Text, item.DeviceTimeStamp, item.Location?.ShortName, item.UserTags.Count); InstaImage image = item.Images.OrderByDescending(x => x.Height).FirstOrDefault(); if (image == null) { log.LogWarning("Image not found"); return; } var caption = await tagsManager.Enrich(item).ConfigureAwait(false); var captionText = caption.Generate(); if (captionText == caption.Original) { log.LogInformation("Caption is same as original"); return; } var fileName = await DownloadImage(item, image).ConfigureAwait(false); await instagram.MediaProcessor.DeleteMediaAsync(item.Identifier, item.MediaType).ConfigureAwait(false); var result = await UploadImage(fileName, captionText, item.Location).ConfigureAwait(false); if (!result.Succeeded) { log.LogError("Error: {0}", result.Info.Message); } File.Delete(fileName); }