public ApplicationUser CreateUser(string username, SecureString password, bool isAdmin = false, bool isReadOnly = false) { string unsecuredPasswordString = password.ConvertToUnsecureString(); if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(unsecuredPasswordString)) return null; ApplicationUser user = new ApplicationUser(); using (var db = new TestcaseManagerDB()) { user.Username = username; string encryptedValue = cryptoService.Encrypt(unsecuredPasswordString); user.Password = encryptedValue; if(isReadOnly) user.IsReadOnly = true; if(isAdmin) user.IsAdmin = true; user.CreatedBy = AuthenticationManager.Instance().GetCurrentUsername; user.CreatedOn = DateTime.UtcNow; db.ApplicationUsers.Add(user); db.SaveChanges(); } return user; }
public void DeleteUser(int id) { using (var db = new TestcaseManagerDB()) { var user = db.ApplicationUsers.Where(u => u.UserId.Equals(id)).FirstOrDefault(); if (user != null) { db.ApplicationUsers.Remove(user); db.SaveChanges(); } } }
public ApplicationUser UpdateUser(int id, string username, SecureString password, bool isAdmin = false, bool isReadOnly = false) { if (string.IsNullOrEmpty(username)) return null; ApplicationUser user; using (var db = new TestcaseManagerDB()) { user = db.ApplicationUsers.Where(u => u.UserId.Equals(id)).FirstOrDefault(); if (user != null) { user.Username = username; string unsecuredPasswordString = password.ConvertToUnsecureString(); if (string.IsNullOrWhiteSpace(unsecuredPasswordString) == false) { string encryptedValue = cryptoService.Encrypt(unsecuredPasswordString); user.Password = encryptedValue; } user.IsAdmin = isAdmin; user.UpdatedBy = AuthenticationManager.Instance().GetCurrentUsername; db.SaveChanges(); } } return user; }