public RequiredDataUserDto GetRequiredDataCreateUser() { var requiredDataDto = new RequiredDataUserDto(); using (ConsoleRepository) { // 1. Get All TeamsMemberships var allTeamMemberships = ConsoleRepository.Query<Team>().ToList().Select(tm => { return new TeamMembershipDto { Id = tm.Id, EndDate = null, StartDate = DateTime.Now, Team = new TeamDto { Id = tm.Id, Title = tm.Title } }; }).ToList(); // 2. Get AllFilterCOBs var allCOBs = ConsoleRepository.Query<COB>().ToList().Select(c => { return new COBDto { Id = c.Id, Narrative = c.Narrative }; }).ToList(); // 3. AllFilterOffices var allOffices = ConsoleRepository.Query<Office>().ToList().Select(o => { return new OfficeDto { Id = o.Id, Title = o.Name }; }).ToList(); // 4. AllFilterMembers var allUsers = ConsoleRepository.Query<User>().ToList().Select(u => { return new UserDto { Id = u.Id, DomainLogon = u.DomainLogon }; }).ToList(); requiredDataDto.AllTeamMemberships = allTeamMemberships; requiredDataDto.AllFilterCOBs = allCOBs; requiredDataDto.AllFilterOffices = allOffices; requiredDataDto.AllFilterMembers = allUsers; requiredDataDto.AllAdditionalCOBs = allCOBs; requiredDataDto.AllAdditionalOffices = allOffices; requiredDataDto.AllAdditionalUsers = allUsers; requiredDataDto.AllPrimaryOffices = allOffices; requiredDataDto.AllOriginatingOffices = allOffices; requiredDataDto.AllDefaultUnderwriters = allUsers; } return requiredDataDto; }
//public static RequiredDataUserDto GetRequiredDataEditUser(string userName, IConsoleRepository _consoleRepository) //{ // var requiredDataDto = new RequiredDataUserDto(); // using (_consoleRepository) // { // var user = _consoleRepository.Query<User>( // u => u.TeamMemberships.Select(t => t.Team); // if (user == null) // throw new Exception("User not Found"); // TODO: throw new NullReferenceException(user) // var allTeams = _consoleRepository.Query<Team>().Select(t => t).ToList(); // var currentUserTeamMemberships = // _consoleRepository.Query<TeamMembership>() // .Where(tm => tm.User.DomainLogon.Contains(userName) && tm.IsCurrent) // .Select(t => t.Team) // .ToList(); // var allTeamMemberships = allTeams.Except(currentUserTeamMemberships).Select(t => // { // // Create a new empty team Membership // return new TeamMembershipDto // { // Id = 0, // Team = new TeamDto {Id = t.Id, Title = t.Title}, // EndDate = null, // StartDate = new DateTime() // }; // }).OrderBy(tm => tm.Team.Title).ToList(); // var allAdditionalUsers = // _consoleRepository.Query<User>(u => true, u => u.TeamMemberships.Select(tm => tm.Team)).ToList().Except(currentAdditionalUsers).Select(u => // { // return new UserDto { Id = u.Id, DomainLogon = u.DomainLogon, TeamMemberships = u.TeamMemberships.Where(tm => tm.IsCurrent && tm.PrimaryTeamMembership).Select(tm => new TeamMembershipDto { Team = new TeamDto{Title = tm.Team.Title} }).ToList() }; // }).OrderBy(u => u.DomainLogon).ToList(); // requiredDataDto.AllTeamMemberships = allTeamMemberships; // requiredDataDto.AllAdditionalUsers = allAdditionalUsers; // } // return requiredDataDto; //} public RequiredDataUserDto GetRequiredDataCreateUser() { var requiredDataDto = new RequiredDataUserDto(); using (ConsoleRepository) { // 1. Get All TeamsMemberships var allTeamMemberships = ConsoleRepository.Query<Team>().OrderBy(t => t.Title).ToList().Select(tm => { return new TeamMembershipDto { Id = tm.Id, EndDate = null, StartDate = DateTime.Now, Team = new TeamDto { Id = tm.Id, Title = tm.Title } }; }).ToList(); // 4. AllFilterMembers var allUsers = ConsoleRepository.Query<User>(u => true, u => u.TeamMemberships.Select(tm => tm.Team)).OrderBy(u => u.DomainLogon).ToList().Select(u => { return new UserDto { Id = u.Id, DomainLogon = u.DomainLogon, TeamMemberships = u.TeamMemberships.Where(tm => tm.IsCurrent && tm.PrimaryTeamMembership).Select(tm => new TeamMembershipDto { Team = new TeamDto { Title = tm.Team.Title } }).ToList() }; }).ToList(); requiredDataDto.AllTeamMemberships = allTeamMemberships; requiredDataDto.AllFilterMembers = allUsers; requiredDataDto.AllAdditionalUsers = allUsers; requiredDataDto.AllDefaultUnderwriters = allUsers; } return requiredDataDto; }
public static RequiredDataUserDto GetRequiredDataEditUser(string userName, IConsoleRepository _consoleRepository) { var requiredDataDto = new RequiredDataUserDto(); using (_consoleRepository) { var user = _consoleRepository.Query<User>(u => u.FilterCOBs, u => u.FilterOffices, u => u.FilterMembers, u => u.AdditionalCOBs, u => u.AdditionalOffices, u => u.AdditionalUsers, u => u.OpenTabs, u => u.TeamMemberships.Select(t => t.Team), u => u.DefaultOrigOffice, u => u.DefaultUW, u => u.Underwriter, u => u.DefaultUW.Underwriter).FirstOrDefault(u => u.DomainLogon == userName); if (user == null) throw new Exception("User not Found"); // TODO: throw new NullReferenceException(user) var allTeams = _consoleRepository.Query<Team>().Select(t => t).ToList(); var currentUserTeamMemberships = _consoleRepository.Query<TeamMembership>() .Where(tm => tm.User.DomainLogon.Contains(userName) && tm.IsCurrent) .Select(t => t.Team) .ToList(); var allTeamMemberships = allTeams.Except(currentUserTeamMemberships).Select(t => { // Create a new empty team Membership return new TeamMembershipDto { Id = 0, Team = new TeamDto {Id = t.Id, Title = t.Title}, EndDate = null, StartDate = new DateTime() }; }).OrderBy(tm => tm.Team.Title).ToList(); // 2. Get AllFilterCOBs Except the ones that the user is already in var currentFilterCOBs = user.FilterCOBs.Select(fc => fc); var allFilterCOBs = _consoleRepository.Query<COB>().ToList().Except(currentFilterCOBs).Select(c => { return new COBDto { Id = c.Id, Narrative = c.Narrative }; }).OrderBy(cob => cob.Narrative).ToList(); // 3. AllFilterOffices var currentFilterOffices = user.FilterOffices.Select(fo => fo); var allFilterOffices = _consoleRepository.Query<Office>().ToList().Except(currentFilterOffices).Select(o => { return new OfficeDto { Id = o.Id, Title = o.Name }; }).OrderBy(o => o.Title).ToList(); // 4. AllFilterMembers var currentFilterMembers = user.FilterMembers.Select(fm => fm); var allFilterMembers = _consoleRepository.Query<User>().ToList().Except(currentFilterMembers).Select(u => { return new UserDto { Id = u.Id, DomainLogon = u.DomainLogon }; }).OrderBy(u => u.DomainLogon).ToList(); // 5. AllAdditionalCOBs var currentAdditionalCOBs = user.AdditionalCOBs.Select(ac => ac); var allAdditionalCOBs = _consoleRepository.Query<COB>().ToList().Except(currentAdditionalCOBs).Select(c => { return new COBDto { Id = c.Id, Narrative = c.Narrative }; }).OrderBy(cob => cob.Narrative).ToList(); // 6. AllAdditionalOffices var currentAdditionalOffices = user.AdditionalOffices.Select(ao => ao); var allAdditionalOffices = _consoleRepository.Query<Office>().ToList().Except(currentAdditionalOffices).Select(o => { return new OfficeDto { Id = o.Id, Title = o.Name }; }).OrderBy(o => o.Title).ToList(); // 7. AllAdditionalUsers var currentAdditionalUsers = user.AdditionalUsers.Select(au => au); var allAdditionalUsers = _consoleRepository.Query<User>().ToList().Except(currentAdditionalUsers).Select(u => { return new UserDto { Id = u.Id, DomainLogon = u.DomainLogon }; }).OrderBy(u => u.DomainLogon).ToList(); requiredDataDto.AllTeamMemberships = allTeamMemberships; requiredDataDto.AllFilterCOBs = allFilterCOBs; requiredDataDto.AllFilterOffices = allFilterOffices; requiredDataDto.AllFilterMembers = allFilterMembers; requiredDataDto.AllAdditionalCOBs = allAdditionalCOBs; requiredDataDto.AllAdditionalOffices = allAdditionalOffices; requiredDataDto.AllAdditionalUsers = allAdditionalUsers; } return requiredDataDto; }