I would do something like this:
DECLARE @date DATETIME = getdate();
SELECT WeekStart = CAST(DATEADD(DAY,f.Dt+1, @date) AS date),
WeekEnd = CAST(DATEADD(DAY,f.Dt+8, @date) AS date)
FROM (VALUES(DATEPART(WEEKDAY,@date)-1)) AS w(Wd)
CROSS APPLY (VALUES(-IIF(w.Wd=0,7,w.Wd))) AS f(Dt);
"I cant stress enough the importance of switching from a sequential files mindset to set-based thinking. After you make the switch, you can spend your time tuning and optimizing your queries instead of maintaining lengthy, poor-performing code."
-- Itzik Ben-Gan 2001