internal SCadastro MontaCadastro()
        {
            if (!TemCadastro())
            {
                return(null);
            }
            var cadastroVM = new SCadastroViewModel()
            {
                Login        = this.Login,
                Senha        = this.Senha,
                ValidaSenha  = this.ValidaSenha,
                AlterarSenha = this.AlterarSenha
            };

            if (!cadastroVM.SenhasValidas())
            {
                throw new EntidadeException("Senhas não são iguais", nameof(this.Senha));
            }

            return(Mapper.Map <SCadastroViewModel, SCadastro>(cadastroVM));
        }
        public ActionResult AlterarSenha(SCadastroViewModel cadastrovm)
        {
            if (Session["usuarioLogado"] != null)
            {
                cadastrovm.Pessoa_Id = (Session["usuarioLogado"] as SCadastroUsuarioLogadoViewModel).Pessoa_Id;
                cadastrovm.Login     = (Session["usuarioLogado"] as SCadastroUsuarioLogadoViewModel).Login;
            }

            try
            {
                //ModelState.Clear();
                if (!_scadastroApp.SenhaIgualAnterior(cadastrovm.Pessoa_Id, cadastrovm.SenhaAnterior))
                {
                    ModelState.AddModelError("SenhaAnterior", "Senha Inválido");
                }
                if (!cadastrovm.SenhasValidas())
                {
                    ModelState.AddModelError("ValidaSenha", "Senhas não são iguais");
                }
                if (ModelState.IsValid)
                {
                    var cadastro = Mapper.Map <SCadastroViewModel, SCadastro>(cadastrovm);
                    cadastro.AlterarSenha = false;
                    _scadastroApp.Update(cadastro);
                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    return(View(cadastrovm));
                }
            }
            catch (Exception exp)
            {
                ModelState.AddModelError(string.Empty, exp.Message);
                return(View(cadastrovm));
            }
        }