コード例 #1
0
        public ActionResult ViewAllWorkers(string searchName, string orderBy, string roleSpec, string depID, string viewType)
        {
            ViewBag.Supervisor = User.IsInRole("Supervisor");

            var data = _data.Worker.AllWorkers();

            data = SortingAndFilteringData.SortAndFilterWorkers(searchName, orderBy, roleSpec, depID, data);

            if (User.IsInRole("Supervisor"))
            {
                var user = _data.ApplicationUser.FindUserByID(User.Identity.GetUserId());
                data = FilteringServices.FilterWorkersPerDepartment(user.Worker.DepartmentID, data);
            }

            ViewBag.SortOptions = _fillViewBag.WorkerSortingOptionsViewBag();

            ViewBag.RoleOptions = _fillViewBag.AvailableRolesFilteringViewBag();

            ViewBag.DepartmentOptions = _fillViewBag.AvailableDepartmentsFilteringViewBag();

            ViewBag.Names = _fillViewBag.GetWorkerNamesForAutocomplete(data);

            ViewBag.Parameters = new List <string> {
                searchName, orderBy, roleSpec, depID
            };

            if (string.IsNullOrEmpty(viewType))
            {
                return(View(data));
            }
            else
            {
                return(View("ViewAllWorkersList", data));
            }
        }
コード例 #2
0
 /// <summary>
 /// Give me the List of Workers to sort and the parameters to filter and sort and I will do the work and return
 /// </summary>
 /// <param name="searchName"></param>
 /// <param name="orderBy"></param>
 /// <param name="roleSpec"></param>
 /// <param name="depID"></param>
 /// <param name="data"></param>
 public static List <Worker> SortAndFilterWorkers(string searchName, string orderBy, string roleSpec, string depID, List <Worker> data)
 {
     if (!string.IsNullOrEmpty(searchName))
     {
         data = FilteringServices.FilterWorkerByName(searchName, data);
     }
     if (!string.IsNullOrEmpty(orderBy))
     {
         data = SortingServices.SortWorker(orderBy, data);
     }
     if (!string.IsNullOrEmpty(roleSpec))
     {
         data = FilteringServices.FilterWorkersInRole(roleSpec, data);
     }
     if (!string.IsNullOrEmpty(depID))
     {
         data = FilteringServices.FilterWorkersPerDepartment(int.Parse(depID), data);
     }
     return(data);
 }