public void FindRequisitionsByStatusTest() { // Arrange List <Status> statusList = new List <Status>(); statusList.Add(context.Status.Where(x => x.StatusId == 8).First()); statusList.Add(context.Status.Where(x => x.StatusId == 9).First()); statusList.Add(context.Status.Where(x => x.StatusId == 10).First()); // Act List <Requisition> result = requisitionService.FindRequisitionsByStatus(statusList); // Assert - All Requisitions in the list should have a Status which is in the statusList foreach (Requisition req in result) { Assert.IsTrue(statusList.Contains(req.Status)); } }
public IHttpActionResult GetSelectedRequisitions(List <int> statusIdList) { // get current user ApplicationUser user = userRepository.FindById(RequestContext.Principal.Identity.GetUserId()); List <ManageRequisitionsViewModel> viewModel = new List <ManageRequisitionsViewModel>(); List <Requisition> reqList; // convert ID array to Statuses List <Status> statusList = new List <Status>(); foreach (int i in statusIdList) { statusList.Add(statusRepository.FindById(i)); } try { // find Requisition By Status reqList = requisitionService.FindRequisitionsByStatus(statusList); // if user is Employee or Department Head if (user.Roles.Where(x => x.RoleId == "1" || x.RoleId == "2").Count() > 0) { reqList = reqList.Where(x => x.Department == user.Department).ToList(); } } catch (ArgumentException) { return(Ok()); } foreach (Requisition r in reqList) { viewModel.Add(new ManageRequisitionsViewModel { Requisition = r.RequisitionId, Status = r.Status.Name, CreatedDateTime = r.CreatedDateTime != null ? r.CreatedDateTime.ToShortDateString() + " " + r.CreatedDateTime.ToShortTimeString() : "", ApprovedDateTime = r.ApprovedDateTime != null ? r.ApprovedDateTime.Value.ToShortDateString() + " " + r.ApprovedDateTime.Value.ToShortTimeString() : "", }); } return(Ok(viewModel)); }