public List <Tra_TraineeEntity> GetListTrainees(List <Tra_TraineeEntity> lstistTrainee, List <Guid> lstRequirementTrainIDs) { var lstTrainees = new List <Tra_TraineeEntity>(); using (var context = new VnrHrmDataContext()) { var lstrequirementTrainDetails = new List <Tra_RequirementTrainDetail>().Select(d => new { d.ProfileID, }).ToList(); if (lstRequirementTrainIDs.Count > 0) { var unitOfWork = (IUnitOfWork)(new UnitOfWork(context)); var requirementTrainDetailRepository = new Tra_RequirementTrainDetailRepository(unitOfWork); var lstrequirementTrainDetail = new List <Tra_RequirementTrainDetail>().Select(d => new { d.ProfileID, d.CourseID, d.ClassID, d.RequirementTrainID }).ToList(); lstrequirementTrainDetail.AddRange(requirementTrainDetailRepository.FindBy(s => s.IsDelete == null && s.RequirementTrainID != null && lstRequirementTrainIDs.Contains(s.RequirementTrainID.Value)).Select(d => new { d.ProfileID, d.CourseID, d.ClassID, d.RequirementTrainID }).ToList()); var lstProfileid = lstrequirementTrainDetail.Select(s => s.ProfileID).Distinct().ToList(); var lstcourseid = lstrequirementTrainDetail.Select(s => s.CourseID).Distinct().ToList(); var lstclassid = lstrequirementTrainDetail.Select(s => s.ClassID).Distinct().ToList(); var requirementTrainRepository = new Tra_RequirementTrainRepository(unitOfWork); var lstrequirementTrain = new List <Tra_RequirementTrain>().Select(d => new { d.ID, d.RequirementTrainName }).ToList(); lstrequirementTrain.AddRange(requirementTrainRepository.FindBy(s => s.IsDelete == null && lstRequirementTrainIDs.Contains(s.ID)).Select(d => new { d.ID, d.RequirementTrainName }).ToList()); if (lstistTrainee != null) { if (lstProfileid.Count > 0) { lstistTrainee = lstistTrainee.Where(s => lstProfileid.Contains(s.ProfileID)).ToList(); } //if (lstcourseid.Count > 0) //{ // lstistTrainee = lstistTrainee.Where(s => lstcourseid.Contains(s.CourseID)).ToList(); //} //if (lstclassid.Count > 0) //{ // lstistTrainee = lstistTrainee.Where(s => lstclassid.Contains(s.ClassID)).ToList(); //} } foreach (var trainee in lstistTrainee) { var requiredtraintdetail = lstrequirementTrainDetail.Where(s => s.ProfileID == trainee.ProfileID).FirstOrDefault(); if (requiredtraintdetail != null) { var requiredTrainbyTrainee = lstrequirementTrain.Where(s => requiredtraintdetail.RequirementTrainID == s.ID).FirstOrDefault(); if (requiredTrainbyTrainee != null) { trainee.RequirementTrainName = requiredTrainbyTrainee.RequirementTrainName; } } } } lstTrainees = lstistTrainee; return(lstTrainees); } }
public List<Tra_TraineeEntity> GetListTrainees(List<Tra_TraineeEntity> lstistTrainee, List<Guid> lstRequirementTrainIDs) { var lstTrainees = new List<Tra_TraineeEntity>(); using (var context = new VnrHrmDataContext()) { var lstrequirementTrainDetails = new List<Tra_RequirementTrainDetail>().Select(d => new { d.ProfileID, }).ToList(); if (lstRequirementTrainIDs.Count > 0) { var unitOfWork = (IUnitOfWork)(new UnitOfWork(context)); var requirementTrainDetailRepository = new Tra_RequirementTrainDetailRepository(unitOfWork); var lstrequirementTrainDetail = new List<Tra_RequirementTrainDetail>().Select(d => new { d.ProfileID, d.CourseID, d.ClassID, d.RequirementTrainID }).ToList(); lstrequirementTrainDetail.AddRange(requirementTrainDetailRepository.FindBy(s => s.IsDelete == null && s.RequirementTrainID != null && lstRequirementTrainIDs.Contains(s.RequirementTrainID.Value)).Select(d => new { d.ProfileID, d.CourseID, d.ClassID, d.RequirementTrainID }).ToList()); var lstProfileid = lstrequirementTrainDetail.Select(s => s.ProfileID).Distinct().ToList(); var lstcourseid = lstrequirementTrainDetail.Select(s => s.CourseID).Distinct().ToList(); var lstclassid = lstrequirementTrainDetail.Select(s => s.ClassID).Distinct().ToList(); var requirementTrainRepository = new Tra_RequirementTrainRepository(unitOfWork); var lstrequirementTrain = new List<Tra_RequirementTrain>().Select(d => new { d.ID, d.RequirementTrainName }).ToList(); lstrequirementTrain.AddRange(requirementTrainRepository.FindBy(s => s.IsDelete == null && lstRequirementTrainIDs.Contains(s.ID)).Select(d => new { d.ID, d.RequirementTrainName }).ToList()); if (lstistTrainee != null) { if (lstProfileid.Count > 0) { lstistTrainee = lstistTrainee.Where(s => lstProfileid.Contains(s.ProfileID)).ToList(); } //if (lstcourseid.Count > 0) //{ // lstistTrainee = lstistTrainee.Where(s => lstcourseid.Contains(s.CourseID)).ToList(); //} //if (lstclassid.Count > 0) //{ // lstistTrainee = lstistTrainee.Where(s => lstclassid.Contains(s.ClassID)).ToList(); //} } foreach (var trainee in lstistTrainee) { var requiredtraintdetail = lstrequirementTrainDetail.Where(s => s.ProfileID == trainee.ProfileID).FirstOrDefault(); if(requiredtraintdetail != null) { var requiredTrainbyTrainee = lstrequirementTrain.Where(s => requiredtraintdetail.RequirementTrainID == s.ID).FirstOrDefault(); if (requiredTrainbyTrainee != null) { trainee.RequirementTrainName = requiredTrainbyTrainee.RequirementTrainName; } } } } lstTrainees = lstistTrainee; return lstTrainees; } }