Example #1
0
        public void Repository_Sala_Deveria_Editar_Corretamente()
        {
            _sala = ObjectMother.GetSalaComId();
            _repository.Editar(_sala);
            Sala sala = _repository.GetById(_sala.Id);

            sala.Id.Should().Be(_sala.Id);
        }
Example #2
0
        public void Dado_um_CreateSessaoCommand_valido_a_sessao_deve_ser_criada()
        {
            var _espetaculo = _espetaculoRepository.GetById(Guid.NewGuid());
            var _sala       = _salaRepository.GetById(Guid.NewGuid());

            var command       = new CreateSessaoCommand(_espetaculo.Id, new DateTime(2020, 11, 3, 19, 0, 0), _sala.Id, 30);
            var commandResult = (GenericCommandResult)_handler.Handle(command);

            Assert.IsTrue(commandResult.Sucess);
        }
Example #3
0
        // Buscar dados do espetaculo
        // Buscar dados da sala
        // Verificar se o horario esta disponivel
        // Cadastrar Sessao
        public ICommandResult Handle(CreateSessaoCommand command)
        {
            command.Validate();
            if (command.Invalid)
            {
                return(new GenericCommandResult(false, "Dados inválidos", command.Notifications));
            }

            var espetaculo = _espetaculoRepository.GetById(command.EspetaculoId);

            //Verificar se o horario esta livre, isso inclui somar a duração do espetaculi
            if (_sessaoRepository
                .IsHorarioNotFree(
                    command.Horario,
                    command.Horario.AddMinutes(espetaculo.DuracaoMinutos), command.SalaId)
                )
            {
                return(new GenericCommandResult(false, "O horario na sala especificada esta ocupado"));
            }

            var sala   = _salaRepository.GetById(command.SalaId);
            var sessao = new Sessao(command.Horario, espetaculo, sala, command.ValorIngresso);

            AddNotifications(sessao);

            if (Invalid)
            {
                return(new GenericCommandResult(false, "Não foi possivel criar a sessão", this.Notifications));
            }

            _sessaoRepository.Add(sessao);

            return(new GenericCommandResult(true, "Sessão criada com sucesso"));
        }
Example #4
0
 public Sala GetById(int idSala)
 {
     try
     {
         return(_salaRepository.GetById(idSala));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 public Sala GetById(Guid id)
 {
     return(_salaRepository.GetById(id));
 }
        public Sala GetById(long Id)
        {
            Sala sala = _salaRepository.GetById(Id);

            return(sala);
        }