public static void SetPageTemplates(IConsoleRepository ConsoleRepository, TemplatedPage templatedPage, Template structureTemplate, Template holdingTemplate, Team team) { var pageStructureTemplate = new PageTemplate { IsVisible = true, Team = team, TemplatedPage = templatedPage, Template = structureTemplate, PageSectionId = 0 }; ConsoleRepository.Add<PageTemplate>(pageStructureTemplate); var holdingTempl_1 = new PageTemplate { IsVisible = true, Team = team, TemplatedPage = templatedPage, Template = holdingTemplate, PageSectionId = 1 }; ConsoleRepository.Add<PageTemplate>(holdingTempl_1); var holdingTempl_2 = new PageTemplate { IsVisible = true, Team = team, TemplatedPage = templatedPage, Template = holdingTemplate, PageSectionId = 2 }; ConsoleRepository.Add<PageTemplate>(holdingTempl_2); var holdingTempl_3 = new PageTemplate { IsVisible = true, Team = team, TemplatedPage = templatedPage, Template = holdingTemplate, PageSectionId = 3 }; ConsoleRepository.Add<PageTemplate>(holdingTempl_3); var holdingTempl_4 = new PageTemplate { IsVisible = true, Team = team, TemplatedPage = templatedPage, Template = holdingTemplate, PageSectionId = 4 }; ConsoleRepository.Add<PageTemplate>(holdingTempl_4); var holdingTempl_5 = new PageTemplate { IsVisible = true, Team = team, TemplatedPage = templatedPage, Template = holdingTemplate, PageSectionId = 5 }; ConsoleRepository.Add<PageTemplate>(holdingTempl_5); var holdingTempl_6 = new PageTemplate { IsVisible = true, Team = team, TemplatedPage = templatedPage, Template = holdingTemplate, PageSectionId = 6 }; ConsoleRepository.Add<PageTemplate>(holdingTempl_6); var holdingTempl_7 = new PageTemplate { IsVisible = true, Team = team, TemplatedPage = templatedPage, Template = holdingTemplate, PageSectionId = 7 }; ConsoleRepository.Add<PageTemplate>(holdingTempl_7); var holdingTempl_8 = new PageTemplate { IsVisible = true, Team = team, TemplatedPage = templatedPage, Template = holdingTemplate, PageSectionId = 8 }; ConsoleRepository.Add<PageTemplate>(holdingTempl_8); }
// ReSharper restore InconsistentNaming public override void SetupTeam() { this.SetUpCob(); this.SetUpTermsNCondition(); this.SetUpLinks(); this.SetUpUser(); QuoteTemplate01 = _consoleRepository.Query<QuoteTemplate>(qtmpl => qtmpl.Name == "Construction - Indication").SingleOrDefault(); QuoteTemplate01 = QuoteTemplate01 ?? new QuoteTemplate { Name = "Construction - Indication", RdlPath = "/Underwriting/Console/QuoteSheet_CO" }; SubmissionType01 = _consoleRepository.Query<SubmissionType>(styp => styp.Id == "CO").SingleOrDefault(); SubmissionType01 = SubmissionType01 ?? new SubmissionType { Id = "CO", Title = "Construction_Submission" }; Team01 = _consoleRepository.Query<Team>(team => team.Title == "Construction").SingleOrDefault(); if (Team01 == null) { Team01 = new Team { Title = "Construction", QuoteExpiryDaysDefault = 30, RelatedCOBs = new List<COB> { COB_AG, COB_CC }, Links = new List<Link> { Link_01,Link_02,Link_03,Link_04,Link_05,Link_06,Link_07,Link_08,Link_09,Link_10,Link_11,Link_12,Link_13,Link_14,Link_15,Link_16,Link_17,Link_18,Link_19 }, RelatedQuoteTemplates = new List<QuoteTemplate> { QuoteTemplate01 }, Memberships = new Collection<TeamMembership> { new TeamMembership { StartDate = DateTime.Now, User = User01 }, new TeamMembership { StartDate = DateTime.Now, User = User02 }, new TeamMembership { StartDate = DateTime.Now, User = User03 }, new TeamMembership { StartDate = DateTime.Now, User = User04 }, new TeamMembership { StartDate = DateTime.Now, User = User05 }, new TeamMembership { StartDate = DateTime.Now, User = User06 }, new TeamMembership { StartDate = DateTime.Now, User = User07 }, new TeamMembership { StartDate = DateTime.Now, User = User08 }, new TeamMembership { StartDate = DateTime.Now, User = User09 }, new TeamMembership { StartDate = DateTime.Now, User = User10 }, }, RelatedOffices = new List<Office> { _consoleRepository.Query<Office>(off => off.Id == "LON").Single(), _consoleRepository.Query<Office>(off => off.Id == "MIA").Single(), _consoleRepository.Query<Office>(off => off.Id == "LAB").Single(), _consoleRepository.Query<Office>(off => off.Id == "NYC").Single(), _consoleRepository.Query<Office>(off => off.Id == "SNG").Single(), _consoleRepository.Query<Office>(off => off.Id == "DUB").Single(), }, CreatedBy = "InitialSetup", CreatedOn = DateTime.Now, ModifiedBy = "InitialSetup", ModifiedOn = DateTime.Now, SubmissionTypeId = SubmissionType01.Id, DefaultPolicyType = "NONMARINE" }; //filters foreach (var teamMembership in Team01.Memberships) { var membershipLocal = teamMembership; _consoleRepository.Query<User>(u => u.Id == membershipLocal.User.Id, u => u.FilterMembers, u => u.FilterCOBs, u => u.FilterOffices).FirstOrDefault(); if (teamMembership.User.FilterMembers == null) teamMembership.User.FilterMembers = new Collection<User>(); foreach (var membership in Team01.Memberships) { if (teamMembership.User.FilterMembers.All(fm => fm.DomainLogon != membership.User.DomainLogon)) teamMembership.User.FilterMembers.Add(membership.User); } if (teamMembership.User.FilterCOBs == null) teamMembership.User.FilterCOBs = new Collection<COB>(); foreach (var relatedCoB in Team01.RelatedCOBs) { if (teamMembership.User.FilterCOBs.All(fc => fc.Id != relatedCoB.Id)) teamMembership.User.FilterCOBs.Add(relatedCoB); } if (teamMembership.User.FilterOffices == null) teamMembership.User.FilterOffices = new Collection<Office>(); foreach (var relatedOffice in Team01.RelatedOffices) { if (teamMembership.User.FilterOffices.All(fo => fo.Id != relatedOffice.Id)) teamMembership.User.FilterOffices.Add(relatedOffice); } } _consoleRepository.Add(Team01); } _consoleRepository.SaveChanges(); }
//public TeamDto CreateTeam(TeamDto teamDto) //{ // using (ConsoleRepository) // { // var existingTeam = ConsoleRepository.Query<Team>().FirstOrDefault(t => t.Title == teamDto.Title); // if (existingTeam != null) // throw new ArgumentException("Team already exists, please use another Title."); // var submissionType = SetSubmissionType(teamDto); // var team = new Team // { // Title = teamDto.Title, // }; // if (teamDto.Links != null) // { // var linkList = new List<Link>(); // foreach (var newLink in teamDto.Links) // { // var link = ConsoleRepository.Query<Link>().FirstOrDefault(l => l.Id == newLink.Id); // linkList.Add(link); // } // team.Links = linkList; // } // if (teamDto.Users != null) // { // var teamMembershipList = new List<TeamMembership>(); // var userList = new List<User>(); // foreach (var newUser in teamDto.Users) // { // var user = ConsoleRepository.Query<User>().FirstOrDefault(u => u.Id == newUser.Id); // userList.Add(user); // teamMembershipList.Add(new TeamMembership // { // User = user, // Team = team, // StartDate = DateTime.Now, // EndDate = null // }); // } // team.Memberships = teamMembershipList; // // Add Team FilterCOBs and FilterOffices to added users // foreach (var user in userList) // { // AddTeamFilters(teamMembershipList.Select(tm => tm.TeamId).Distinct(), user, team); // } // } // ConsoleRepository.Add<Team>(team); // ConsoleRepository.SaveChanges(); // // Add Page Templates for new Team // var structureTemplate = ConsoleRepository.Query<Template>().FirstOrDefault(t => t.Title.Equals("8 Section Template")); // var holdingTemplate = ConsoleRepository.Query<Template>().FirstOrDefault(t => t.Title.Equals("Holding Template")); // foreach (var templatedPage in ConsoleRepository.Query<TemplatedPage>().ToList()) // { // TemplatesModule.SetPageTemplates(ConsoleRepository, templatedPage, structureTemplate, holdingTemplate, team); // } // ConsoleRepository.SaveChanges(); // teamDto.Id = team.Id; // return teamDto; // } //} //public TeamDto EditTeam(TeamDto teamDto) //{ // using (ConsoleRepository) // { // var team = // ConsoleRepository.Query<Team>(t => t.Links).FirstOrDefault(t => t.Id == teamDto.Id); // if (team == null) // throw new Exception("Team to Edit does not exist"); // TODO: throw new NullReferenceException(team); // var submissionType = SetSubmissionType(teamDto); // ConsoleRepository.Attach<Team>(team); // team.Title = teamDto.Title; // if (teamDto.Links != null) // { // if (team.Links != null) // team.Links.Clear(); // var linkList = new List<Link>(); // foreach (var newLink in teamDto.Links) // { // var link = ConsoleRepository.Query<Link>().FirstOrDefault(l => l.Id == newLink.Id); // if (link != null) // linkList.Add(link); // } // team.Links = linkList; // } // // TeamMembership // if (teamDto.AllUsers != null) // { // foreach (var membership in teamDto.AllUsers) // { // var teamMembership = team.Memberships.FirstOrDefault(tm => tm.UserId == membership.Id); // if (teamMembership != null) // { // if (!membership.IsCurrentMembership) // { // teamMembership.IsCurrent = false; // teamMembership.EndDate = DateTime.Now; // // Remove team filters from user // var user = // team.Memberships.Where( // tm => tm.UserId == teamMembership.UserId && tm.IsCurrent == false) // .Select(t => t.User) // .FirstOrDefault(); // } // else // { // teamMembership.IsCurrent = true; // teamMembership.EndDate = null; // } // } // } // } // if (teamDto.Users != null) // { // var userList = new List<User>(); // foreach (var newMem in teamDto.Users) // { // var currentMem = team.Memberships.FirstOrDefault(m => m.UserId == newMem.Id); // var user = ConsoleRepository.Query<User>().FirstOrDefault(u => u.Id == newMem.Id); // if (currentMem == null) // { // team.Memberships.Add(new TeamMembership // { // TeamId = team.Id, // UserId = newMem.Id, // StartDate = DateTime.Now, // EndDate = null // }); // } // else // { // userList.Add(user); // currentMem.IsCurrent = true; // currentMem.EndDate = null; // } // } // // Add Team FilterCOBs and FilterOffices to added users // foreach (var user in userList) // { // AddTeamFilters(team.Memberships.Select(tm => tm.TeamId).Distinct(), user, team); // } // } // ConsoleRepository.SaveChanges(); // return teamDto; // } //} public string DeleteTeam(Team team) { using (ConsoleRepository) { ConsoleRepository.Attach<Team>(team); ConsoleRepository .Query<Team>(t => t.Id == team.Id, t => t.Links, t=>t.Memberships ).FirstOrDefault(); ConsoleRepository.Delete<Team>(team); ConsoleRepository.SaveChanges(); return "Successfully Deleted Team"; } }
public ActionResult DeleteTeam(Team team) { try { var result = AdminModuleManager.DeleteTeam(team); return new JsonNetResult { Data = result }; } catch (Exception ex) // TODO: Remove { LogHandler.WriteLog(ex.ToString(), LogSeverity.Error, LogCategory.BusinessComponent); throw new HttpException(500, "Server Error"); } }
private static void SetSectionTemplates(string pageTitle, List<Template> allTemplates, List<TemplatedPage> templatedPages, List<PageTemplate> pageTemplates, Team team) { // - Section 1 pageTemplates.Add(new PageTemplate { TemplatedPage = templatedPages.FirstOrDefault(s => s.PageTitle == pageTitle), Template = allTemplates.FirstOrDefault(t => t.Title == "Holding Template"), PageSectionId = 1, Team = team, IsVisible = true, IsReadOnly = false, CreatedBy = "InitialSetup", CreatedOn = DateTime.Now, ModifiedBy = "InitialSetup", ModifiedOn = DateTime.Now }); // Section 2 pageTemplates.Add(new PageTemplate { TemplatedPage = templatedPages.FirstOrDefault(s => s.PageTitle == pageTitle), Template = allTemplates.FirstOrDefault(t => t.Title == "Holding Template"), PageSectionId = 2, Team = team, IsVisible = true, IsReadOnly = false, CreatedBy = "InitialSetup", CreatedOn = DateTime.Now, ModifiedBy = "InitialSetup", ModifiedOn = DateTime.Now }); // Section 3 pageTemplates.Add(new PageTemplate { TemplatedPage = templatedPages.FirstOrDefault(s => s.PageTitle == pageTitle), Template = allTemplates.FirstOrDefault(t => t.Title == "Holding Template"), PageSectionId = 3, Team = team, IsVisible = true, IsReadOnly = false, CreatedBy = "InitialSetup", CreatedOn = DateTime.Now, ModifiedBy = "InitialSetup", ModifiedOn = DateTime.Now }); // Section 4 pageTemplates.Add(new PageTemplate { TemplatedPage = templatedPages.FirstOrDefault(s => s.PageTitle == pageTitle), Template = allTemplates.FirstOrDefault(t => t.Title == "Holding Template"), PageSectionId = 4, Team = team, IsVisible = true, IsReadOnly = false, CreatedBy = "InitialSetup", CreatedOn = DateTime.Now, ModifiedBy = "InitialSetup", ModifiedOn = DateTime.Now }); // Section 5 pageTemplates.Add(new PageTemplate { TemplatedPage = templatedPages.FirstOrDefault(s => s.PageTitle == pageTitle), Template = allTemplates.FirstOrDefault(t => t.Title == "Holding Template"), PageSectionId = 5, Team = team, IsVisible = true, IsReadOnly = false, CreatedBy = "InitialSetup", CreatedOn = DateTime.Now, ModifiedBy = "InitialSetup", ModifiedOn = DateTime.Now }); // Section 6 pageTemplates.Add(new PageTemplate { TemplatedPage = templatedPages.FirstOrDefault(s => s.PageTitle == pageTitle), Template = allTemplates.FirstOrDefault(t => t.Title == "Holding Template"), PageSectionId = 6, Team = team, IsVisible = true, IsReadOnly = false, CreatedBy = "InitialSetup", CreatedOn = DateTime.Now, ModifiedBy = "InitialSetup", ModifiedOn = DateTime.Now }); // Section 7 pageTemplates.Add(new PageTemplate { TemplatedPage = templatedPages.FirstOrDefault(s => s.PageTitle == pageTitle), Template = allTemplates.FirstOrDefault(t => t.Title == "Holding Template"), PageSectionId = 7, Team = team, IsVisible = true, IsReadOnly = false, CreatedBy = "InitialSetup", CreatedOn = DateTime.Now, ModifiedBy = "InitialSetup", ModifiedOn = DateTime.Now }); // Section 8 pageTemplates.Add(new PageTemplate { TemplatedPage = templatedPages.FirstOrDefault(s => s.PageTitle == pageTitle), Template = allTemplates.FirstOrDefault(t => t.Title == "Holding Template"), PageSectionId = 8, Team = team, IsVisible = true, IsReadOnly = false, CreatedBy = "InitialSetup", CreatedOn = DateTime.Now, ModifiedBy = "InitialSetup", ModifiedOn = DateTime.Now }); }
public string DeleteTeam(Team team) { using (ConsoleRepository) { ConsoleRepository.Attach<Team>(team); ConsoleRepository .Query<Team>(t => t.Id == team.Id, t=>t.AppAccelerators, t=>t.RelatedCOBs, t => t.RelatedOffices, t => t.RelatedQuoteTemplates, t => t.RelatedRisks, t => t.Links, t=>t.Memberships, t => t.TeamOfficeSettings.Select(tos => tos.MarketWordingSettings), t => t.TeamOfficeSettings.Select(tos => tos.TermsNConditionWordingSettings), t => t.TeamOfficeSettings.Select(tos => tos.SubjectToClauseWordingSettings) ).FirstOrDefault(); foreach (var teamOfficeSetting in team.TeamOfficeSettings.ToList()) { foreach (var marketWordingSetting in teamOfficeSetting.MarketWordingSettings.ToList()) { ConsoleRepository.Delete(marketWordingSetting); } foreach (var termsNConditionWordingSetting in teamOfficeSetting.TermsNConditionWordingSettings.ToList()) { ConsoleRepository.Delete(termsNConditionWordingSetting); } foreach (var subjectToClauseWordingSetting in teamOfficeSetting.SubjectToClauseWordingSettings.ToList()) { ConsoleRepository.Delete(subjectToClauseWordingSetting); } ConsoleRepository.Delete(teamOfficeSetting); } var teamUnderwriterSettings = ConsoleRepository.Query<TeamUnderwriterSetting>(tuw => tuw.TeamId == team.Id).ToList(); foreach (var teamUnderwriterSetting in teamUnderwriterSettings) { ConsoleRepository.Detach(teamUnderwriterSetting); } ConsoleRepository.Delete<Team>(team); ConsoleRepository.SaveChanges(); return "Successfully Deleted Team"; } }
public void AddTeamFilters(IEnumerable<int> teamIds, User user, Team team) { if (teamIds == null) return; bool teamPassedIn = team != null; foreach (var teamId in teamIds) { if (!teamPassedIn) // Has a new team been passed in? team = ConsoleRepository.Query<Team>(t => t.RelatedCOBs, t => t.RelatedOffices) .FirstOrDefault(t => t.Id == teamId); if (team == null) continue; // Cannot find team in DB var relatedCOBs = team.RelatedCOBs; if (relatedCOBs != null && relatedCOBs.Count > 0) { var cobsToAdd = (user.FilterCOBs != null && user.FilterCOBs.Count > 0) ? relatedCOBs.Except(user.FilterCOBs) : relatedCOBs; if (user.FilterCOBs == null) user.FilterCOBs = new Collection<COB>(); foreach (var cob in cobsToAdd) { user.FilterCOBs.Add(cob); } } var relatedOffices = team.RelatedOffices; if (relatedOffices == null || relatedOffices.Count <= 0) continue; var officesToAdd = (user.FilterOffices != null && user.FilterOffices.Count > 0) ? relatedOffices.Except(user.FilterOffices) : relatedOffices; if (user.FilterOffices == null) user.FilterOffices = new Collection<Office>(); foreach (var office in officesToAdd) { user.FilterOffices.Add(office); } } }
public TeamDto CreateTeam(TeamDto teamDto) { using (ConsoleRepository) { var existingTeam = ConsoleRepository.Query<Team>().FirstOrDefault(t => t.Title == teamDto.Title); if (existingTeam != null) throw new ArgumentException("Team already exists, please use another Title."); var team = new Team { Title = teamDto.Title, DefaultDomicile = teamDto.DefaultDomicile, DefaultMOA = teamDto.DefaultMOA, QuoteExpiryDaysDefault = teamDto.QuoteExpiryDaysDefault, DefaultPolicyType = (string.IsNullOrEmpty(teamDto.DefaultPolicyType)) ? "MARINE" : teamDto.DefaultPolicyType }; if (teamDto.Links != null) { var linkList = new List<Link>(); foreach (var newLink in teamDto.Links) { var link = ConsoleRepository.Query<Link>().FirstOrDefault(l => l.Id == newLink.Id); linkList.Add(link); } team.Links = linkList; } if (teamDto.RelatedCOBs != null) { var cobList = new List<COB>(); foreach (var newCOB in teamDto.RelatedCOBs) { var cob = ConsoleRepository.Query<COB>().FirstOrDefault(c => c.Id == newCOB.Id); cobList.Add(cob); } team.RelatedCOBs = cobList; } if (teamDto.RelatedOffices != null) { var officeList = new List<Office>(); foreach (var newOffice in teamDto.RelatedOffices) { var office = ConsoleRepository.Query<Office>().FirstOrDefault(c => c.Id == newOffice.Id); officeList.Add(office); } team.RelatedOffices = officeList; } if (teamDto.Users != null) { var teamMembershipList = new List<TeamMembership>(); var userList = new List<User>(); foreach (var newUser in teamDto.Users) { var user = ConsoleRepository.Query<User>().FirstOrDefault(u => u.Id == newUser.Id); userList.Add(user); teamMembershipList.Add(new TeamMembership { User = user, Team = team, StartDate = DateTime.Now, EndDate = null }); } team.Memberships = teamMembershipList; // Add Team FilterCOBs and FilterOffices to added users foreach (var user in userList) { AddTeamFilters(teamMembershipList.Select(tm => tm.TeamId).Distinct(), user, team); } } ConsoleRepository.Add<Team>(team); ConsoleRepository.SaveChanges(); teamDto.Id = team.Id; return teamDto; } }
// ReSharper restore InconsistentNaming public override void SetupTeam() { this.SetUpCob(); this.SetUpTermsNCondition(); this.SetUpLinks(); this.SetUpUser(); QuoteTemplate01 = _consoleRepository.Query<QuoteTemplate>(qtmpl => qtmpl.Name == "Marine&Energy").SingleOrDefault(); QuoteTemplate01 = QuoteTemplate01 ?? new QuoteTemplate { Name = "Marine&Energy", RdlPath = "/Underwriting/Console/QuoteSheet_ME" }; SubmissionType01 = _consoleRepository.Query<SubmissionType>(styp => styp.Id == "ME").SingleOrDefault(); SubmissionType01 = SubmissionType01 ?? new SubmissionType { Id = "ME", Title = "Marine&EnergyLiabilities_Submission" }; Team01 = _consoleRepository.Query<Team>(team => team.Title == "Marine & Energy Liability").SingleOrDefault(); if (Team01 == null) { Team01 = new Team { Title = "Marine & Energy Liability", QuoteExpiryDaysDefault = 30, RelatedCOBs = new List<COB> { COB_CL, COB_CR}, Links = new List<Link> { Link_01, Link_02, Link_03, Link_04, Link_05, Link_06, Link_07, Link_08, Link_09, Link_10, Link_11, Link_12, Link_13, Link_14, Link_15 }, RelatedQuoteTemplates = new List<QuoteTemplate> { QuoteTemplate01 }, Memberships = new Collection<TeamMembership> { new TeamMembership { StartDate = DateTime.Now, User = User01 }, new TeamMembership { StartDate = DateTime.Now, User = User02 }, new TeamMembership { StartDate = DateTime.Now, User = User03 }, new TeamMembership { StartDate = DateTime.Now, User = User04 }, new TeamMembership { StartDate = DateTime.Now, User = User05 }, new TeamMembership { StartDate = DateTime.Now, User = User06 }, new TeamMembership { StartDate = DateTime.Now, User = User07 }, new TeamMembership { StartDate = DateTime.Now, User = User08 }, new TeamMembership { StartDate = DateTime.Now, User = User09 }, new TeamMembership { StartDate = DateTime.Now, User = User10 }, new TeamMembership { StartDate = DateTime.Now, User = User11 }, new TeamMembership { StartDate = DateTime.Now, User = User12 }, new TeamMembership { StartDate = DateTime.Now, User = User13 }, new TeamMembership { StartDate = DateTime.Now, User = User14 }, new TeamMembership { StartDate = DateTime.Now, User = User15 }, new TeamMembership { StartDate = DateTime.Now, User = User16 }, new TeamMembership { StartDate = DateTime.Now, User = User17 }, }, RelatedOffices = new List<Office> { _consoleRepository.Query<Office>(off => off.Id == "LON").Single(), _consoleRepository.Query<Office>(off => off.Id == "MIA").Single(), _consoleRepository.Query<Office>(off => off.Id == "LAB").Single(), _consoleRepository.Query<Office>(off => off.Id == "NYC").Single(), _consoleRepository.Query<Office>(off => off.Id == "SNG").Single(), _consoleRepository.Query<Office>(off => off.Id == "DUB").Single(), }, CreatedBy = "InitialSetup", CreatedOn = DateTime.Now, ModifiedBy = "InitialSetup", ModifiedOn = DateTime.Now, SubmissionTypeId = SubmissionType01.Id, DefaultPolicyType = "MARINE" }; var teamOfficeSetting01 = new TeamOfficeSetting { Team = Team01, Office = _consoleRepository.Query<Office>(off => off.Id == "LON").Single(), TermsNConditionWordingSettings = new Collection<TermsNConditionWordingSetting> { new TermsNConditionWordingSetting {DisplayOrder = 1, TermsNConditionWording = TnC01}, new TermsNConditionWordingSetting {DisplayOrder = 2, TermsNConditionWording = TnC02}, new TermsNConditionWordingSetting {DisplayOrder = 3, TermsNConditionWording = TnC03}, new TermsNConditionWordingSetting {DisplayOrder = 4, TermsNConditionWording = TnC04}, new TermsNConditionWordingSetting {DisplayOrder = 5, TermsNConditionWording = TnC05} } }; var teamOfficeSetting02 = new TeamOfficeSetting { Team = Team01, Office = _consoleRepository.Query<Office>(off => off.Id == "MIA").Single(), TermsNConditionWordingSettings = new Collection<TermsNConditionWordingSetting> { new TermsNConditionWordingSetting {DisplayOrder = 1, TermsNConditionWording = TnC01}, new TermsNConditionWordingSetting {DisplayOrder = 2, TermsNConditionWording = TnC02}, new TermsNConditionWordingSetting {DisplayOrder = 3, TermsNConditionWording = TnC03}, new TermsNConditionWordingSetting {DisplayOrder = 4, TermsNConditionWording = TnC04}, new TermsNConditionWordingSetting {DisplayOrder = 5, TermsNConditionWording = TnC05} } }; var teamOfficeSetting03 = new TeamOfficeSetting { Team = Team01, Office = _consoleRepository.Query<Office>(off => off.Id == "LAB").Single(), TermsNConditionWordingSettings = new Collection<TermsNConditionWordingSetting> { new TermsNConditionWordingSetting {DisplayOrder = 1, TermsNConditionWording = TnC01}, new TermsNConditionWordingSetting {DisplayOrder = 2, TermsNConditionWording = TnC02}, new TermsNConditionWordingSetting {DisplayOrder = 3, TermsNConditionWording = TnC03}, new TermsNConditionWordingSetting {DisplayOrder = 4, TermsNConditionWording = TnC04}, new TermsNConditionWordingSetting {DisplayOrder = 5, TermsNConditionWording = TnC05} } }; var teamOfficeSetting04 = new TeamOfficeSetting { Team = Team01, Office = _consoleRepository.Query<Office>(off => off.Id == "NYC").Single(), TermsNConditionWordingSettings = new Collection<TermsNConditionWordingSetting> { new TermsNConditionWordingSetting {DisplayOrder = 1, TermsNConditionWording = TnC01}, new TermsNConditionWordingSetting {DisplayOrder = 2, TermsNConditionWording = TnC02}, new TermsNConditionWordingSetting {DisplayOrder = 3, TermsNConditionWording = TnC03}, new TermsNConditionWordingSetting {DisplayOrder = 4, TermsNConditionWording = TnC04}, new TermsNConditionWordingSetting {DisplayOrder = 5, TermsNConditionWording = TnC05} } }; var teamOfficeSetting05 = new TeamOfficeSetting { Team = Team01, Office = _consoleRepository.Query<Office>(off => off.Id == "SNG").Single(), TermsNConditionWordingSettings = new Collection<TermsNConditionWordingSetting> { new TermsNConditionWordingSetting {DisplayOrder = 1, TermsNConditionWording = TnC01}, new TermsNConditionWordingSetting {DisplayOrder = 2, TermsNConditionWording = TnC02}, new TermsNConditionWordingSetting {DisplayOrder = 3, TermsNConditionWording = TnC03}, new TermsNConditionWordingSetting {DisplayOrder = 4, TermsNConditionWording = TnC04}, new TermsNConditionWordingSetting {DisplayOrder = 5, TermsNConditionWording = TnC05} } }; var teamOfficeSetting06 = new TeamOfficeSetting { Team = Team01, Office = _consoleRepository.Query<Office>(off => off.Id == "DUB").Single(), TermsNConditionWordingSettings = new Collection<TermsNConditionWordingSetting> { new TermsNConditionWordingSetting {DisplayOrder = 1, TermsNConditionWording = TnC01}, new TermsNConditionWordingSetting {DisplayOrder = 2, TermsNConditionWording = TnC02}, new TermsNConditionWordingSetting {DisplayOrder = 3, TermsNConditionWording = TnC03}, new TermsNConditionWordingSetting {DisplayOrder = 4, TermsNConditionWording = TnC04}, new TermsNConditionWordingSetting {DisplayOrder = 5, TermsNConditionWording = TnC05} } }; Team01.TeamOfficeSettings = new Collection<TeamOfficeSetting> { teamOfficeSetting01, teamOfficeSetting02, teamOfficeSetting03, teamOfficeSetting04, teamOfficeSetting05, teamOfficeSetting06}; //filters foreach (var teamMembership in Team01.Memberships) { var membershipLocal = teamMembership; _consoleRepository.Query<User>(u => u.Id == membershipLocal.User.Id, u => u.FilterMembers, u => u.FilterCOBs, u => u.FilterOffices).FirstOrDefault(); if (teamMembership.User.FilterMembers == null) teamMembership.User.FilterMembers = new Collection<User>(); foreach (var membership in Team01.Memberships.Where(membership => membershipLocal.User.DomainLogon != membership.User.DomainLogon)) { if (teamMembership.User.FilterMembers.All(fm => fm.DomainLogon != membership.User.DomainLogon)) teamMembership.User.FilterMembers.Add(membership.User); } if (teamMembership.User.FilterCOBs == null) teamMembership.User.FilterCOBs = new Collection<COB>(); foreach (var relatedCoB in Team01.RelatedCOBs) { if (teamMembership.User.FilterCOBs.All(fc => fc.Id != relatedCoB.Id)) teamMembership.User.FilterCOBs.Add(relatedCoB); } if (teamMembership.User.FilterOffices == null) teamMembership.User.FilterOffices = new Collection<Office>(); foreach (var relatedOffice in Team01.RelatedOffices) { if (teamMembership.User.FilterOffices.All(fo => fo.Id != relatedOffice.Id)) teamMembership.User.FilterOffices.Add(relatedOffice); } } _consoleRepository.Add(Team01); } _consoleRepository.SaveChanges(); }