public ActionResult AlteraSenha(AlteraSenhaViewModel usr)
        {
            if (User.Identity.IsAuthenticated)
            {
                if (ModelState.IsValid)
                {
                    try
                    {
                        var identityResult = _userManager.ChangePassword(usr.usuarioId, usr.senhaantiga, usr.senha);
                        if (identityResult.Succeeded)
                        {
                            //log.Info("Usuario alterou sua senha - " + usr.senhaantiga + " - " + usr.senha);

                            if (this.necessarioAlterarSenha)
                            {
                                if (_usuarioappservice.AlteraNecessarioAlterarSenha(usr.usuarioId, false).IsCompleted)
                                {
                                    return(RedirectToAction("Logoff"));
                                }
                                else
                                {
                                    ModelState.AddModelError("", "Não foi possível alterar sua senha !!!");
                                    return(View(usr));
                                }
                            }

                            return(RedirectToAction <HomeController>(c => c.Index()));//.WithSuccess("Senha alterada com sucesso !!!");
                        }
                        else
                        {
                            foreach (var error in identityResult.Errors)
                            {
                                ModelState.AddModelError("", error);
                            }
                        }
                    }
                    catch (Exception e)
                    {
                        ModelState.AddModelError("", e.Message);
                        return(View(usr));
                    }
                }
                return(View(usr));
            }
            return(RedirectToAction <HomeController>(c => c.Index()));
        }