コード例 #1
0
        public ActionResult Editar(CelulaViewmodel model)
        {
            try
            {
                #region preparação
                ViewBag.PessoasDisponiveis = Mapper.Map <IEnumerable <Pessoa>, IEnumerable <PessoaViewmodel> >(_svcPessoa.GetAll());
                #endregion

                //valida se não há erros no modelstate (caso o jquery validation falhe)
                if (!ModelState.IsValid)
                {
                    return(View(model));
                }

                //carerga a entidade da celula no banco de dados
                var entidade = _svcCelula.GetById(model.id_celula);

                //faz um backup dos participantes pois o Automapper zera os itens filho que não encontrados
                var bkp_pessoas = entidade.Pessoas.ToList();

                //faz o mapeamento das propriedades
                Mapper.Map <CelulaViewmodel, Celula>(model, entidade);

                //retorna alista de pessoas
                entidade.Pessoas = bkp_pessoas;

                //executa o update no banco
                _svcCelula.Update(entidade);

                //retorna a mensagem de sucesso que será exibida pelo javascript
                ViewBag.Mensagem = "Item modificado com sucesso";

                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                //seta mensagem de falha
                ViewBag.Mensagem = $"Erro ao processar o comando o erro foi: {ex.Message}";
                return(View(model));
            }
        }
コード例 #2
0
        public async Task <IHttpActionResult> Edit(CelulaViewModel celula)
        {
            if (ModelState.IsValid)
            {
                var _celulaDomain = await Task.FromResult(Mapper.Map <CelulaViewModel, Celula>(celula));

                if (_celulaDomain == null)
                {
                    return(NotFound());
                }
                else
                {
                    _celulaApp.Update(_celulaDomain);
                    return(Ok());
                }
            }
            else
            {
                return(BadRequest());
            }
        }