public List <PRODUCTION> GetFactAllByParam(ProductionGetByParamInput input) { Expression <Func <PRODUCTION, bool> > queryFilter = PredicateHelper.True <PRODUCTION>(); if (!string.IsNullOrEmpty(input.Company)) { queryFilter = queryFilter.And(c => c.COMPANY_CODE == input.Company); } if (!string.IsNullOrEmpty(input.Plant)) { queryFilter = queryFilter.And(c => c.WERKS == input.Plant); } if (!string.IsNullOrEmpty(input.ProoductionDate)) { var dt = Convert.ToDateTime(input.ProoductionDate); queryFilter = queryFilter.And(c => c.PRODUCTION_DATE == dt); } if (input.Month > 0) { queryFilter = queryFilter.And(c => c.PRODUCTION_DATE.Month == input.Month); } if (input.Year > 0) { queryFilter = queryFilter.And(c => c.PRODUCTION_DATE.Year == input.Year); } if (!string.IsNullOrEmpty(input.UserId)) { var listUserPlant = _userPlantBll.GetPlantByUserId(input.UserId); var listPoaPlant = _poaMapBll.GetPlantByPoaId(input.UserId); queryFilter = queryFilter.And(c => listUserPlant.Contains(c.WERKS) || listPoaPlant.Contains(c.WERKS)); } Func <IQueryable <PRODUCTION>, IOrderedQueryable <PRODUCTION> > orderBy = null; { if (!string.IsNullOrEmpty(input.ShortOrderColumn)) { orderBy = c => c.OrderBy(OrderByHelper.GetOrderByFunction <PRODUCTION>(input.ShortOrderColumn)); } var dbData = _repository.Get(queryFilter, orderBy); if (dbData == null) { throw new BLLException(ExceptionCodes.BLLExceptions.DataNotFound); } var mapResult = dbData.ToList(); return(mapResult); } }
public JsonResult CompanyListPartialProduction(string companyId) { var listPlant = GlobalFunctions.GetPlantByCompanyId(companyId); if (CurrentUser.UserRole != Enums.UserRole.Administrator) { var userPlantMap = _userPlantMapBll.GetPlantByUserId(CurrentUser.USER_ID); var poaMap = _poaMapBll.GetCompanyByPoaId(CurrentUser.USER_ID); var distinctPlant = listPlant.Where(x => userPlantMap.Contains(x.Value) || poaMap.Contains(x.Value)); var listPlantNew = new SelectList(distinctPlant, "Value", "Text"); listPlant = listPlantNew; } var model = new WasteDetail() { PlantWerkList = listPlant }; return(Json(model)); }