예제 #1
0
        public IActionResult Editar(ContaViewModel contaViewModel)
        {
            if (ModelState.IsValid)
            {
                Usuario usuario = new Usuario
                {
                    CdUsuario = contaViewModel.Cd_usuario,
                    NmEmail   = contaViewModel.Nm_email,
                    NmSenha   = contaViewModel.Nm_senha,
                    NmUsuario = contaViewModel.Nm_usuario
                };

                var retorno = _usuarioAppService.EditarUsuario(usuario);
                ViewBag.Mensagem = retorno.mensagem.ToString();
                ViewBag.Codigo   = retorno.cdretorno;

                if (ViewBag.Codigo == 0)
                {
                    //Atualiza dados editados na sessão
                    var currentUser = JsonConvert.DeserializeObject <Usuario>(HttpContext.Session.GetString("Cd_usuario"));
                    currentUser.NmEmail   = contaViewModel.Nm_email;
                    currentUser.NmUsuario = contaViewModel.Nm_usuario;
                    currentUser.NmSenha   = contaViewModel.Nm_senha;

                    HttpContext.Session.Clear();
                    HttpContext.Session.SetString("Cd_usuario", JsonConvert.SerializeObject(currentUser));

                    return(RedirectToAction("Detalhar")); //colocar pop-up aqui informando a msg
                }
            }
            else
            {
                //erro
                ViewBag.Mensagem = "Alterações não estão validas!";
                ViewBag.Codigo   = 1;
            }

            return(View(contaViewModel));
        }