Exemple #1
0
        public virtual void Entrada(Veiculo veiculo)
        {
            if (veiculo == null)
            {
                QuebraDeEspeficacao.Adicionar(new RegraDeNegocio("Veículo não foi informado."));
            }
            else
            {
                if (veiculo.Valido())
                {
                    QuebraDeEspeficacao.Adicionar(veiculo.QuebraDeEspeficacao.RegraDeNegocio);
                }
            }


            if (_provedorDoTempo != null)
            {
                if (_provedorDoTempo.DataHora == DateTime.MinValue)
                {
                    QuebraDeEspeficacao.Adicionar(new RegraDeNegocio("Data de entrada não foi informada."));
                }
            }

            if (!QuebraDeEspeficacao.HouveViolacao())
            {
                Veiculo           = veiculo;
                DataHoraDeEntrada = _provedorDoTempo.DataHora;
            }
        }
Exemple #2
0
        public Ticket(IProvedorDoTempo provedorDeDataHora)
        {
            if (provedorDeDataHora == null)
            {
                QuebraDeEspeficacao.Adicionar(new RegraDeNegocio("O provedor de data e hora não foi informado."));
            }

            _provedorDoTempo = provedorDeDataHora;
        }
Exemple #3
0
        public Veiculo(Placa placa)
        {
            if (placa == null)
            {
                QuebraDeEspeficacao.Adicionar(new RegraDeNegocio("A placa do veículo não foi informada."));
            }
            else
            {
                if (placa.Valido())
                {
                    QuebraDeEspeficacao.Adicionar(placa.QuebraDeEspeficacao.RegraDeNegocio);
                }
            }

            Placa = placa;
        }
Exemple #4
0
        public Placa(string valor)
        {
            if (string.IsNullOrWhiteSpace(valor))
            {
                QuebraDeEspeficacao.Adicionar(new RegraDeNegocio("A identificação da placa não foi informada."));
            }
            else
            {
                var regraValidaDoConteudo = new Regex("[a-zA-Z]{3}[0-9]{4}");
                if (regraValidaDoConteudo.IsMatch(valor))
                {
                    QuebraDeEspeficacao.Adicionar(new RegraDeNegocio("A placa deve conter letras e números"));
                }
            }

            Valor = valor;
        }