public IEnumerable GetAssessmentFormInfo(int id) { string currentUserId = CustomRoleProvider.GetUserId(UnitOfWork); var source = (from assessment in UnitOfWork.AssessmentRepository.Get() join techLead in UnitOfWork.UserRepository.Get() on assessment.TechLeadId equals techLead.Id into ulist from techLead in ulist.DefaultIfEmpty() join coordinator in UnitOfWork.UserRepository.Get() on assessment.CoordinatorId equals coordinator.Id into wlist from coordinator in wlist.DefaultIfEmpty() join projectManager in UnitOfWork.UserRepository.Get() on assessment.ProjectManagerId equals projectManager.Id into vlist from projectManager in vlist.DefaultIfEmpty() where assessment.Id == id select new { teachLeadName = techLead.Name, coordinatorName = coordinator.Name, projectManagerName = projectManager.Name, assessmentName = assessment.Name, assessmentVersion = assessment.Version, assessmentUnit = assessment.Unit, assessmentImprovements = assessment.Improvements, assessmentServiceQualityScore = assessment.ServiceQualityScore, assessmentURL = assessment.URL, assessmentCoordinatorTime = assessment.CoordinatorTime, assessmentExpertTime = assessment.ExpertTime, assessmentStartDate = assessment.StartDate, assessmentFinishDate = assessment.FinishDate, assessmentCoordinatoorId = assessment.CoordinatorId, currentUserId = currentUserId }).ToList(); return(source); }