public List <EstacionamentoOutPut> getVeiculos() { var veiculos = new List <EstacionamentoOutPut>(); if (_veiculosEstacionados == null) { return(veiculos); } var preco = TemTabelaPreco() ? _tabelaPreco.Preco : 2; var tolerancia = TemTabelaPreco() ? _tabelaPreco.Tolerancia : 0; foreach (var veiculoEstacionado in _veiculosEstacionados) { var estacionamentoOutPut = new EstacionamentoOutPut(); estacionamentoOutPut.Estacionamento = veiculoEstacionado; estacionamentoOutPut.Veiculo = veiculoEstacionado.Veiculo; var duracao = DateTime.Now.Subtract(veiculoEstacionado.HoraChegada); estacionamentoOutPut.Duracao = duracao.ToString(); var tempoCobrado = this.TempoCobrado(duracao.TotalHours); estacionamentoOutPut.TempoCobrado = tempoCobrado; estacionamentoOutPut.Preco = PrecoFormatado(preco); estacionamentoOutPut.ValorAPagar = ((tempoCobrado - (tolerancia / 60)) * preco).ToString("C", CultureInfo.CurrentCulture); veiculos.Add(estacionamentoOutPut); } return(veiculos); }
public void MarcarSaida(MarcarSaidaDTO marcarSaida) { var estacionamento = _dbContext.Estacionamentos .Include(e => e.Veiculo) .Where(e => e.Id == marcarSaida.Id) .FirstOrDefault(); estacionamento.HoraSaida = DateTime.Now; var estacionamentoOutPut = new EstacionamentoOutPut(); estacionamentoOutPut.Estacionamento = estacionamento; estacionamentoOutPut.Veiculo = estacionamento.Veiculo; var duracao = DateTime.Now.Subtract(estacionamento.HoraChegada); estacionamentoOutPut.Duracao = duracao.ToString(); var tempoCobrado = this.TempoCobrado(duracao.TotalHours); estacionamentoOutPut.TempoCobrado = tempoCobrado; estacionamentoOutPut.Preco = this.getTabelaPreco().Preco.ToString(); var tolerancia = this.getTabelaPreco() != null?this.getTabelaPreco().Tolerancia : 0; estacionamentoOutPut.ValorAPagar = ((tempoCobrado - (tolerancia / 60)) * this.getTabelaPreco().Preco).ToString(); estacionamento.ValorPagar = float.Parse(estacionamentoOutPut.ValorAPagar); _dbContext.Update(estacionamento); _dbContext.SaveChanges(); }