public async Task Executar(ParadaDto paradaDto) { var parada = new Domain.Entities.Parada( paradaDto.Nome, new Domain.ValueObjects.Localizacao( paradaDto.Localizacao.Latitude, paradaDto.Localizacao.Longitude ) ); await context.AddAsync(parada); await context.SaveChangesAsync(); }
public async Task NaoDeveVincularUmaParadaNaLinhaPoisAParadaJaEstaVinculada() { //arrange var paradaNaLinhaDto = new ParadaNaLinhaDto() { LinhaId = 1, ParadaId = 2 }; var paradaDto = new ParadaDto() { Nome = "Parada 1", Localizacao = new LocalizacaoDto() { Latitude = -8.771593, Longitude = -63.847208 } }; var parada = new Domain.Entities.Parada( paradaDto.Nome, new Domain.ValueObjects.Localizacao( paradaDto.Localizacao.Latitude, paradaDto.Localizacao.Longitude ) ); var linha = new Domain.Entities.Linha( nome: "Linha 1", id: 1 ); linha.AdicionarParada(parada); await context.AddAsync(parada); await context.AddAsync(linha); await context.SaveChangesAsync(); //act await vincularParada.Executar(paradaNaLinhaDto); //assert Assert.False(vincularParada.Notifications.ContainsKey("parada-vinculada")); }
public async Task DeveDesvincularUmaParadaNaLinha() { //arrange var paradaDto = new ParadaDto() { Nome = "Parada 1", Localizacao = new LocalizacaoDto() { Latitude = -8.771593, Longitude = -63.847208 } }; var parada = new Domain.Entities.Parada( paradaDto.Nome, new Domain.ValueObjects.Localizacao( paradaDto.Localizacao.Latitude, paradaDto.Localizacao.Longitude ) ); var linha = new Domain.Entities.Linha( nome: "Linha 1", id: 1 ); linha.AdicionarParada(parada); await context.AddAsync(parada); await context.AddAsync(linha); await context.SaveChangesAsync(); //act await desvincularParada.Executar(linha.Id, parada.Id); //assert Assert.True(linha.Paradas.Count == 0); }
public async Task Executar(ParadaDto paradaDto) { var paradaExiste = await context.Paradas.AnyAsync(x => x.Id == paradaDto.Id); if (paradaExiste) { var parada = new Domain.Entities.Parada( paradaDto.Nome, new Domain.ValueObjects.Localizacao( paradaDto.Localizacao.Latitude, paradaDto.Localizacao.Longitude ), id: paradaDto.Id ); context.Update(parada); await context.SaveChangesAsync(); } else { Notifications.Add("not-found", "Parada não encontrado!"); } }
public async Task <IActionResult> Put([FromServices] EditarParada editarParada, ParadaDto paradaDto) { if (ModelState.IsValid) { await editarParada.Executar(paradaDto); if (editarParada.Notifications.Any()) { return(BadRequest(editarParada.Notifications)); } return(Ok()); } return(BadRequest(paradaDto)); }
public async Task <IActionResult> Post([FromServices] CadastrarParada cadastrarParada, ParadaDto paradaDto) { if (ModelState.IsValid) { await cadastrarParada.Executar(paradaDto); return(Ok()); } return(BadRequest(paradaDto)); }