示例#1
0
        public async Task <string> changePassword(CambiarClaveRequest request)
        {
            string result          = "";
            var    tokenHandler    = new JwtSecurityTokenHandler();
            var    securityToken   = tokenHandler.ReadToken(request.token) as JwtSecurityToken;
            var    patron          = config["AppSettings:PatronConfig"];
            var    emailInToken    = securityToken.Claims.Where(c => c.Type == "email").Select(x => x.Value).FirstOrDefault();
            var    UserInToken     = securityToken.Claims.Where(c => c.Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/userdata").Select(x => x.Value).FirstOrDefault();
            var    paramUser_name  = new SqlParameter("@username", UserInToken);
            var    paramEmail_user = new SqlParameter("@email_user", emailInToken);
            var    ParamPass_user  = new SqlParameter("@pass_user", request.newPassword);
            var    paramPatron     = new SqlParameter("@Patron", patron);

            try
            {
                IList <TblUsuarios> usr = await db.Usuarios.FromSqlRaw("SP_cambiarClaveUsuario @username,@email_user,@pass_user,@Patron", paramUser_name, paramEmail_user, ParamPass_user, paramPatron).ToListAsync();

                if (usr != null && usr.Count != 0)
                {
                    result = "Se cambió la clave para el usuario " + UserInToken + " con correo " + usr.FirstOrDefault().email_user;
                    return(result);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine($"{ex.Message} {ex.InnerException?.Message}");
                result = ex.Message;
                throw;
            }

            return(result);
        }
示例#2
0
 public async Task <string> changePassword(CambiarClaveRequest request) => await repository.changePassword(request);
        public Task <string> changePassword(CambiarClaveRequest request)
        {
            var response = useCase.changePassword(request);

            return(response);
        }