public int Save(UserAccountDto userAccount) { var userEntity = new User(); userEntity.FirstName = userAccount.Name; userEntity.EmailAddress = userAccount.EmailAddress; userEntity.Password = userAccount.Password; userEntity.Avatar = userAccount.GravatarUrl; userEntity.CreatedDate = DateTime.UtcNow; db.Users.Add(userEntity); db.SaveChanges(); return userEntity.ID; }
/// <summary> /// Creates a salted PBKDF2 hash of the password. /// </summary> /// <param name="password">The password to hash.</param> /// <returns>The hash of the password.</returns> public static void CreateHash(User user,string password) { // Generate a random salt RNGCryptoServiceProvider csprng = new RNGCryptoServiceProvider(); byte[] salt = new byte[SALT_BYTES]; csprng.GetBytes(salt); // Hash the password and encode the parameters byte[] hash = PBKDF2(password, salt, PBKDF2_ITERATIONS, HASH_BYTES); //user.PasswordSalt = Convert.ToBase64String(salt); user.Password= PBKDF2_ITERATIONS + ":" + Convert.ToBase64String(salt) + ":" + Convert.ToBase64String(hash); }
public void SaveActivityForNewUserJoinedTeam(TeamMemberRequest teamMemberRequest, User user,int currentUserId,int teamId) { var activity = new Activity { CreatedByID = currentUserId, TeamID = teamId }; activity.ObjectID = user.ID; activity.ObjectType = "User"; activity.ActivityDesc = "Joined team " + teamMemberRequest.Team.Name; activity.NewState = user.FirstName; var result = repo.SaveActivity(activity); if (!result.Status) { var log = new Logger("Email"); log.Error(result); } }
public void SendNewAccountCreatedEmail(User user) { var emailTemplate = repo.GetEmailTemplate("NewAccount"); if (emailTemplate != null) { string emailSubject = emailTemplate.EmailSubject; string emailBody = emailTemplate.EmailBody; Email email = new Email(); email.ToAddress.Add(user.EmailAddress); emailBody = emailBody.Replace("@userName", user.FirstName); email.Body = emailBody; email.Subject = emailSubject; email.Send(); } }
public static void SetNewPassword(User user, string newPassword) { ICryptoService cryptoService = new PBKDF2(); int SALT_SIZE = 16; int HASH_ITERATIONS = 20; PasswordHash.CreateHash(user,newPassword); //a new password hash is generated from a generated salt with the passed settings // user.Password = cryptoService.Compute(newPassword, SALT_SIZE, HASH_ITERATIONS); //assigning the generated salt to the user //user.PasswordSalt = cryptoService.Salt; }
public OperationStatus SaveUser(User user) { try { if (user.ID == 0) { user.CreatedDate = DateTime.UtcNow; db.Users.Add(user); } else { db.Entry(user).State = EntityState.Modified; } db.SaveChanges(); } catch (DbEntityValidationException dbEx) { return OperationStatus.CreateFromException("error", dbEx); } catch (Exception ex) { var res = new OperationStatus(); } return new OperationStatus { OperationID = user.ID, Status = true }; }