The below code demonstrates how you can assign a SharePoint Group to a SharePoint site using the SharePoint object model.
SPSite spsite = new SPSite("Site_Name");
try
{
using (SPWeb web = spsite.OpenWeb())
{
web.AllowUnsafeUpdates = true;
SPGroup sgrp = web.SiteGroups["Group_Name"];
SPRoleDefinition roleDefinition = web.RoleDefinitions.GetByType(SPRoleType.Reader);
SPRoleAssignment roleAssignment = new SPRoleAssignment((SPPrincipal)sgrp);
roleAssignment.RoleDefinitionBindings.Add(roleDefinition);
web.RoleAssignments.Add(roleAssignment);
web.Update();
}
}
catch (Exception ex)
{
LoggingManager.WriteEventToLogFile(ex);
}