/// <summary> /// add a new user to DB /// </summary> /// <param name="enterUserId"></param> /// <param name="userName"></param> /// <param name="password"></param> /// <param name="firstName"></param> /// <param name="lastName"></param> /// <param name="roleId"></param> /// <param name="contactId"></param> /// <returns></returns> public static async Task <SignUpStatus> AddUser(int?enterUserId, string userName, string password, string firstName, string lastName, int?roleId, int?contactId) { using (var context = GetDBContext()) { var user = GetUserByUsername(userName); if (user != null) { return(SignUpStatus.UserExist); } SMA_Lookup_User entityUser = new SMA_Lookup_User(); entityUser.LoginName = userName; entityUser.Sel = CryptoController.CreateSalt(12); entityUser.PasswordHash = CryptoController.GenerateSaltedHash(password, entityUser.Sel); entityUser.FirstName = firstName; entityUser.LastName = lastName; entityUser.EnterDate = DateTime.Now; entityUser.IsActive = true; entityUser.EnterUserId = enterUserId; entityUser.RoleId = roleId; entityUser.ContactId = contactId; context.SMA_Lookup_User.Add(entityUser); var result = await context.SaveChangesAsync(); if (result > 0) { return(SignUpStatus.Success); } return(SignUpStatus.Failure); } }