public async Task <IHttpActionResult> PutQuadra(int id, Quadra quadra)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != quadra.Id_Quadra)
            {
                return(BadRequest());
            }

            db.Entry(quadra).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!QuadraExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Beispiel #2
0
 public void Add(Quadra Quadra)
 {
     using (MySqlConnection connection = new MySqlConnection(_connectionString))
     {
         connection.Query($"INSERT INTO {connection.Database}.Quadra(Nome, Endereco) VALUES('{Quadra.Nome}', '{Quadra.Endereco}')");
     }
 }
Beispiel #3
0
        public void Nao_deve_ser_uma_jogada_valida(int[] mao)
        {
            //When
            var jogada = new Quadra(mao);

            //Then
            Assert.False(jogada.EhValida());
        }
Beispiel #4
0
        public void Empresa_RetirarQuadraDeManutencao_DeveFalharPoisQuadraNaoEstaEmManutencao()
        {
            //Arrange
            Empresa empresa = _fixtureWrapper.Empresa.CriarEmpresaValida();
            Quadra  quadra  = _fixtureWrapper.Quadra.CriarQuadraValida();

            //Act & Assert
            empresa.Invoking(x => x.RetirarQuadraDeManutencao(quadra)).Should().Throw <DomainException>();
        }
Beispiel #5
0
        public void Empresa_ReativarQuadra_DeveFalharPoisQuadraJaEstaAtiva()
        {
            //Arrange
            Empresa empresa = _fixtureWrapper.Empresa.CriarEmpresaValida();
            Quadra  quadra  = _fixtureWrapper.Quadra.CriarQuadraValida();

            //Act & Assert
            empresa.Invoking(x => x.ReativarQuadra(quadra)).Should().Throw <DomainException>();
        }
Beispiel #6
0
        public void Empresa_AdicionarQuadra_DeveFalharPoisQuadraJaExisteNaEmpresa()
        {
            //Arrange
            Empresa empresa = _fixtureWrapper.Empresa.CriarEmpresaValida();
            Quadra  quadra  = _fixtureWrapper.Quadra.CriarQuadraValida();

            empresa.AdicionarQuadra(quadra);

            //Act & Arrange
            empresa.Invoking(x => x.AdicionarQuadra(quadra)).Should().Throw <DomainException>();
        }
        public async Task <IHttpActionResult> GetQuadra(int id)
        {
            Quadra quadra = await db.Quadras.FindAsync(id);

            if (quadra == null)
            {
                return(NotFound());
            }

            return(Ok(quadra));
        }
        public async Task <IHttpActionResult> PostQuadra(Quadra quadra)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Quadras.Add(quadra);
            await db.SaveChangesAsync();

            return(CreatedAtRoute("DefaultApi", new { id = quadra.Id_Quadra }, quadra));
        }
Beispiel #9
0
        public void Empresa_AdicionarQuadra_DeveAdicionarQuadraComSucesso()
        {
            //Arrange
            Empresa empresa = _fixtureWrapper.Empresa.CriarEmpresaValida();
            Quadra  quadra  = _fixtureWrapper.Quadra.CriarQuadraValida();

            //Act
            empresa.AdicionarQuadra(quadra);

            //Arrange
            empresa.Quadras.Should().HaveCount(1);
            quadra.Should().BeSameAs(empresa.Quadras.SingleOrDefault());
        }
Beispiel #10
0
    public void VerificarQuadras()
    {
        int numeroEsquinas = NumeroEsquinas();

        for (int i = 0; i < numeroEsquinas - 1; i++)
        {
            for (int j = 0; j < numeroEsquinas - 1; j++)
            {
                Quadra quadra = new Quadra(Esquinas[i, j], Esquinas[i + 1, j], Esquinas[i, j + 1], Esquinas[i + 1, j + 1]);
                Console.Write(quadra.SeguraToString());
            }
            Console.Write("\n");
        }
    }
        public async Task <IHttpActionResult> DeleteQuadra(int id)
        {
            Quadra quadra = await db.Quadras.FindAsync(id);

            if (quadra == null)
            {
                return(NotFound());
            }

            db.Quadras.Remove(quadra);
            await db.SaveChangesAsync();

            return(Ok(quadra));
        }
