public async Task ProcessBookmark(CreateBookmarkRequest request) { var response = await _httpClient.GetAsync(request.Url); if (response.IsSuccessStatusCode) { var tempFileName = Path.GetTempFileName(); using (var fileStream = new FileStream(tempFileName, FileMode.CreateNew, FileAccess.ReadWrite)) { var stream = await response.Content.ReadAsStreamAsync(); await stream.CopyToAsync(fileStream); } var result = KindleConverter.Create(tempFileName) .SetCompressionLevel(CompressionLevel.NoCompression) .Convert(); if (result.IsSuccess) { string filePath = tempFileName.Replace(".tmp", ".mobi"); await _capPublisher.PublishAsync(Constants.SaveBookmarkQueue, new SaveBookmarkRequest() { UserId = request.UserId, Url = request.Url, FilePath = filePath }); } } }
public ActionResult Post([FromBody] Bookmark bookmark) { CreateBookmarkRequest request = new CreateBookmarkRequest { FeatureId = bookmark.Url }; requestBus.ProcessRequest <CreateBookmarkRequest, object>(request); return(Ok()); }
public async Task <ResponseBase> AddToQueueAsync(CreateBookmarkRequest request) { var response = new ResponseBase(); try { request.UserId = _userProvider.GetUserId(); await _capPublisher.PublishAsync(Constants.BookmarkQueue, request); response.StatusCode = (int)HttpStatusCode.Accepted; } catch (Exception) { response.StatusCode = (int)HttpStatusCode.InternalServerError; } return(response); }
public void CreateBookmark(string featureId) { CreateBookmarkRequest request = new CreateBookmarkRequest { FeatureId = featureId }; Bookmark bookmark = requestBus.ProcessRequest <CreateBookmarkRequest, Bookmark>(request); CreateBookmarkViewModel viewModel = new CreateBookmarkViewModel { IsSuccess = true, Url = bookmark.Url }; CreateBookmarkView view = new CreateBookmarkView(viewModel); view.Display(); }
public Task CreateBookmark([FromQuery] CreateBookmarkRequest createBookmarkRequest) { return(_textBusiness.CreateBookmarkAsync(new CreateBookmark(UserId, createBookmarkRequest.TextId))); }
public async Task <IActionResult> Create([FromBody] CreateBookmarkRequest request) { var response = await _bookmarkService.AddToQueueAsync(request); return(Result(response)); }