/// <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));
        }
Beispiel #3
0
        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);
        }
Beispiel #5
0
        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));
        }
Beispiel #8
0
        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));
        }
Beispiel #9
0
        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"));
        }