// GET: Fechamentos/Create public async Task <IActionResult> Create() { var operadores = await _operadorService.FindAllAsync(); //criei uma variavel que através do serviço DepartamentoService, busca no banco de dados todos os departamentos var tipos = await _tipoService.FindAllAsync(); //criei uma variavel que através do serviço DepartamentoService, busca no banco de dados todos os departamentos var viewModel = new FechamentoFormViewModel { Operadores = operadores, Tipos = tipos }; // agora vamos instanciar um objeto do nosso viewModel, no Departamentos vamos iniciar com a lista de departamentos que acabamos de gerar acima return(View(viewModel)); //return View(); }
public async Task <IActionResult> Edit(int id, [Bind("Id,TipoId,OperadorId,Data,Empresa,Valor,Taxa,Despesa,Fluxo,Banco")] Fechamento fechamento) { if (id != fechamento.Id) { return(NotFound()); } if (ModelState.IsValid) { try { await _fechamentoService.UpdateAsync(fechamento); } catch (DbUpdateConcurrencyException) { if (!await _fechamentoService.FechamentoExistsAsync(fechamento.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } //criei a lista de departamentos e atraves da ViewModel OperadorFormViewModel, consigo apresentar na tela de edição o combo de departamentos para a edição do operador var operadores = await _operadorService.FindAllAsync(); var tipos = await _tipoService.FindAllAsync(); var viewModel = new FechamentoFormViewModel { Fechamento = fechamento, Operadores = operadores, Tipos = tipos }; return(View(viewModel)); // agora não mais retornando o operador somente, mas o operador e a lista de departamentos }
public async Task <IActionResult> Create([Bind("Id,TipoId,Data,Empresa,Valor,Taxa,Despesa,Fluxo,Banco,OperadorId,Status")] Fechamento fechamento) { if (ModelState.IsValid) { await _fechamentoService.InsertAsync(fechamento); return(RedirectToAction(nameof(Index))); } //return View(fechamento); //foi criado assim pelo framework, porem agora será pelo FechamentoFormViewModel //se as validações não foram atendidas não é criado na tabela e devolve com o objeto incompleto sem criar na tabela //essa situação pode ocorrer se as validações não foram feita a nivel de JavaScript //criei a lista de departamentos e atraves da ViewModel FechamentoFormViewModel, consigo apresentar na tela de edição o combo de Operadores para a edição do operador var operadores = await _operadorService.FindAllAsync(); var tipos = await _tipoService.FindAllAsync(); var viewModel = new FechamentoFormViewModel { Operadores = operadores, Tipos = tipos }; return(View(viewModel)); // agora não mais retornando o operador somente, mas o operador e a lista de departamentos, com os erros de validação }
// GET: Fechamentos/Edit/5 public async Task <IActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } var fechamento = await _fechamentoService.FindByIdAsync(id.Value); if (fechamento == null) { return(NotFound()); } //criei a lista de departamentos e atraves da ViewModel OperadorFormViewModel, consigo apresentar na tela de edição o combo de departamentos para a edição do operador List <Operador> operadores = await _operadorService.FindAllAsync(); List <Tipo> tipos = await _tipoService.FindAllAsync(); FechamentoFormViewModel viewModel = new FechamentoFormViewModel { Fechamento = fechamento, Operadores = operadores, Tipos = tipos }; return(View(viewModel)); // agora não mais retornando o operador somente, mas o operador e a lista de departamentos }