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; } }
public Ticket(IProvedorDoTempo provedorDeDataHora) { if (provedorDeDataHora == null) { QuebraDeEspeficacao.Adicionar(new RegraDeNegocio("O provedor de data e hora não foi informado.")); } _provedorDoTempo = provedorDeDataHora; }
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; }
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; }