예제 #1
0
        public ActionResult GetClassList([DataSourceRequest] DataSourceRequest request, Tra_ClassSearchModel model)
        {
            var services = new ActionService(UserLogin);
            var traineeServices = new Tra_TraineeServices();
            var objTrainee = new List<object>();
            string status = string.Empty;
            var service = new ActionService(UserLogin);
            Guid[] _RequirementTrainIDs=null;
            if (!string.IsNullOrEmpty(model.RequirementTrainID))
            {
                _RequirementTrainIDs = model.RequirementTrainID.Split(',').Select(s => Guid.Parse(s)).ToArray();
            }
            ListQueryModel lstModel = new ListQueryModel
            {
                PageIndex = request.Page,
                PageSize = request.PageSize,
                Filters = ExtractFilterAttributes(request),
                Sorts = ExtractSortAttributes(request),
                AdvanceFilters = ExtractAdvanceFilterAttributes(model)
            };
            //List<object> paraprofile = new List<object>();
            //paraprofile.AddRange(new object[17]);
            //paraprofile[15] = 1;
            //paraprofile[16] = int.MaxValue - 1;
            //var lstProfile = service.GetData<Hre_ProfileEntity>(paraprofile, ConstantSql.hrm_hr_sp_get_ProfileAll, ref status);

            var hreServiceProfile = new Hre_ProfileServices();
            var lstProfile = hreServiceProfile.GetProfileNameAll();

            var listEntity = service.GetData<Tra_ClassEntity>(lstModel, ConstantSql.hrm_tra_sp_get_Class, ref status);
            
            
            if (_RequirementTrainIDs != null)
            {
                List<object> paraprofile = new List<object>();
                paraprofile.AddRange(new object[7]);
                paraprofile[5] = 1;
                paraprofile[6] = int.MaxValue - 1;
                var ListRequirementTrain = service.GetData<Tra_RequirementTrainEntity>(paraprofile, ConstantSql.hrm_tra_sp_get_RequirementTrain, ref status);
               // var _lstRequirementTrainByPlanID = new List<Guid>();
              //  _lstRequirementTrainByPlanID = ListRequirementTrain.Where(s => s.ID != null && _RequirementTrainIDs.Contains(s.ID)).Select(s => (Guid)s.PlanID).ToList();
                var result = services.GetData<Tra_TraineeEntity>(objTrainee, ConstantSql.hrm_tra_sp_get_Trainee, ref status);
                List<Guid> _RequirementTrainIDs1 = model.RequirementTrainID.Split(',').Select(s => Guid.Parse(s)).ToList();
                result = traineeServices.GetListTrainees(result, _RequirementTrainIDs1);
                //if (listEntity != null)
                //{
                //    listEntity = listEntity.Where(s => s.PlanID != null && _lstRequirementTrainByPlanID.Contains((Guid)s.PlanID)).ToList();
                //}
                return Json(result.ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
               
            }
            var listModel = new List<Tra_ClassModel>();
            if (listEntity != null)
            {
                request.Page = 1;
                foreach (var item in listEntity)
                {
                    if (item.TrainerOtherList != null)
                    {
                        string _strTrainerOtherList = item.TrainerOtherList.Replace(" ", "");
                        string[] lstitem = _strTrainerOtherList.Split(',').ToArray();
                        if(lstProfile !=null && lstitem!=null)
                        {
                            List<Hre_ProfileEntity> lstitemprofile = lstProfile.Where(s => lstitem.Contains(s.CodeEmp)).ToList();
                            string Stringresult = string.Empty;
                            foreach (var itemstring in lstitemprofile)
                            {
                                Stringresult += itemstring.ProfileName + ", ";
                            }
                            if (!string.IsNullOrEmpty(Stringresult))
                            {
                                Stringresult = Stringresult.Substring(0, Stringresult.Length - 2);
                            }
                           
                            item.TeacherName = Stringresult;
                        }
                    }
                    var newModle = (Tra_ClassModel)typeof(Tra_ClassModel).CreateInstance();
                    foreach (var property in item.GetType().GetProperties())
                    {
                        newModle.SetPropertyValue(property.Name, item.GetPropertyValue(property.Name));
                    }
                    listModel.Add(newModle);
                }
                var dataSourceResult = listModel.ToDataSourceResult(request);
                if (listModel.FirstOrDefault().GetPropertyValue("TotalRow") != null)
                {
                    dataSourceResult.Total = listModel.Count() <= 0 ? 0 : (int)listModel.FirstOrDefault().GetPropertyValue("TotalRow");
                }
                return Json(dataSourceResult, JsonRequestBehavior.AllowGet);
            }
            var listModelNull = new List<Tra_ClassModel>();
            ModelState.AddModelError("Id", status);
            return Json(listModelNull.ToDataSourceResult(request, ModelState));

            //return GetListDataAndReturn<Tra_ClassModel, Tra_ClassEntity, Tra_ClassSearchModel>(request, model, ConstantSql.hrm_tra_sp_get_Class);
        }
예제 #2
0
 public ActionResult GetClassFinishList([DataSourceRequest] DataSourceRequest request, Tra_ClassSearchModel model)
 {
     return GetListDataAndReturn<Tra_ClassModel, Tra_ClassEntity, Tra_ClassSearchModel>(request, model, ConstantSql.hrm_tra_sp_get_ClassFinish);
 }
예제 #3
0
 public ActionResult ExportClassFinishInSideList([DataSourceRequest] DataSourceRequest request, Tra_ClassSearchModel model)
 {
     return ExportAllAndReturn<Tra_ClassEntity, Tra_ClassModel, Tra_ClassSearchModel>(request, model, ConstantSql.hrm_tra_sp_get_ClassInSide);
 }
예제 #4
0
 public ActionResult ExportAllClassList([DataSourceRequest] DataSourceRequest request, Tra_ClassSearchModel model)
 {
     var service = new ActionService(UserLogin);
     model.SetPropertyValue("IsExport", true);
     string fullPath = string.Empty, status = string.Empty;
     var listEntity = GetListData<Tra_ClassModel, Tra_ClassEntity, Tra_ClassSearchModel>(request, model, ConstantSql.hrm_tra_sp_get_Class, ref status);
     var listModel = new List<Tra_ClassModel>();
     List<object> paraprofile = new List<object>();
     paraprofile.AddRange(new object[17]);
     paraprofile[15] = 1;
     paraprofile[16] = int.MaxValue - 1;
     var lstProfile = service.GetData<Hre_ProfileEntity>(paraprofile, ConstantSql.hrm_hr_sp_get_ProfileAll, ref status);
     if (listEntity != null)
     {
         foreach (var item in listEntity)
         {
             if (item.TrainerOtherList != null)
             {
                 string[] lstitem = item.TrainerOtherList.Split(',').ToArray();
                 if (lstProfile != null && lstitem != null)
                 {
                     List<Hre_ProfileEntity> lstitemprofile = lstProfile.Where(s => lstitem.Contains(s.CodeEmp)).ToList();
                     string Stringresult = string.Empty;
                     foreach (var itemstring in lstitemprofile)
                     {
                         Stringresult += itemstring.ProfileName + ',';
                     }
                     Stringresult = Stringresult.Substring(0, Stringresult.Length - 1);
                     item.TeacherName = Stringresult;
                 }
             }
             var newModle = (Tra_ClassModel)typeof(Tra_ClassModel).CreateInstance();
             foreach (var property in item.GetType().GetProperties())
             {
                 newModle.SetPropertyValue(property.Name, item.GetPropertyValue(property.Name));
             }
             listModel.Add(newModle);
         }
     }
     if (status == NotificationType.Success.ToString())
     {
         status = ExportService.Export(listModel, model.GetPropertyValue("ValueFields").TryGetValue<string>().Split(','));
     }
     return Json(status);
     //return ExportAllAndReturn<Tra_ClassEntity, Tra_ClassModel, Tra_ClassSearchModel>(request, model, ConstantSql.hrm_tra_sp_get_Class);
 }