USP_UPDATE_EMAIL_BY_USERID

Parameters

Parameter Parameter Type Mode Description
@UserId int IN
@Email nchar IN
@RESETEMAILVERIFIEDSTATUS bit IN
@ChangedByUserId int IN

Definition

Copy


CREATE procedure dbo.USP_UPDATE_EMAIL_BY_USERID
(
    @UserId Int,
    @Email nchar(200),
  @RESETEMAILVERIFIEDSTATUS bit,
    @ChangedByUserId int = -1
)
as
begin
  declare @OldEmail nchar(200),@CurrentTime datetime=GETUTCDATE();
  select @OldEmail = ISNULL(Email,'') from ClientUsers where ID = @UserId;
    Update ClientUsers Set Email = @Email,UpdateDate=@CurrentTime, ISEMAILVERIFIED = case when @RESETEMAILVERIFIEDSTATUS =1 then 0 else ISEMAILVERIFIED end where ID = @UserId;

  If @OldEmail <> @Email
  begin
  DECLARE @ChangeAgentID UNIQUEIDENTIFIER;
  EXEC dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @ChangeAgentID OUTPUT;
  INSERT INTO [dbo].[CLIENTUSERSEMAILHISTORY]
           ([CLIENTUSERSID]
           ,[EMAIL]
           ,[CHANGEDBYUSERID]
           ,[ADDEDBYID]
           ,[CHANGEDBYID]
           ,[DATEADDED]
           ,[DATECHANGED])
     VALUES
           (@UserId
           ,@OldEmail
           ,@ChangedByUserId
           ,@ChangeAgentID
           ,@ChangeAgentID
           ,@CurrentTime
           ,@CurrentTime);
  end
end