Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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;
            }
        }