示例#1
0
        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());
        }
示例#2
0
        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);
        }