示例#1
0
        public List <LACK2> GetCompletedByParam(Lack2GetByParamInput input)
        {
            Expression <Func <LACK2, bool> > queryFilter = c => c.STATUS == Enums.DocumentStatus.Completed;

            if (!string.IsNullOrEmpty((input.PlantId)))
            {
                queryFilter = queryFilter.And(c => c.LEVEL_PLANT_ID == input.PlantId);
            }
            if (!string.IsNullOrEmpty((input.Creator)))
            {
                queryFilter = queryFilter.And(c => c.CREATED_BY == input.Creator);
            }
            if (!string.IsNullOrEmpty((input.Poa)))
            {
                queryFilter = queryFilter.And(c => c.APPROVED_BY == input.Poa);
            }

            if (input.UserRole != Enums.UserRole.Administrator && input.UserRole != Enums.UserRole.Controller)
            {
                queryFilter = queryFilter.And(c => input.PlantList.Contains(c.LEVEL_PLANT_ID));
            }

            Func <IQueryable <LACK2>, IOrderedQueryable <LACK2> > orderBy = null;

            if (!string.IsNullOrEmpty(input.SortOrderColumn))
            {
                orderBy = c => c.OrderBy(OrderByHelper.GetOrderByFunction <LACK2>(input.SortOrderColumn));
            }

            var dbData = _repository.Get(queryFilter, orderBy, includeTables);

            return(dbData == null ? null : dbData.ToList());
        }
示例#2
0
        public void GetAll_WhenCalled_RecivesGoodInput()
        {
            //Arrange
            Lack2GetByParamInput input = new Lack2GetByParamInput
            {
                NppbKcId        = "1",
                PlantId         = "1",
                Poa             = "TestPoa",
                SortOrderColumn = "TestSOC",
                SubmissionDate  = DateTime.Now,
                Creator         = "TestUser"
            };

            Lack2GetByParamInput emptyInput = new Lack2GetByParamInput();

            Lack2Dto item = new Lack2Dto
            {
                Lack2Id        = 1,
                LevelPlantCity = "TestCity",
                LevelPlantId   = "1",
                ModifiedBy     = "TestUser"
            };

            LACK2 lack = new LACK2
            {
                APPROVED_BY      = "TestUser",
                APPROVED_DATE    = DateTime.Now,
                BUKRS            = "222",
                BUTXT            = "Test",
                LACK2_ID         = 1,
                LEVEL_PLANT_CITY = "TestCity"
            };

            _repository.Get().ReturnsForAnyArgs(new List <LACK2> {
                lack, lack
            });


            //Act
            var result = _bll.GetAll();
            var resul2 = _bll.GetAll();

            //Assert
            Assert.IsNotNull(result);
            Assert.IsNotNull(resul2);
            //Assert.IsTrue(result.Count == 2);
            //Assert.IsTrue(resul2.Count == 2);
        }
示例#3
0
        public List <LACK2> GetByParam(Lack2GetByParamInput input)
        {
            Expression <Func <LACK2, bool> > queryFilter = PredicateHelper.True <LACK2>();

            if (!string.IsNullOrEmpty((input.NppbKcId)))
            {
                queryFilter = queryFilter.And(c => c.NPPBKC_ID == input.NppbKcId);
            }
            if (!string.IsNullOrEmpty((input.PlantId)))
            {
                queryFilter = queryFilter.And(c => c.LEVEL_PLANT_ID == input.PlantId);
            }
            if (!string.IsNullOrEmpty((input.Creator)))
            {
                queryFilter = queryFilter.And(c => c.CREATED_BY == input.Creator);
            }
            if (!string.IsNullOrEmpty((input.Poa)))
            {
                queryFilter = queryFilter.And(c => c.APPROVED_BY == input.Poa);
            }

            if (input.SubmissionDate.HasValue)
            {
                var date          = input.SubmissionDate.Value.Day;
                var month         = input.SubmissionDate.Value.Month;
                var year          = input.SubmissionDate.Value.Year;
                var dateToCompare = new DateTime(year, month, date);
                queryFilter = queryFilter.And(c => c.SUBMISSION_DATE.Equals(dateToCompare));
            }

            queryFilter = input.IsOpenDocList ? queryFilter.And(c => c.STATUS != Enums.DocumentStatus.Completed) : queryFilter.And(c => c.STATUS == Enums.DocumentStatus.Completed);

            //switch (input.UserRole)
            //{
            //case Enums.UserRole.POA:
            //    queryFilter = queryFilter.And(c => (c.CREATED_BY == input.UserId
            //        || (c.STATUS != Enums.DocumentStatus.Draft
            //        && input.NppbkcList.Contains(c.NPPBKC_ID))));
            //    break;
            //case Enums.UserRole.Manager:
            //    queryFilter =
            //        queryFilter.And(
            //            c =>
            //                c.STATUS != Enums.DocumentStatus.Draft &&
            //                c.STATUS != Enums.DocumentStatus.WaitingForApproval &&
            //                input.DocumentNumberList.Contains(c.LACK2_NUMBER));
            //    break;
            //    default:
            //        queryFilter = queryFilter.And(c => c.CREATED_BY == input.UserId);
            //        break;
            //}

            if (input.UserRole != Enums.UserRole.Administrator && input.UserRole != Enums.UserRole.Controller)
            {
                queryFilter = queryFilter.And(c => input.PlantList.Contains(c.LEVEL_PLANT_ID));
            }


            Func <IQueryable <LACK2>, IOrderedQueryable <LACK2> > orderBy = null;

            if (!string.IsNullOrEmpty(input.SortOrderColumn))
            {
                orderBy = c => c.OrderBy(OrderByHelper.GetOrderByFunction <LACK2>(input.SortOrderColumn));
            }

            var dbData = _repository.Get(queryFilter, orderBy, includeTables);

            return(dbData == null ? null : dbData.ToList());
        }