Example #1
0
        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));
            }
        }
Example #2
0
        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));
        }