Esempio n. 1
0
        /// <summary>
        /// Filter to only current page and add pagination data to controls
        /// </summary>
        /// <param name="model"></param>
        /// <param name="currentPage"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public static ServiceRequestApprovalModel Paginate(ServiceRequestApprovalModel model, int currentPage, int pageSize)
        {
            model.Controls.CurrentPage = currentPage;               //set current page

            if (model.ServiceRequests.Count > pageSize)
            {
                model.Controls.TotalPages = (model.ServiceRequests.Count + pageSize - 1) / pageSize;                    //number of pages
                model.ServiceRequests     = model.ServiceRequests.Skip(pageSize * currentPage).Take(pageSize).ToList(); //select current page
            }
            return(model);
        }
Esempio n. 2
0
        /// <summary>
        /// Returns all service request approval model for the user Id, ordered by Id
        /// </summary>
        /// <param name="srController">service request controller</param>
        /// <param name="userManager"></param>
        /// <param name="userId">requesting user</param>
        /// <param name="currentPage">current page</param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public static ServiceRequestApprovalModel GetAllRequests(IServiceRequestController srController, IUserManager userManager, int userId, int currentPage,
                                                                 int pageSize)
        {
            var model = new ServiceRequestApprovalModel {
                Controls = new ServiceRequestApprovalControls()
            };
            var srList = (from s in srController.GetServiceRequestsForRequestorId(userId, userId) where s.State != ServiceRequestState.Cancelled orderby s.Id descending select s).ToList();

            model.ServiceRequests = ConvertToTableModel(userManager, srList, userId);
            Paginate(model, currentPage, pageSize);

            model.Controls.FilterText = "All My Requests";

            return(model);
        }
Esempio n. 3
0
        /// <summary>
        /// Get Department Request approvals and filter
        /// </summary>
        /// <param name="srController"></param>
        /// <param name="userManager"></param>
        /// <param name="userId"></param>
        /// <param name="currentPage"></param>
        /// <param name="pageSize"></param>
        /// <param name="state"></param>
        /// <returns></returns>
        public static ServiceRequestApprovalModel GetDepartmentRequests(IServiceRequestController srController, IUserManager userManager, int userId,
                                                                        int currentPage, int pageSize, ServiceRequestState state)
        {
            var model = new ServiceRequestApprovalModel {
                Controls = new ServiceRequestApprovalControls()
            };
            var srList = (from s in srController.GetServiceRequestsForApproverId(userId)
                          where s.State == state
                          orderby s.Id descending
                          select s).ToList();

            model.ServiceRequests = ConvertToTableModel(userManager, srList, userId);
            Paginate(model, currentPage, pageSize);
            model.Controls.FilterText = $"Filtered Department Requests by {state}";
            return(model);
        }
        /// <summary>
        /// display the home/portal page
        /// </summary>
        /// <returns></returns>
        public ActionResult Index(int pageId = 0)
        {           //default of my service requests filtered by incomplete
            ServiceRequestApprovalModel model = new ServiceRequestApprovalModel();

            try
            {
                model = ServiceRequestApprovalHelper.GetMyRequests(_serviceRequestController, _userManager, UserId, pageId, _pageSize, ServiceRequestState.Incomplete);
            }
            catch (Exception exception)
            {
                TempData["MessageType"] = WebMessageType.Failure;
                TempData["Message"]     = $"Failed to retrieve any service requests, {exception.Message}";
            }
            if (model.Controls == null)
            {
                model.Controls = new ServiceRequestApprovalControls();
            }
            return(View("Index", model));
        }
Esempio n. 5
0
        /// <summary>
        /// Returns all service request approval model for the user Id, filtered, and ordered by id
        /// </summary>
        /// <param name="srController">service request controller</param>
        /// <param name="userManager"></param>
        /// <param name="userId">requesting user</param>
        /// <param name="currentPage">current page</param>
        /// <param name="pageSize">page size</param>
        /// <param name="state">state to filter by</param>
        /// <returns></returns>
        public static ServiceRequestApprovalModel GetMyRequests(IServiceRequestController srController, IUserManager userManager,
                                                                int userId, int currentPage, int pageSize, ServiceRequestState state)
        {
            var model = new ServiceRequestApprovalModel {
                Controls = new ServiceRequestApprovalControls()
            };
            // retrieve filtered data
            var srList = (from s in srController.GetServiceRequestsForRequestorId(userId, userId)
                          where s.State == state && s.State == state
                          orderby s.Id descending
                          select s).ToList();

            model.ServiceRequests = ConvertToTableModel(userManager, srList, userId);
            Paginate(model, currentPage, pageSize);

            model.Controls.FilterText          = $"Filtered My Requests by {state}";
            model.Controls.FilterState         = state;         //hints to pagination
            model.Controls.FilterStateRequired = true;

            return(model);
        }
        /// <summary>
        /// Filter My Requests, all (except cancelled)
        /// </summary>
        /// <param name="pageId"></param>
        /// <returns></returns>
        public ActionResult AllServiceRequests(int pageId = 0)
        {
            ServiceRequestApprovalModel model = new ServiceRequestApprovalModel();

            try
            {
                model = ServiceRequestApprovalHelper.GetAllRequests(_serviceRequestController, _userManager, UserId, pageId, _pageSize);
            }
            catch (Exception exception)
            {
                TempData["MessageType"] = WebMessageType.Failure;
                TempData["Message"]     = $"Failed to retrieve any service requests, {exception.Message}";
            }
            if (model.Controls != null)
            {
                model.Controls.FilterAction = "AllServiceRequests";
            }
            else
            {
                model.Controls = new ServiceRequestApprovalControls();
            }
            return(View("Index", model));
        }