示例#1
0
        public async Task DeveEditarUmaLinha()
        {
            //arrange
            var linhaDto = new LinhaDto()
            {
                Id = 1, Nome = "Linha 2"
            };
            var linha = new Domain.Entities.Linha(
                nome: "Linha 1",
                id: 1
                );

            await context.AddAsync(linha);

            await context.SaveChangesAsync();

            context.Entry(linha).State = EntityState.Detached;

            //act
            await editarLinha.Executar(linhaDto);

            var linhaCadastrada = await context.Linhas.FindAsync(linha.Id);

            //assert
            Assert.Equal(linhaDto.Nome, linhaCadastrada.Nome);
        }
示例#2
0
        public async Task Executar(LinhaDto linhaDto)
        {
            var linha = new Domain.Entities.Linha(
                linhaDto.Nome
                );

            await context.AddAsync(linha);

            await context.SaveChangesAsync();
        }
示例#3
0
        public void Post([FromBody] LinhaDto linhaDto)
        {
            var linha = new Linha
            {
                NumeroLinha  = linhaDto.NumeroLinha,
                NomeLinha    = linhaDto.NomeLinha,
                TipoOnibusId = linhaDto.TipoOnibusId
            };

            _ctx.Add(linha);
            _ctx.SaveChanges();
        }
示例#4
0
        public async Task DeveCadastrarUmaLinha()
        {
            //arrange
            var linhaDto = new LinhaDto()
            {
                Nome = "Linha 1"
            };

            //act
            await cadastrarLinha.Executar(linhaDto);

            var linhaFoiCadastrada = await context.Linhas.AnyAsync(x => x.Nome == linhaDto.Nome);

            //assert
            Assert.True(linhaFoiCadastrada);
        }
        public async Task Executar(LinhaDto linhaDto)
        {
            var linhaExiste = await context.Linhas.AnyAsync(x => x.Id == linhaDto.Id);

            if (linhaExiste)
            {
                var linha = new Domain.Entities.Linha(
                    linhaDto.Nome,
                    id: linhaDto.Id
                    );

                context.Update(linha);
                await context.SaveChangesAsync();
            }
            else
            {
                Notifications.Add("not-found", "Linha não encontrada!");
            }
        }
示例#6
0
        public async Task NaoDeveEditarUmaLinha()
        {
            //arrange
            var linhaDto = new LinhaDto()
            {
                Id = 2, Nome = "Linha 2"
            };
            var linha = new Domain.Entities.Linha(
                nome: "Linha 1",
                id: 1
                );

            await context.AddAsync(linha);

            await context.SaveChangesAsync();

            //act
            await editarLinha.Executar(linhaDto);

            //assert
            Assert.True(editarLinha.Notifications.ContainsKey("not-found"));
        }
        public async Task <IActionResult> Put([FromServices] EditarLinha editarLinha, LinhaDto linhaDto)
        {
            if (ModelState.IsValid)
            {
                await editarLinha.Executar(linhaDto);

                if (editarLinha.Notifications.Any())
                {
                    return(BadRequest(editarLinha.Notifications));
                }

                return(Ok());
            }

            return(BadRequest(linhaDto));
        }
        public async Task <IActionResult> Post([FromServices] CadastrarLinha cadastrarLinha, LinhaDto linhaDto)
        {
            if (ModelState.IsValid)
            {
                await cadastrarLinha.Executar(linhaDto);

                return(Ok());
            }

            return(BadRequest(linhaDto));
        }