Try below code.
you have done all the work.
in your case statement you return the DisplayName that you want (removing '-' from lastname and every character following '-') so use that output and apply replace to replace your blank space to '.'
CASE WHEN CHARINDEX('-',[DisplayName])>0
THEN REPLACE(LEFT([DisplayName], CHARINDEX('-',[DisplayName])-1), ' ','.')
ELSE REPLACE([DisplayName], ' ','.')
END