public List <ZAAP_SHIFT_RPT> GetCompleteData(ZaapShiftRptGetForLack1ByParamInput input) { Expression <Func <ZAAP_SHIFT_RPT, bool> > queryFilter = c => c.COMPANY_CODE == input.CompanyCode && c.PRODUCTION_DATE.Year == input.PeriodYear && c.PRODUCTION_DATE.Month >= input.PeriodMonth; queryFilter = queryFilter.And(c => input.Werks.Contains(c.WERKS)); if (input.FaCodeList != null && input.FaCodeList.Count > 0) { queryFilter = queryFilter.And(c => input.FaCodeList.Contains(c.FA_CODE)); } if (input.Werks.Count > 0) { queryFilter = queryFilter.And(c => input.Werks.Contains(c.WERKS)); } if (input.AllowedOrder != null && input.AllowedOrder.Count > 0) { queryFilter = queryFilter.And(c => input.AllowedOrder.Contains(c.ORDR)); } var dbData = _repository.Get(queryFilter); if (dbData == null) { throw new BLLException(ExceptionCodes.BLLExceptions.DataNotFound); } return(dbData.ToList()); }
public List <ZAAP_SHIFT_RPT> GetForLack1ByParam(ZaapShiftRptGetForLack1ByParamInput input) { Expression <Func <ZAAP_SHIFT_RPT, bool> > queryFilter = c => c.COMPANY_CODE == input.CompanyCode && c.PRODUCTION_DATE.Year == input.PeriodYear && c.PRODUCTION_DATE.Month == input.PeriodMonth; queryFilter = queryFilter.And(c => input.Werks.Contains(c.WERKS)); if (input.FaCodeList != null && input.FaCodeList.Count > 0) { queryFilter = queryFilter.And(c => input.FaCodeList.Contains(c.FA_CODE)); } if (input.Werks.Count > 0) { queryFilter = queryFilter.And(c => input.Werks.Contains(c.WERKS)); } if (input.AllowedOrder != null && input.AllowedOrder.Count > 0) { queryFilter = queryFilter.And(c => input.AllowedOrder.Contains(c.ORDR)); } var dbData = _repository.Get(queryFilter); if (dbData == null) { throw new BLLException(ExceptionCodes.BLLExceptions.DataNotFound); } var retData = dbData.GroupBy(x => new { x.ORDR, x.COMPANY_CODE, x.WERKS, x.FA_CODE, x.PRODUCTION_DATE }) .Select(x => { var zaapShiftRpt = x.FirstOrDefault(); return(zaapShiftRpt != null ? new ZAAP_SHIFT_RPT() { ORDR = zaapShiftRpt.ORDR, COMPANY_CODE = zaapShiftRpt.COMPANY_CODE, WERKS = zaapShiftRpt.WERKS, FA_CODE = zaapShiftRpt.FA_CODE, PRODUCTION_DATE = zaapShiftRpt.PRODUCTION_DATE, UOM = zaapShiftRpt.UOM } : null); }).ToList(); //(from data in dbData // group new {} // select new ZAAP_SHIFT_RPT() // { // ORDR = data.ORDR, // COMPANY_CODE = data.COMPANY_CODE, // WERKS = data.WERKS, // FA_CODE = data.FA_CODE, // PRODUCTION_DATE = data.PRODUCTION_DATE // }).Distinct().ToList(); return(retData); }