Beispiel #12
0
        public void Empresa_ColocarQuadraEmManutencao_DeveColocarQuadraEmEstadoDeManutencao()
        {
            //Arrange
            Empresa empresa = _fixtureWrapper.Empresa.CriarEmpresaValida();
            Quadra  quadra  = _fixtureWrapper.Quadra.CriarQuadraValida();

            quadra.Empresa = empresa;
            empresa.AdicionarQuadra(quadra);

            //Act
            empresa.ColocarQuadraEmManutencao(quadra);

            //Assert
            quadra.EmManutencao.Should().BeTrue();
        }
Beispiel #13
0
        public void Empresa_InativarQuadra_DeveInativarQuadraComSucesso()
        {
            //Arrange
            Empresa empresa = _fixtureWrapper.Empresa.CriarEmpresaValida();
            Quadra  quadra  = _fixtureWrapper.Quadra.CriarQuadraValida();

            quadra.Empresa = empresa;
            empresa.AdicionarQuadra(quadra);

            //Act
            empresa.InativarQuadra(quadra);

            //Assert
            quadra.Ativo.Should().BeFalse();
        }
Beispiel #14
0
        public async Task EmpresaCommandHandler_Handle_AprovarSolicitacaoLocacaoCommand_DeveDispararEventoDeSolicitacaoAprovada()
        {
            //Arrange

            Quadra  quadra  = _domainFixtures.Quadra.CriarQuadraValida();
            Empresa empresa = _domainFixtures.Empresa.CriarEmpresaValida();

            empresa.AdicionarQuadra(quadra);

            AprovarSolicitacaoLocacaoCommand aprovarSolicitacaoLocacaoCommand = _applicationFixtures.EmpresaCommandHandler.CriarAprovarSolicitacaoLocacaoCommandValidoComQuadra(quadra.Id);

            _applicationFixtures.Mocker.GetMock <IEmpresaRepository>().Setup(r => r.ObterEmpresaComQuadrasPorId(aprovarSolicitacaoLocacaoCommand.EmpresaId)).ReturnsAsync(empresa);

            //Act
            await _empresaCommandHandler.Handle(aprovarSolicitacaoLocacaoCommand, ApplicationFixtures.CancellationToken);

            //Assert
            _applicationFixtures.Mocker.Verify <IMediatrHandler>(m => m.Publish(It.IsAny <Event>()), Times.Once);
        }
Beispiel #15
0
        public async Task EmpresaCommandHandler_Handle_InativarQuadraCommand_DeveInativarQuadraDaEmpresa()
        {
            //Arrange
            InativarQuadraCommand inativarEmpresaCommand = _applicationFixtures.EmpresaCommandHandler.CriarInativarQuadraCommandValido();
            Quadra  quadra  = _domainFixtures.Quadra.CriarQuadraValida();
            Empresa empresa = _domainFixtures.Empresa.CriarEmpresaValida();

            empresa.AdicionarQuadra(quadra);
            _applicationFixtures.Mocker.GetMock <IEmpresaRepository>().Setup(r => r.ObterEmpresaPorId(inativarEmpresaCommand.EmpresaId)).ReturnsAsync(empresa);
            _applicationFixtures.Mocker.GetMock <IEmpresaRepository>().Setup(r => r.ObterQuadraPorId(inativarEmpresaCommand.QuadraId)).ReturnsAsync(quadra);
            _applicationFixtures.Mocker.GetMock <IEmpresaRepository>().Setup(r => r.Commit()).ReturnsAsync(true);

            //Act
            await _empresaCommandHandler.Handle(inativarEmpresaCommand, ApplicationFixtures.CancellationToken);

            //Assert
            quadra.Ativo.Should().BeFalse();
            _applicationFixtures.Mocker.Verify <IEmpresaRepository>(r => r.AtualizarQuadra(quadra), Times.Once);
            _applicationFixtures.Mocker.Verify <IEmpresaRepository>(r => r.AtualizarEmpresa(empresa), Times.Once);
            _applicationFixtures.Mocker.Verify <IMediatrHandler>(m => m.Publish(It.IsAny <Event>()), Times.Once);
        }
