-- ============================================= -- Author: -- Create date: -- Description: -- ============================================= CREATE PROCEDURE [dbo].[fis_admin_createUserAccount] @authaccount varchar(5) ,@name nvarchar(100) ,@firstname nvarchar(100) ,@title varchar(50) ,@gender varchar(1) ,@email varchar(255) ,@mobile varchar(50) ,@password nvarchar(20) ,@enc_key uniqueidentifier AS BEGIN SET NOCOUNT ON; DECLARE @utcnow datetime = GETUTCDATE(); DECLARE @auth smallint = [dbo].[fis_admin_getUserAuth](@authaccount); DECLARE @newid varchar(5); IF @auth > 1 BEGIN IF EXISTS (SELECT * FROM [dbo].[fis_useraccounts] WHERE [DateDeleted] is null AND ISNULL(@email,'') <> '' AND LTRIM(RTRIM(DECRYPTBYKEY([email_enc]))) like LTRIM(RTRIM(@email))) THROW 60001, 'email is already assigned to another account', 1; IF @password IS NULL BEGIN SET @password = [dbo].[ocms_fn_generatePassword] (8, 0, 1, 1); END SET @newid = [dbo].[fis_fn_useraccount_id] (); INSERT INTO [dbo].[fis_useraccounts] ([useraccount_id] ,[name_enc] ,[firstname_enc] ,[title_enc] ,[gender_enc] ,[email_enc] ,[mobile_enc] ,[password_enc] ,[UserDisabled] ,[DateDisabled] ,[UserCreated] ,[DateCreated] ,[UserModified] ,[DateModified] ,[UserDeleted] ,[DateDeleted]) VALUES (@newid ,ENCRYPTBYKEY(@enc_key, @name) ,ENCRYPTBYKEY(@enc_key, @firstname) ,ENCRYPTBYKEY(@enc_key, @title) ,ENCRYPTBYKEY(@enc_key, @gender) ,ENCRYPTBYKEY(@enc_key, @email) ,ENCRYPTBYKEY(@enc_key, @mobile) ,ENCRYPTBYKEY(@enc_key, @password) ,NULL --[UserDisabled] ,NULL --[DateDisabled] ,@authaccount ,@utcnow ,@authaccount ,@utcnow ,NULL ,NULL); SELECT TOP(1) *, @password as [newpassword] FROM [dbo].[fis_admin_getUserAccountList](@authaccount, @newid, null, null); END END