Offline
SPSiteAdministration siteAdmin = new SPSiteAdministration(site.Url);
siteAdmin.ReadLocked = true;
siteAdmin.Dispose();
ReadOnly
SPSiteAdministration siteAdmin = new SPSiteAdministration(newSite.Url);
siteAdmin.ReadOnly = true;
siteAdmin.Dispose();