Beispiel #1
0
        public List <Project> GetProjectsByCriteria(ProjectSearchCriteriaModel criteria)
        {
            // var allProjects = GetProjects().ToList();
            var projectList = GetProjects().ToList();;

            if (projectList.Count() != 0)
            {
                if (!string.IsNullOrEmpty(criteria.Status))
                {
                    projectList = (projectList.Where(p => p.Status.GetDescription() == criteria.Status)).ToList();
                }

                if (!string.IsNullOrEmpty(criteria.ProjectType))
                {
                    projectList = (projectList.Where(p => p.ProjectType == criteria.ProjectType)).ToList();
                }

                if (!string.IsNullOrEmpty(criteria.ProjectManager))
                {
                    var employeeIds = _employeeService.GetEmployeeByName(criteria.ProjectManager).Select(pm => pm.EmployeeId).ToList();
                    projectList = projectList.Where(p => employeeIds.Contains(Convert.ToInt32(p.ProjectManagerId))).ToList();
                }

                if (!string.IsNullOrEmpty(criteria.EngagementManager))
                {
                    var employeeIds = _employeeService.GetEmployeeByName(criteria.EngagementManager).Select(pm => pm.EmployeeId).ToList();
                    projectList = projectList.Where(p => employeeIds.Contains(Convert.ToInt32(p.EngagementManagerId))).ToList();
                }

                // //projectList = projectList.Where(p => p.Status.GetDescription().Equals(string.IsNullOrEmpty(criteria.Status) ? p.Status.GetDescription(): criteria.Status.Trim())
                // //    && p.ProjectType.Equals(string.IsNullOrEmpty(criteria.ProjectType) ? p.ProjectType : criteria.ProjectType.Trim())).ToList();

                // projectList = (projectList.Where(p => p.Status.GetDescription() == criteria.Status) ).ToList();

                //// projectList = projectList.Where(p => p.ProjectType==criteria.ProjectType).ToList();

                // if (!string.IsNullOrEmpty(criteria.EngagementManager) && projectList.Count() != 0)
                // {
                //     var employeeIds = _employeeService.GetEmployeeByName(criteria.EngagementManager).Select(pm => pm.EmployeeId).ToList();
                //     projectList = projectList.Where(p => employeeIds.Contains(Convert.ToInt32(p.EngagementManagerId))).ToList();
                // }

                // if (!string.IsNullOrEmpty(criteria.ProjectManager) && projectList.Count() != 0)
                // {
                //     var employeeIds = _employeeService.GetEmployeeByName(criteria.ProjectManager).Select(pm => pm.EmployeeId).ToList();
                //     projectList = projectList.Where(p => employeeIds.Contains(Convert.ToInt32(p.ProjectManagerId))).ToList();
                // }
            }

            return(projectList);
        }
        // [CustomAuthorizeAttribute(AllowedRole = "Admin, Manager, User")]
        public ActionResult GetProjectsByCriteria(ProjectSearchCriteriaViewModel criteria)
        {
            IEnumerable <Project> projectsList;

            var searchCriteriaModel = new ProjectSearchCriteriaModel();

            Mapper.Map(criteria, searchCriteriaModel);

            ViewData["Employees"] = _projectService.GetAllEmployees();
            projectsList          = _projectService.GetProjectsByCriteria(searchCriteriaModel);

            var projectListViewModel = new List <ProjectListViewModel>();

            Mapper.Map(projectsList, projectListViewModel);

            var projects = new ProjectsViewModel {
                Projects = projectListViewModel, SearchCriteria = new ProjectSearchCriteriaViewModel()
            };

            return(View("List", projects));
        }