Beispiel #16
0
        public async Task <ValidationResult> Handle(AdicionarQuadraCommand message, CancellationToken cancellationToken)
        {
            if (!message.IsValid())
            {
                return(message.ValidationResult);
            }

            Empresa empresa = await _empresaRepository.ObterEmpresaPorId(message.EmpresaId);

            if (empresa is null)
            {
                return(await NotifyAndReturn("Empresa não encontrada."));
            }

            Quadra novaQuadra = new Quadra(message.TipoEsporteQuadra, message.TempoLocacao, message.ValorPorTempoLocado);

            empresa.AdicionarQuadra(novaQuadra);

            _empresaRepository.AdicionarQuadra(novaQuadra);

            return(await SaveAndPublish(new QuadraAdicionadaEmpresaEvent(novaQuadra.Id, message.UsuarioId, novaQuadra.EmpresaId, novaQuadra.Id,
                                                                         novaQuadra.TempoLocacao, novaQuadra.ValorPorTempoLocado, novaQuadra.TipoEsporteQuadra)));
        }
Beispiel #17
0
        public async Task <ValidationResult> Handle(AprovarSolicitacaoLocacaoCommand message, CancellationToken cancellationToken)
        {
            if (!message.IsValid())
            {
                return(message.ValidationResult);
            }

            Empresa empresa = await _empresaRepository.ObterEmpresaComQuadrasPorId(message.EmpresaId);

            if (empresa is null)
            {
                return(await NotifyAndReturn("Empresa não encontrada."));
            }

            Quadra quadraQueSeraLocada = empresa.Quadras.SingleOrDefault(q => q.Id.Equals(message.QuadraId));

            if (quadraQueSeraLocada is null)
            {
                return(await NotifyAndReturn($"Quadra não encontrada na empresa '{empresa.RazaoSocial}'."));
            }

            return(await PublishEvents(new SolicitacaoLocacaoAprovadaEvent(message.SolicitacaoId, empresa.Id, message.QuadraId,
                                                                           new InformacoesTempoQuadra(quadraQueSeraLocada.ValorPorTempoLocado, quadraQueSeraLocada.TempoLocacao))));
        }
Beispiel #18
0
        public async Task <ValidationResult> Handle(InativarQuadraCommand message, CancellationToken cancellationToken)
        {
            if (!message.IsValid())
            {
                return(message.ValidationResult);
            }

            Empresa empresa = await _empresaRepository.ObterEmpresaPorId(message.EmpresaId);

            if (empresa is null)
            {
                return(await NotifyAndReturn("Empresa não encontrada."));
            }

            Quadra quadraParaInativar = await _empresaRepository.ObterQuadraPorId(message.QuadraId);

            if (quadraParaInativar is null)
            {
                return(await NotifyAndReturn($"Quadra não encontrada na empresa {empresa.RazaoSocial}."));
            }

            try
            {
                empresa.InativarQuadra(quadraParaInativar);

                _empresaRepository.AtualizarQuadra(quadraParaInativar);

                _empresaRepository.AtualizarEmpresa(empresa);

                return(await SaveAndPublish(new QuadraInativadaEmpresaEvent(quadraParaInativar.Id, empresa.Id)));
            }
            catch (DomainException exception)
            {
                return(await NotifyAndReturn(exception.Message));
            }
        }
Beispiel #19
0
 public Quadra Atualizar(Quadra cliente)
 {
     return(_quadraRepository.Atualizar(cliente));
 }
Beispiel #20
0
 public void Adicionar(Quadra cliente)
 {
     _quadraRepository.Adicionar(cliente);
 }
 public Quadra Put(Guid id, Quadra quadra)
 {
     return(repository.Put(id, quadra));
 }
 public Quadra Post(Quadra quadra)
 {
     return(repository.Post(quadra));
 }
Beispiel #23
0
 public void AtualizarQuadra(Quadra quadra)
 {
     _context.Quadras.Update(quadra);
 }
 public Quadra Post(Quadra quadra)
 {
     return(repositoryBase.Add(quadra));
 }
 public Quadra Put(Guid id, Quadra quadra)
 {
     return(repositoryBase.Update(quadra));
 }
Beispiel #26
0
        public IActionResult Post([FromBody] Quadra Quadra)
        {
            _QuadraRepository.Add(Quadra);

            return(Ok(Quadra));
        }
Beispiel #27
0
 public void AdicionarQuadra(Quadra quadra)
 {
     _context.Quadras.Add(quadra);
 }