Exemple #1
0
        public ActionResult Criar(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));
                }


                //mapeia a entidade
                var objEntidade = Mapper.Map <CelulaViewmodel, Celula>(model);

                //insere a entidade
                _svcCelula.Add(objEntidade);

                //seta a mensagem de sucesso que será exibido pelo javascript
                ViewBag.Mensagem = "Item criado com sucesso";

                //retorna pra lista
                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                //seta a mensagem de falha
                ViewBag.Mensagem = $"Erro ao processar o comando o erro foi: {ex.Message}";
                return(View(model));
            }
        }
Exemple #2
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));
            }
        }