public ClaimsIdentityModel GetCurrentUser()
        {
            if (CurrentUser == null)
            {
                return(null);
            }
            Mapper.Initialize(cfg => {
                cfg.CreateMap <ApplicationUser, ClaimsIdentityModel>();
                cfg.CreateMap <RoleClaim, ClaimModel>();
            });
            ClaimsIdentityModel result = Mapper.Map <ClaimsIdentityModel>(CurrentUser);

            result.Claims = AccountQueries.GetClaimsDictionaryByUser(CurrentUser, this.DbContext);
            return(result);
        }
        public async Task <object> SendResetPassword([FromBody] ClaimsIdentityModel userModel)
        {
            ApplicationUser user = await UserManager.FindByEmailAsync(userModel.Email);

            if (user == null)
            {
                return new { error = true, message = "email_not_found" }
            }
            ;
            Notification not = new Notification
            {
                Subject = "Reset your password",
                Body    = "http://ng2net.start/reset-password/" + HttpContext.Current.Server.UrlEncode(user.Id) + "?token=" + HttpUtility.UrlEncode(this.UserManager.GeneratePasswordResetToken(user.Id)),
                From    = "*****@*****.**",
                To      = user.Email
            };

            this.DbContext.Notifications.Add(not);
            this.DbContext.SaveChanges();
            return(new { result = "success", message = "email_sent" });
        }