/// <summary> /// Registra a entrada de um carro no estacionamento. /// </summary> public static void Checkin(string placa) { CheckIn check = new CheckIn(placa); if (String.Equals(check.car.placa, string.Empty)) { throw new Exception(String.Format("Placa inválida.", placa)); } if (Estacionamento.ObterTodosCarros().Count == VAGAS_TOTAIS) { throw new Exception("Estacionamento cheio!"); } foreach (Carro c in Estacionamento.ObterTodosCarros().Keys) { if (c.placa.Equals(check.car.placa)) { throw new Exception(String.Format("Carro placa '{0} já existe!", placa)); } } // if (Estacionamento.ObterTodosCarros().ContainsKey(check.car)) //throw new Exception(String.Format("Carro placa '{0} já existe!", placa)); Estacionamento.Adiciona(check.car, check.dataCheckIn); }
/// <summary> /// Registra a entrada de um carro no estacionamento. /// </summary> public static void Checkin(string placa) { ICommand _checkinCommand; //validation if (String.Equals(placa.Trim(), string.Empty)) { throw new Exception(String.Format("Placa inválida.", placa)); } if (Estacionamento.ObterCarros().Count == VAGAS_TOTAIS) { throw new Exception("Estacionamento cheio!"); } if (Estacionamento.ObterCarros().Any(c => c.Key.Placa.Contains(placa))) { throw new Exception(String.Format("Carro placa '{0} já existe!", placa)); } //TODO: replace this Car myCar = new Car(); myCar.Placa = placa; _checkinCommand = new CheckinCommand(myCar); _checkinCommand.Run(); }
/// <summary> /// Registra a saída de um carro do estacionamento. /// </summary> public static double Checkout(string placa) { ICommand _checkoutCommand; if (String.Equals(placa.Trim(), string.Empty)) { throw new Exception(String.Format("Placa inválida.", placa)); } if (!Estacionamento.ObterCarros().Any(c => c.Key.Placa.Contains(placa))) { throw new Exception(String.Format("Carro placa '{0}' NÃO existe!", placa)); } var entrada = Estacionamento.ObterCarros().FirstOrDefault(c => c.Key.Placa.Contains(placa)).Value; var valor = CalculaEstacionamento(entrada, DateTime.Now); Car myCar = new Car(); myCar.Placa = placa; _checkoutCommand = new CheckoutCommand(myCar); _checkoutCommand.Run(); return(valor); }
public static Estacionamento GetInstance() { if (Instance != null) { return(Instance); } Instance = new Estacionamento(); return(Instance); }
/// <summary> /// Registra a saída de um carro do estacionamento. /// </summary> public static double Checkout(string placa) { CheckOut check = new CheckOut(placa); if (String.Equals(check.car.placa, string.Empty)) { throw new Exception(String.Format("Placa inválida.", placa)); } if (!Estacionamento.ObterTodosCarros().ContainsKey(check.car)) { throw new Exception(String.Format("Carro placa '{0}' NÃO existe!", placa)); } var valor = CalculaEstacionamento(Estacionamento.ObterTodosCarros()[check.car], check.dataCheckOut); Estacionamento.Remover(check.car); return(valor); }
public CommandCheckin() { estacionamento = Estacionamento.GetInstance(); }
public void Run() { Estacionamento.Remover(_car); }
/// <summary> /// Retorna todos os carros no estacionamento /// </summary> public static IDictionary <Car, DateTime> ObterTodosCarros() { return(Estacionamento.ObterCarros()); }
public void Run() { Estacionamento.Adiciona(_car, DateTime.Now); }
public void Run() { Estacionamento.Add(_MyCar, _CheckinDate); }
public void Run() { Estacionamento.Remove(_MyCar.Placa); }