コード例 #1
0
        public override async Task <FileUploadResponse> UploadFile(IAsyncStreamReader <FileUploadRequest> requestStream, ServerCallContext context)
        {
            try
            {
                List <Dominio.Entidades.Livro> livrosCarga = null;

                while (await requestStream.MoveNext())
                {
                    using var ms = new MemoryStream(requestStream.Current.Content.ToByteArray());
                    livrosCarga  = await _csvServico.GetCargaLivros(ms);
                }

                return(new FileUploadResponse
                {
                    Message = "Carga dos livros realizada com sucesso",
                    Status = "SUCCESS",
                    CountUploaded = livrosCarga.Count
                });
            }
            catch (Exception ex)
            {
                return(new FileUploadResponse
                {
                    Message = ex.Message,
                    Status = "ERROR",
                    CountUploaded = 0
                });
            }
        }
コード例 #2
0
        public async Task CargaLivros_TransformeCSVParaListaDeLivros()
        {
            using var stream = new MemoryStream(File.ReadAllBytes(FILE));

            var livros = await _csvServico.GetCargaLivros(stream);

            livros.Should().HaveCount(5);
            livros.Should().SatisfyRespectively(
                l1 => l1.Titulo.Should().Be("Trivium"),
                l2 => l2.Titulo.Should().Be("O panóptico"),
                l3 => l3.Titulo.Should().Be("Kafka: Por uma literatura menor"),
                l4 => l4.Titulo.Should().Be("A divina comédia: 344"),
                l5 => l5.Titulo.Should().Be("Pensar e ser em geografia"));
        }