/// <summary> /// Currently has all projects, so use AllProjectsViewModel /// </summary> /// <returns></returns> public IActionResult Index() { var model = new AllProjectsViewModel(); model.Projects = _projectData.GetAll(); return(View(model)); }
public async Task <IActionResult> Index() { var user = await this.userManager.GetUserAsync(this.User); var companyId = this.departmentService.GetCompanyIdByDepartmentId(user.DepartmentId); var projects = this.projectsService.GetAllProjects <ProjectViewModel>(companyId); var model = new AllProjectsViewModel { Projects = projects }; return(this.View(model)); }
/// <summary> /// This method is used to get all the projects in the database. /// The returned collection of project is then used ibn the /// ViewCreatedProjects view which shows breaf ingo about all projects. /// </summary> /// <returns></returns> public AllProjectsViewModel GetAllProjects() { var projects = context.Projects.Select(p => new Project() { Id = p.Id, Name = p.Name, Description = p.Description }); var model = new AllProjectsViewModel() { Projects = projects }; return(model); }
public async Task <IActionResult> Index() { var user = await userManager.GetUserAsync(User); // var projects= new List<Project>(); //=============NAIVE WAY========== // var projectUsers=from pu in context.projectUsers // select pu; // projectUsers=projectUsers.Where(pu=> pu.User==user); // foreach (var item in projectUsers) // { // projects.Add(await context.Projects.FindAsync(item.ProjectId)); // } //==========USING JOIN============ // var query=await context.projectUsers // .Join(context.Projects, // projectUser=>projectUser.ProjectId, // project=> project.Id, // (projectUser,project)=>new{ // userId= projectUser.UserId, // Id= project.Id, // Title= project.Title // }) // .Where(pu=> pu.userId==user.Id) // .ToListAsync(); // foreach(var item in query){ // projects.Add(new Project{ // Id= item.Id, // Title= item.Title // }); // } //==========EF CORE MAGIC============= var projects = await context.projectUsers .Where(pu => pu.UserId == user.Id) .Select(pu => pu.Project) .ToListAsync(); var allProjectsVM = new AllProjectsViewModel { projects = projects, }; // ViewData["projects"]=projects; return(View(allProjectsVM)); }
public IActionResult AllProjects() { var projects = projectDataService.GetAllProjects(userManager.GetUserAsync(this.User).Result.CompanyId); var model = new AllProjectsViewModel() { AllProjects = projects.Select(p => new ProjectViewModel { Id = projectDataService.FindProjectById(p.ProjectId).Id, Name = projectDataService.FindProjectById(p.ProjectId).Name, Description = projectDataService.FindProjectById(p.ProjectId).Description, StartDate = projectDataService.FindProjectById(p.ProjectId).StartDate, EndDate = projectDataService.FindProjectById(p.ProjectId).EndDate }) }; return(View(model)); }
public IActionResult MyProjects() { var employeeId = userManager.GetUserId(this.User); var projectsId = projectDataService.GetEmployeeProjects(employeeId); var projects = new List <ProjectViewModel>(); foreach (var projectId in projectsId) { var project = projectDataService.FindProjectById(projectId.ProjectId); var employees = projectDataService.GetAllEmployeesInProject(projectId.ProjectId) .Select(e => new EmployeeViewModel { EmployeeId = e, FirstName = employeeDataService.FindById(e).Result.FirstName, MiddleName = employeeDataService.FindById(e).Result.MiddleName, LastName = employeeDataService.FindById(e).Result.LastName, Salary = employeeDataService.FindById(e).Result.Salary, JobTitle = jobTitleDataService.FindById(employeeDataService.FindById(e).Result.JobTitleId).Name, //Department = depatmentDataService.FindById(depatmentDataService.FindById(e).DepartmentId).DepartmentName, }); var projectModel = new ProjectViewModel { Name = project.Name, Description = project.Description, StartDate = project.StartDate, EndDate = project.EndDate, IsCompleated = project.IsCompleated, EmployeesInProject = employees }; projects.Add(projectModel); } var viewModel = new AllProjectsViewModel { AllProjects = projects }; return(View(viewModel)); }
public IActionResult All(AllProjectsViewModel viewModel) { var categories = this.categoriesService.GetAll <CategoryListViewModel>(); var allCategories = new AllCategoriesViewModel { Categories = categories, }; viewModel.AllCategories = allCategories; viewModel.AllProjects = this.projectsService.GetAll <ProjectViewModel>(); if (viewModel.SelectedCategoriesId.Count() > 0) { viewModel.AllProjects = viewModel.AllProjects.Where(p => p.CategoriesId.Any(c => viewModel.SelectedCategoriesId.Contains(c))); } viewModel.MostWanted = this.projectsService.GetMostWanted <ProjectTitleAndApplicantsViewModel>(); return(this.View(viewModel)); }
public async Task <IActionResult> Index(AllProjectsViewModel allProjectsVM) { if (ModelState.IsValid) { var user = await userManager.GetUserAsync(User); var project = new Project { Title = allProjectsVM.Title, ManagerId = user.Id }; await context.Projects.AddAsync(project); await context.SaveChangesAsync(); var projectUser = new ProjectUser(); projectUser.Project = project; projectUser.User = user; await context.projectUsers.AddAsync(projectUser); await context.SaveChangesAsync(); } return(RedirectToAction("Index")); }