public JsonResult UpdateUser(UserInformation userInformation) { try { using (var data = new Entities()) { var existingCredo = data.Credentials.FirstOrDefault(x => x.Username == userInformation.Username.ToLower()); if (existingCredo == null) { return new JsonResult() { Data = new { Status = false, Message = "This Credential is not Recognised. Please try to Add the User" } } } ; existingCredo.FirstName = userInformation.Firstname; existingCredo.LastName = userInformation.Lastname; data.Entry(existingCredo).State = EntityState.Modified; data.SaveChanges(); var existingCredoMap = data.CredentialMaps.FirstOrDefault(x => !x.IsDeleted && x.CredentialId == existingCredo.Id); if (existingCredoMap != null) { data.CredentialMaps.Remove(existingCredoMap); data.SaveChanges(); } data.CredentialMaps.Add(new CredentialMap() { IsDeleted = false, CredentialId = existingCredo.Id, DateAssigned = DateTime.Now, RoleId = userInformation.UserRole }); data.SaveChanges(); ActivityLogger.Log("INFO", $"{userInformation.Username}: {userInformation.Lastname}, {userInformation.Firstname} has been Updated"); } return(new JsonResult() { Data = new { Status = true, Message = "Successful" } }); } catch (Exception ex) { ActivityLogger.Log(ex); return(new JsonResult() { Data = new { Status = false, Message = ex.Message } }); } }
public JsonResult CreateUser(UserInformation userInformation) { try { using (var data = new Entities()) { if (data.Credentials.FirstOrDefault(x => x.Username == userInformation.Username.ToLower()) != null) { return new JsonResult() { Data = new { Status = false, Message = "Username has been Used" } } } ; var passwordSalt = Encryption.GetUniqueKey(10); var credential = data.Credentials.Add(new Credential() { DateRegistered = DateTime.Now, FirstName = userInformation.Firstname, IsDeleted = false, LastName = userInformation.Lastname, PasswordData = Encryption.SaltEncrypt(Encryption.GetUniqueKey(6), passwordSalt), PasswordSalt = passwordSalt, UserState = (int)UserStates.New, Username = userInformation.Username.ToLower() }); data.SaveChanges(); data.CredentialMaps.Add(new CredentialMap() { IsDeleted = false, CredentialId = credential.Id, DateAssigned = DateTime.Now, RoleId = userInformation.UserRole }); data.SaveChanges(); new Thread(() => { if (Messenger.SendNewCredentials(userInformation.Username)) { ActivityLogger.Log("INFO", $"New Credentials have been sent Successfully"); } }).Start(); ActivityLogger.Log("INFO", $"{userInformation.Username}: {userInformation.Lastname}, {userInformation.Firstname} has been created"); } return(new JsonResult() { Data = new { Status = true, Message = "Successful" } }); } catch (Exception ex) { ActivityLogger.Log(ex); return(new JsonResult() { Data = new { Status = false, Message = ex.Message } }); } }