public async Task <IActionResult> Edit(int id, Atividade atividade)
        {
            if (!ModelState.IsValid)   //controller testa envio do formulário caso o javascript do usuario estiver desabilitado - evita cadastro null
            {
                var demandas = await _demandaService.FindAllAsync();

                var viewModel = new AtividadeFormViewModel {
                    Atividade = atividade, Demandas = demandas
                };
                return(View(viewModel));
            }

            if (id != atividade.Id)
            {
                return(RedirectToAction(nameof(Error), new { message = "Id não corresponde" }));
            }
            try
            {
                await _atividadeService.UpdateAsync(atividade);

                return(RedirectToAction(nameof(Index)));
            }
            catch (NotFoundException e)
            {
                return(RedirectToAction(nameof(Error), new { message = e.Message }));
            }
            catch (DbConcurrencyException e)
            {
                return(RedirectToAction(nameof(Error), new { message = e.Message }));
            }
        }
        public async Task <IActionResult> Create()
        {
            var demandas = await _demandaService.FindAllAsync();

            var viewModel = new AtividadeFormViewModel {
                Demandas = demandas
            };

            return(View(viewModel));
        }
        public async Task <IActionResult> Create(Atividade atividade)
        {
            if (!ModelState.IsValid)   //controller testa envio do formulário caso o javascript do usuario estiver desabilitado - evita cadastro null
            {
                var demandas = await _demandaService.FindAllAsync();

                var viewModel = new AtividadeFormViewModel {
                    Atividade = atividade, Demandas = demandas
                };
                return(View(viewModel));
            }

            await _atividadeService.InsertAsync(atividade);

            return(RedirectToAction(nameof(Index)));
        }
        // Edit versão GET
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction(nameof(Error), new { message = "Id não fornecido" }));
            }

            var obj = await _atividadeService.FindByIdAsync(id.Value);

            if (obj == null)
            {
                return(RedirectToAction(nameof(Error), new { message = "Id não localizado" }));
            }

            List <Demanda> demandas = await _demandaService.FindAllAsync();

            AtividadeFormViewModel viewModel = new AtividadeFormViewModel {
                Atividade = obj, Demandas = demandas
            };

            return(View(viewModel));
        }