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); }
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); }
// 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")); }
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); }