public void UpdateTeamsForHousehold(string householdId, List <Team> listOfTeam) { if (listOfTeam != null && listOfTeam.Count > 0) { List <Team> finalHHTeams = CalculateListOfTeams(householdId, listOfTeam); List <Action <IDbCommand> > configureCommandList = new List <Action <IDbCommand> >(); configureCommandList.Add(new Action <IDbCommand>(cmd => { cmd.CommandText = SqlConstants.DELETE_TeamEntitlement; DatabaseWrapperHelper.AddInStringParameter(cmd, "householdId", householdId); })); bool containsPrimary = false; foreach (Team team in listOfTeam) { if (team.Role == Team.TeamRole.Primary && (int)team.AssignType != 0) { if (!containsPrimary) { containsPrimary = true; } else { team.Role = Team.TeamRole.Secondary; } } configureCommandList.Add(new Action <IDbCommand>(cmd => { cmd.CommandText = team.AssignType != Team.TeamAssignmentType.UnKnown ? SqlConstants.CREATE_TEAM_ENTITLEMENT : SqlConstants.CREATE_TEAM_ENTITLEMENT_ASSIGNTYPE_0; DatabaseWrapperHelper.AddInStringParameter(cmd, "teamId", team.TeamId); DatabaseWrapperHelper.AddInStringParameter(cmd, "householdId", householdId); if (team.AssignType != Team.TeamAssignmentType.UnKnown) { DatabaseWrapperHelper.AddInStringParameter(cmd, "teamRole", ((int)team.Role).ToString()); DatabaseWrapperHelper.AddInStringParameter(cmd, "teamAssignmentType", ((int)team.AssignType).ToString()); } })); } bool result = _dbWrapper.ExecuteBatch(configureCommandList.ToArray(), _context.Identity.InstitutionId); } }