Пример #1
0
        public List <INVENTORY_MOVEMENT> GetMvt201(InvMovementGetUsageByParamInput input, bool isAssigned = false)
        {
            var mvtType201 = new List <string>()
            {
                EnumHelper.GetDescription(Core.Enums.MovementTypeCode.Usage201),
                EnumHelper.GetDescription(Core.Enums.MovementTypeCode.Usage202),
                EnumHelper.GetDescription(Core.Enums.MovementTypeCode.Usage901),
                EnumHelper.GetDescription(Core.Enums.MovementTypeCode.Usage902),
                EnumHelper.GetDescription(Core.Enums.MovementTypeCode.UsageZ01),
                EnumHelper.GetDescription(Core.Enums.MovementTypeCode.UsageZ02)
            };

            Expression <Func <INVENTORY_MOVEMENT, bool> > queryFilter = c => c.POSTING_DATE.HasValue &&
                                                                        c.POSTING_DATE.Value.Year == input.PeriodYear && c.POSTING_DATE.Value.Month == input.PeriodMonth;

            if (input.PlantIdList.Count > 0)
            {
                queryFilter = queryFilter.And(c => input.PlantIdList.Contains(c.PLANT_ID));
            }

            queryFilter = queryFilter.And(c => mvtType201.Contains(c.MVT));


            var data = _repository.Get(queryFilter).ToList();

            if (!isAssigned)
            {
                return(data);
            }
            else
            {
                return(null);
            }
        }
Пример #2
0
        public List <INVENTORY_MOVEMENT> GetUsageByParam(InvMovementGetUsageByParamInput input)
        {
            var usageMvtType = new List <string>()
            {
                //EnumHelper.GetDescription(Core.Enums.MovementTypeCode.Usage201),
                //EnumHelper.GetDescription(Core.Enums.MovementTypeCode.Usage202),
                EnumHelper.GetDescription(Core.Enums.MovementTypeCode.Usage261),
                EnumHelper.GetDescription(Core.Enums.MovementTypeCode.Usage262),
                //EnumHelper.GetDescription(Core.Enums.MovementTypeCode.Usage901),
                //EnumHelper.GetDescription(Core.Enums.MovementTypeCode.Usage902),
                //EnumHelper.GetDescription(Core.Enums.MovementTypeCode.UsageZ01),
                //EnumHelper.GetDescription(Core.Enums.MovementTypeCode.UsageZ02)
            };

            //original irman
            Expression <Func <INVENTORY_MOVEMENT, bool> > queryFilter = c => c.POSTING_DATE.HasValue &&
                                                                        c.POSTING_DATE.Value.Year == input.PeriodYear && c.POSTING_DATE.Value.Month == input.PeriodMonth;

            //var tempyear = input.PeriodMonth == 12 ? input.PeriodYear + 1 : input.PeriodYear;
            //var tempmonth = input.PeriodMonth == 12 ? 1 : input.PeriodMonth + 1;


            //Expression<Func<INVENTORY_MOVEMENT, bool>> queryFilter = c => c.POSTING_DATE.HasValue && c.POSTING_DATE.Value < new DateTime(tempyear, tempmonth, 1);


            if (input.PlantIdList.Count > 0)
            {
                queryFilter = queryFilter.And(c => input.PlantIdList.Contains(c.PLANT_ID));
            }

            queryFilter = queryFilter.And(c => usageMvtType.Contains(c.MVT));



            if (input.IsEtilAlcohol)
            {
                return(_repository.Get(queryFilter).ToList());
            }

            var allOrderInZaapShiftRpt = _zaapShiftRptRepository.Get().Select(d => d.ORDR).Distinct().ToList();

            //Expression<Func<INVENTORY_MOVEMENT, bool>> queryFilter2 = queryFilter;

            var result = _repository.Get(queryFilter).ToList();

            //queryFilter = input.IsTisToTis
            //    ? queryFilter.And(c => !allOrderInZaapShiftRpt.Contains(c.ORDR))
            //    : //queryFilter;
            //    queryFilter.And(c => allOrderInZaapShiftRpt.Contains(c.ORDR));

            if (input.IsTisToTis)
            {
                result = result.Where(c => !allOrderInZaapShiftRpt.Contains(c.ORDR)).ToList();
            }
            else
            {
                result = result.Where(c => allOrderInZaapShiftRpt.Contains(c.ORDR)).ToList();
            }

            return(result);
        }