public async Task <Guid> SaveByUrlAsync(string textName, string url) { var textId = Guid.NewGuid(); using var httpClient = _httpClientFactory.CreateClient(); var content = await httpClient.GetStringAsync(url); var text = new TextRepository.Text(content, textName, textId); await _textRepository.CreateAsync(text); return(textId); }
public override async Task <SaveTextResponse> SaveTextAsBinary(SaveTextAsBinaryRequest request, ServerCallContext context) { _logger.LogInformation("Begin grpc call from method {Method} for save text as binary", context.Method); var body = System.Text.Encoding.Default.GetString(request.File.ToByteArray()); await _textRepository.CreateAsync(new Text { Value = body }, context.CancellationToken); await _textRepository.SaveAsync(context.CancellationToken); context.Status = new Status(StatusCode.OK, "Save text as binary complete"); return(new SaveTextResponse { Result = true }); }
public async Task CreateAsync(CreateText createText) { var existByTile = await _textRepository.ExistByTileAsync(createText.Title); if (!existByTile) { await _textRepository.CreateAsync(createText); } else { throw new InvalidParamException(nameof(createText.Title), "A text with this title is already stored"); } }