public static Estacionamento TransformarViewEmModel(this EstacionamentoViewModel viewModel, Estacionamento entidade) { if (viewModel == null) { throw new ArgumentNullException(nameof(viewModel)); } if (entidade == null) { throw new ArgumentNullException(nameof(entidade)); } bool possuiChegada = DateTime.TryParse(viewModel.HorarioChegada, out DateTime chegada); bool possuiSaida = DateTime.TryParse(viewModel.HorarioSaida, out DateTime saida); bool possuiDuracao = DateTime.TryParse(viewModel.Duracao, out DateTime duracao); entidade.Id = viewModel.Id; entidade.Placa = viewModel.Placa; entidade.HorarioChegada = possuiChegada ? chegada : entidade.HorarioChegada; entidade.HorarioSaida = possuiSaida ? saida : (DateTime?)null; entidade.Duracao = possuiDuracao ? duracao : entidade.Duracao; entidade.TempoCobrado = viewModel.TempoCobrado; entidade.Preco = viewModel.Preco; entidade.ValorAPagar = viewModel.ValorAPagar; return(entidade); }
public async Task <ActionResult <EstacionamentoViewModel> > Adicionar(EstacionamentoViewModel estabelecimentoViewModel) { if (!ModelState.IsValid) { return(CustomResponse(ModelState)); } await _estacionamentoRepository.Adicionar(_mapper.Map <Estacionamento>(estabelecimentoViewModel)); return(CustomResponse(estabelecimentoViewModel)); }
public async Task <IActionResult> Atualizar([FromRoute] Guid id, EstacionamentoViewModel estabelecimentoViewModel) { if (id != estabelecimentoViewModel.Id) { NotificarErro("O id informado não é o mesmo que foi passado na query"); return(CustomResponse(estabelecimentoViewModel)); } if (!ModelState.IsValid) { return(CustomResponse(ModelState)); } await _estacionamentoService.Atualizar(_mapper.Map <Estacionamento>(estabelecimentoViewModel)); return(NoContent()); }