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()); }
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); }
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()); }