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); }
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); }
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); }
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); }