示例#1
0
        //public virtual IEnumerable<EmployeeAndBio> GetEmployeeTotalSalary()
        //{
        //    IRepository<Employee> empRepo = new RepositoryFactory().Create<Employee>();
        //    IRepository<EmployeeBio> empBioRepo = new RepositoryFactory().Create<EmployeeBio>();
        //    return from emp in empRepo.GetAll()
        //           join empBio in empBioRepo.GetAll() on emp.EmployeeId equals empBio.EmployeeId
        //           select new EmployeeAndBio
        //           {
        //               EmployeeId = emp.EmployeeId,
        //               EmployeeName = emp.EmployeeName,
        //               EmployeeEmail = emp.EmployeeEmail,
        //               EmployeePassword = emp.EmployeePassword,
        //               MGR = emp.MGR,

        //               EmployeeContactNo = empBio.EmployeeContactNo,
        //               EmployeeAddress = empBio.EmployeeAddress,
        //               DateofBirth = empBio.DateofBirth,
        //               HireDate = empBio.HireDate,
        //               Intro = empBio.Intro,
        //               Objectives = empBio.Objectives,
        //               Hobbies = empBio.Hobbies,
        //               Interests = empBio.Interests,
        //               Certificates = empBio.Certificates,
        //               JobExperience = empBio.JobExperience,
        //               Education = empBio.Eduction,
        //               Image = empBio.Image
        //           };
        //}

        public virtual List <ProjectAndAllAssociatedEmployees> GetListOfAllProjectsAndTheirAssociatedEmployee()
        {
            IEnumerable <Employee>                  employeeList               = new RepositoryFactory().Create <Employee>().GetAll();
            IEnumerable <EmployeeBio>               employeeBioList            = new RepositoryFactory().Create <EmployeeBio>().GetAll();
            IEnumerable <Project>                   projectList                = new RepositoryFactory().Create <Project>().GetAll();
            IEnumerable <ProjectEmployee>           projectEmployeeAssociation = new RepositoryFactory().Create <ProjectEmployee>().GetAll();
            List <ProjectAndAllAssociatedEmployees> result = new List <ProjectAndAllAssociatedEmployees>();
            DateTime minVal = new CheckRange().GetMinimumDateRange();

            IEnumerable <EmployeeIdAndName> employeeAndName = (from emp in employeeList
                                                               join empBio in employeeBioList on emp.EmployeeId equals empBio.EmployeeId
                                                               select new EmployeeIdAndName
            {
                EmployeeId = emp.EmployeeId,
                EmployeeName = emp.EmployeeName
            }).ToList();

            foreach (Project project in projectList)
            {
                if (project.EndDate != minVal)
                {
                    List <ProjectEmployee> pEA = projectEmployeeAssociation.Where(e => e.ProjectId == project.ProjectId
                                                                                  ).ToList();
                    ProjectAndAllAssociatedEmployees entity = new ProjectAndAllAssociatedEmployees();
                    entity.ProjectId          = project.ProjectId;
                    entity.ProjectTitle       = project.ProjectDescription;
                    entity.ProjectDescription = project.ProjectDescription;
                    entity.DepartmentId       = project.DepartmentId;
                    foreach (ProjectEmployee p in pEA)
                    {
                        EmployeeIdAndName eIN = employeeAndName.First(e => e.EmployeeId == p.EmployeeId);
                        entity.ListOfEmployees.Add(eIN);
                    }
                    result.Add(entity);
                }
            }

            return(result);
        }
        public ActionResult ShowProject(int?id)
        {
            foreach (var x in projectList)
            {
                Output.Write(x.ProjectId + " : " + x.ProjectTitle);
            }
            Output.Write("Required Id is : " + id.Value);

            ProjectAndAllAssociatedEmployees toView = projectList.First(e => e.ProjectId == id.Value);

            if (toView == null)
            {
                toView = new ProjectAndAllAssociatedEmployees();
            }

            if (toView.ListOfEmployees == null)
            {
                toView.ListOfEmployees = new List <EmployeeIdAndName>();
            }

            return(View(toView));
        }