Esempio n. 1
0
        public async Task <IActionResult> GetAllProjects()
        {
            /* using this code var projectManagers = await _repo.ProjectManager.GetProjectManagers();
             * helps us to get project manager in this code var projects = await _repo.Project.GetAllProjects();
             * It is something to reasearch about why ef core shows this behaviour
             */
            var projectManagers = await _repo.ProjectManager.GetProjectManagers();

            var projects = await _repo.Project.GetAllProjects();

            var userTickets = await _repo.UserTicket.GetUsersTickets();

            foreach (var project in projects)
            {
                AddUserToProject add = new AddUserToProject();
                await add.GenerateUserProject(_repo, project, userTickets);
            }

            var projectToReturn = _mapper.Map <IEnumerable <ProjectVmDto> >(projects);

            return(Ok(projectToReturn));
        }
Esempio n. 2
0
        public async Task <IActionResult> GetProject(Guid id)
        {
            if (id == null)
            {
                _logger.LogError("Project object sent from client is null.");
                return(BadRequest("The project you are searching doesnot exist"));
            }
            var projectManagers = await _repo.ProjectManager.GetProjectManagers();

            var project = await _repo.Project.GetProject(id);

            if (project == null)
            {
                _logger.LogError("Project object sent from client is null.");
                return(BadRequest("The project you are searching doesnot exist"));
            }
            var userTickets = await _repo.UserTicket.GetUsersTickets();

            AddUserToProject add = new AddUserToProject();

            await add.GenerateUserProject(_repo, project, userTickets);

            var projectToReturn = _mapper.Map <ProjectVmDto>(project);

            foreach (var user in projectToReturn.UsersProjects)
            {
                var applicationUser = await _userManager.FindByIdAsync(user.Id);

                var userRole = await _userManager.GetRolesAsync(applicationUser);

                user.ApplicationUser           = new ApplicationUserVm();
                user.ApplicationUser.userEmail = applicationUser.Email;
                user.ApplicationUser.userName  = applicationUser.Name;
                user.ApplicationUser.userRole  = userRole.ToList();
            }
            return(Ok(projectToReturn));
        }