Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class GetAllProjectsWithSubProjectViewModel
- {
- public Project Project { get; set; }
- public ICollection<SubProject> SubProjects { get; set; }
- }
- public class Project
- {
- // PK
- public int Id { get; set; }
- public string ProjectName { get; set; }
- public Project()
- { }
- public Project(string projectName)
- {
- this.ProjectName = projectName;
- }
- }
- public class SubProject
- {
- // PK
- public int Id { get; set; }
- public string SubProjectName { get; set; }
- public SubProject()
- { }
- public SubProject(string subProjectName)
- {
- this.SubProjectName = subProjectName;
- }
- }
- public class ProjectSubProject
- {
- // PK
- public int ProjectId { get; set; }
- public Project Project { get; set; }
- // PK
- public int SubProjectId { get; set; }
- public SubProject SubProject { get; set; }
- public ProjectSubProject()
- { }
- public ProjectSubProject(
- Project project,
- SubProject subProject)
- {
- Project = project;
- SubProject = subProject;
- }
- }
- // Host/projects/GetAllProjectsWithSubProjects
- [Authorize]
- [HttpGet]
- public async Task<object> GetAllProjectsWithSubProjects()
- {
- var projectsInfo = new List<GetAllProjectsWithSubProjectViewModel>();
- foreach (var project in _context.Projects)
- {
- var subProjects = await _context.ProjectSubProjects
- .Where(ps => ps.ProjectId == project.Id)
- .Select(ps => ps.SubProject)
- .ToListAsync();
- var projectInfo = new GetAllProjectsWithSubProjectViewModel
- {
- Project = project,
- SubProjects = subProjects,
- };
- projectsInfo.Add(projectInfo);
- }
- return projectsInfo;
- }
Add Comment
Please, Sign In to add comment