public ActionResult Index(bool?active, int?location, string order, int?page, string query, int?show, string sort, int?trailer, int?type, int?vid) { IEnumerable <Vehicle> model = CarraraSQL.Vehicles; if (string.IsNullOrEmpty(query)) { // Filters if (active.HasValue) { model = model.Where(x => x.IsActive == active.Value); } if (location.HasValue) { model = model.Where(x => x.LocationID == location.Value); } if (trailer.HasValue) { model = model.Where(x => x.TrailerTypeID == trailer.Value); } if (type.HasValue) { model = model.Where(x => x.VehicleTypeID == type.Value); } // Sort order = string.IsNullOrEmpty(order) ? "asc" : order; sort = string.IsNullOrEmpty(sort) ? "code" : sort; bool asc = order == "asc"; switch (sort) { case "name": model = asc ? model.OrderBy(x => x.VehicleName) : model.OrderByDescending(x => x.VehicleName); break; case "account-number": model = asc ? model.OrderBy(x => x.VehicleNumber) : model.OrderByDescending(x => x.VehicleNumber); break; case "vehicle-type": model = asc ? model.OrderBy(x => x.VehicleType.VehicleTypeName) : model.OrderByDescending(x => x.VehicleType.VehicleTypeName); break; /*case "driver": * model = asc ? * model.OrderBy(x => !x.DefaultDriverID.HasValue).ThenBy(x => x.DefaultDriverID.HasValue ? x.Employee.LastFirst : "") : * model.OrderByDescending(x => x.DefaultDriverID.HasValue && x.Employee.LastFirst != null).ThenByDescending(x => x.DefaultDriverID.HasValue ? x.Employee.LastFirst : null); * break;*/ case "location": model = asc ? model.OrderBy(x => !x.LocationID.HasValue).ThenBy(x => x.LocationID.HasValue ? x.Location.LocationName : "") : model.OrderByDescending(x => x.LocationID.HasValue && x.Location.LocationName != null).ThenByDescending(x => x.LocationID.HasValue ? x.Location.LocationName : null); break; case "ezpass": model = asc ? model.OrderBy(x => x.EZPass) : model.OrderByDescending(x => x.EZPass); break; case "active": model = asc ? model.OrderBy(x => x.IsActive) : model.OrderByDescending(x => x.IsActive); break; case "length": model = asc ? model.OrderBy(x => x.Length) : model.OrderByDescending(x => x.Length); break; case "make": model = asc ? model.OrderBy(x => x.Make) : model.OrderByDescending(x => x.Make); break; case "registration": model = asc ? model.OrderBy(x => x.Registration) : model.OrderByDescending(x => x.Registration); break; case "registration-date": model = asc ? model.OrderBy(x => x.RegistrationDate) : model.OrderByDescending(x => x.RegistrationDate); break; case "registration-expiration": model = asc ? model.OrderBy(x => x.RegistrationExpiration) : model.OrderByDescending(x => x.RegistrationExpiration); break; case "vin": model = asc ? model.OrderBy(x => x.VIN) : model.OrderByDescending(x => x.VIN); break; case "weight": model = asc ? model.OrderBy(x => x.Weight) : model.OrderByDescending(x => x.Weight); break; case "year": model = asc ? model.OrderBy(x => x.Year) : model.OrderByDescending(x => x.Year); break; case "trailer-type": model = asc ? model.OrderBy(x => !x.TrailerTypeID.HasValue).ThenBy(x => x.LocationID.HasValue ? x.TrailerType.TrailerTypeName : "") : model.OrderByDescending(x => x.TrailerTypeID.HasValue && x.TrailerType.TrailerTypeName != null).ThenByDescending(x => x.TrailerTypeID.HasValue ? x.TrailerType.TrailerTypeName : null); break; case "next-oil": model = asc ? model.OrderBy(x => x.NextOil) : model.OrderByDescending(x => x.NextOil); break; case "next-grease": model = asc ? model.OrderBy(x => x.NextGrease) : model.OrderByDescending(x => x.NextGrease); break; case "next-service": model = asc ? model.OrderBy(x => x.NextService) : model.OrderByDescending(x => x.NextService); break; case "current-meter-reading": model = asc ? model.OrderBy(x => x.CurrentMeterReading) : model.OrderByDescending(x => x.CurrentMeterReading); break; case "last-oil": model = asc ? model.OrderBy(x => x.LastOil) : model.OrderByDescending(x => x.LastOil); break; case "last-grease": model = asc ? model.OrderBy(x => x.LastGrease) : model.OrderByDescending(x => x.LastGrease); break; case "last-service": model = asc ? model.OrderBy(x => x.LastService) : model.OrderByDescending(x => x.LastService); break; case "should-export-usage": model = asc ? model.OrderBy(x => x.ShouldExportUsage) : model.OrderByDescending(x => x.ShouldExportUsage); break; case "is-on-road": model = asc ? model.OrderBy(x => x.IsOnRoad) : model.OrderByDescending(x => x.IsOnRoad); break; case "number-of-axles": model = asc ? model.OrderBy(x => x.NumberOfAxles) : model.OrderByDescending(x => x.NumberOfAxles); break; case "gross-axle-weight-rating": model = asc ? model.OrderBy(x => x.GrossAxleWeightRating) : model.OrderByDescending(x => x.GrossAxleWeightRating); break; case "gross-vehicle-weight-rating": model = asc ? model.OrderBy(x => x.GrossVehicleWeightRating) : model.OrderByDescending(x => x.GrossVehicleWeightRating); break; default: model = asc ? model.OrderBy(x => x.VehicleCode) : model.OrderByDescending(x => x.VehicleCode); break; } } else { if (vid.HasValue) { Vehicle vehicle = CarraraSQL.Vehicles.Find(vid); if (vehicle != null) { RouteValueDictionary parameters = Request.QueryString.ToRouteValues(); return(RedirectToAction("Edit", parameters.CopyAndAdd("guid", vid))); } } // Search by query Search.Results <Vehicle> search = Search.Vehicles(active, CarraraSQL, query); model = search.List; Page.Title = TempData["Page.Title"] != null ? TempData["Page.Title"].ToString() : string.IsNullOrEmpty(search.DidYouMean) ? "Found " + search.TotalHits + " result" + (search.TotalHits == 1 ? "" : "s") + " for ‘" + query + "’" : "Did You Mean ‘" + search.DidYouMean + "’?"; ViewBag.Results = search.TotalHits; } // Return Results Page.Title = TempData["Page.Title"] != null ? TempData["Page.Title"].ToString() : "Manage Vehicles"; page = page ?? 1; show = show ?? 40; int count = model.Count() == 0 ? 1 : model.Count(); if (show.Value > count || show == 0) { show = count; page = 1; } int?max = (count / show) + 1; if (page > max) { page = max; } return(View(model.ToPagedList(page.Value, show.Value))); }
public ActionResult Index(bool?active, int?department, int?location, string order, int?page, string query, int?show, string sort, int?status, string uid) { IEnumerable <Employee> model = CarraraSQL.Employees; if (string.IsNullOrEmpty(query)) { // Filter if (department.HasValue) { model = model.Where(x => x.DepartmentID == department.Value); } if (location.HasValue) { model = model.Where(x => x.LocationID == location.Value); } if (status.HasValue) { model = model.Where(x => x.EmployeeStatusID == status.Value); } else { model = model.Where(x => x.EmployeeStatusID.Value != 2); } // Sort order = string.IsNullOrEmpty(order) ? "asc" : order; sort = string.IsNullOrEmpty(sort) ? "employee-number" : sort; bool asc = order == "asc"; switch (sort) { case "last": model = asc ? model.OrderBy(x => x.LastName).ThenBy(x => x.FirstName) : model.OrderByDescending(x => x.LastName).ThenByDescending(x => x.FirstName); break; case "first": model = asc ? model.OrderBy(x => x.FirstName).ThenBy(x => x.LastName) : model.OrderByDescending(x => x.FirstName).ThenBy(x => x.LastName); break; case "mobile": model = asc ? model.OrderBy(x => x.Mobile) : model.OrderByDescending(x => x.Mobile); break; case "phone": model = asc ? model.OrderBy(x => x.Phone) : model.OrderByDescending(x => x.Phone); break; case "street": model = asc ? model.OrderBy(x => x.Street) : model.OrderByDescending(x => x.Street); break; case "city": model = asc ? model.OrderBy(x => x.City) : model.OrderByDescending(x => x.City); break; case "state": model = asc ? model.OrderBy(x => x.State) : model.OrderByDescending(x => x.State); break; case "zip": model = asc ? model.OrderBy(x => x.Zip) : model.OrderByDescending(x => x.Zip); break; case "birth-date": model = asc ? model.OrderByDescending(x => x.BirthDate) : model.OrderBy(x => x.BirthDate); break; case "department": model = asc ? model.OrderBy(x => !x.DepartmentID.HasValue).ThenBy(x => x.DepartmentID.HasValue ? x.Department.DepartmentName : "") : model.OrderByDescending(x => x.DepartmentID.HasValue && x.Department.DepartmentName != null).ThenByDescending(x => x.DepartmentID.HasValue ? x.Department.DepartmentName : null); break; case "location": model = asc ? model.OrderBy(x => !x.LocationID.HasValue).ThenBy(x => x.LocationID.HasValue ? x.Location.LocationName : "") : model.OrderByDescending(x => x.LocationID.HasValue && x.Location.LocationName != null).ThenByDescending(x => x.LocationID.HasValue ? x.Location.LocationName : null); break; case "default-cost-center": model = asc ? model.OrderBy(x => x.DefaultCostCenterID) : model.OrderByDescending(x => x.DefaultCostCenterID); break; case "shift-start-time": model = asc ? model.OrderBy(x => x.ShiftStartTime) : model.OrderByDescending(x => x.ShiftStartTime); break; case "shift-end-time": model = asc ? model.OrderBy(x => x.ShiftEndTime) : model.OrderByDescending(x => x.ShiftEndTime); break; case "hourly": model = asc ? model.OrderBy(x => x.IsHourly) : model.OrderByDescending(x => x.IsHourly); break; case "project-manager": model = asc ? model.OrderBy(x => x.IsProjectManager) : model.OrderByDescending(x => x.IsProjectManager); break; case "driver": model = asc ? model.OrderBy(x => x.IsDriver) : model.OrderByDescending(x => x.IsDriver); break; case "employee-status": model = asc ? model.OrderBy(x => !x.EmployeeStatusID.HasValue).ThenBy(x => x.EmployeeStatusID.HasValue ? x.EmployeeStatus.EmployeeStatusName : "") : model.OrderByDescending(x => x.EmployeeStatusID.HasValue && x.EmployeeStatus.EmployeeStatusName != null).ThenByDescending(x => x.EmployeeStatusID.HasValue ? x.EmployeeStatus.EmployeeStatusName : null); break; case "start-date": model = asc ? model.OrderByDescending(x => x.StartDate) : model.OrderBy(x => x.StartDate); break; case "end-date": model = asc ? model.OrderByDescending(x => x.EndDate) : model.OrderBy(x => x.EndDate); break; case "vacation-hours": model = asc ? model.OrderBy(x => x.VacationHours) : model.OrderByDescending(x => x.VacationHours); break; case "years-of-service": model = asc ? model.OrderBy(x => x.YearsOfService) : model.OrderByDescending(x => x.YearsOfService); break; case "vehicle": model = asc ? model.OrderBy(x => !x.VehicleID.HasValue).ThenBy(x => x.VehicleID.HasValue ? x.Vehicle.VehicleLabel : "") : model.OrderByDescending(x => x.VehicleID.HasValue && x.Vehicle.VehicleLabel != null).ThenByDescending(x => x.VehicleID.HasValue ? x.Vehicle.VehicleLabel : null); break; case "rate": model = asc ? model.OrderBy(x => x.Rate) : model.OrderByDescending(x => x.Rate); break; case "emergency-contact-name": model = asc ? model.OrderBy(x => x.EmergencyContactName) : model.OrderByDescending(x => x.EmergencyContactName); break; case "emergency-contact-phone": model = asc ? model.OrderBy(x => x.EmergencyContactPhone) : model.OrderByDescending(x => x.EmergencyContactPhone); break; default: model = asc ? model.OrderBy(x => x.EmployeeNumber) : model.OrderByDescending(x => x.EmployeeNumber); break; } Page.Title = TempData["Page.Title"] != null ? TempData["Page.Title"].ToString() : "Manage Employees"; } else { if (!string.IsNullOrEmpty(uid)) { Employee employee = CarraraSQL.Employees.Find(uid); if (employee != null) { RouteValueDictionary parameters = Request.QueryString.ToRouteValues(); return(RedirectToAction("Edit", parameters.CopyAndAdd("guid", uid))); } } // Search by query Search.Results <Employee> search = Search.Employees(CarraraSQL, query); model = search.List; Page.Title = TempData["Page.Title"] != null ? TempData["Page.Title"].ToString() : string.IsNullOrEmpty(search.DidYouMean) ? "Found " + search.TotalHits + " result" + (search.TotalHits == 1 ? "" : "s") + " for ‘" + query + "’" : "Did You Mean ‘" + search.DidYouMean + "’?"; ViewBag.Results = search.TotalHits; } page = page ?? 1; show = show ?? 40; int count = model.Count() == 0 ? 1 : model.Count(); if (show.Value > count || show == 0) { show = count; page = 1; } int?max = (count / show) + 1; if (page > max) { page = max; } return(View(model.ToPagedList(page.Value, show.Value))); }
public ActionResult Index(int?jid, string order, int?page, string query, int?show, int?status, string sort) { IEnumerable <Job> model = CarraraSQL.Jobs; if (string.IsNullOrEmpty(query)) { // Filter if (status.HasValue) { if (status.Value != 0) { model = model.Where(x => x.JobStatusID == status.Value); } } else { model = model.Where(x => x.JobStatusID == 1); } // Sort order = string.IsNullOrEmpty(order) ? "asc" : order; sort = string.IsNullOrEmpty(sort) ? "job-id" : sort; bool asc = order == "asc"; switch (sort) { case "job-number": model = asc ? model.OrderBy(x => x.JobNumber) : model.OrderByDescending(x => x.JobNumber); break; case "job-name": model = asc ? model.OrderBy(x => x.JobName) : model.OrderByDescending(x => x.JobName); break; case "erector": model = asc ? model.OrderBy(x => !x.ErectorID.HasValue).ThenBy(x => x.ErectorID.HasValue ? x.Contact.DisplayName : "") : model.OrderByDescending(x => x.ErectorID.HasValue && x.Contact.DisplayName != null).ThenByDescending(x => x.ErectorID.HasValue ? x.Contact.DisplayName : null); break; case "project-manager": model = asc ? model.OrderBy(x => !x.ProjectManagerID.HasValue).ThenBy(x => x.ProjectManagerID.HasValue ? x.Employee.LastName : "").ThenBy(x => x.ProjectManagerID.HasValue ? x.Employee.FirstName : "") : model.OrderByDescending(x => x.ProjectManagerID.HasValue && x.Employee.LastName != null).ThenByDescending(x => x.ProjectManagerID.HasValue ? x.Employee.LastName : null).ThenByDescending(x => x.ProjectManagerID.HasValue ? x.Employee.FirstName : null); break; case "street": model = asc ? model.OrderBy(x => x.Street) : model.OrderByDescending(x => x.Street); break; case "city": model = asc ? model.OrderBy(x => x.City) : model.OrderByDescending(x => x.City); break; case "state": model = asc ? model.OrderBy(x => x.State) : model.OrderByDescending(x => x.State); break; case "zip-code": model = asc ? model.OrderBy(x => x.ZIP) : model.OrderByDescending(x => x.ZIP); break; case "general-contractor": model = asc ? model.OrderBy(x => x.GeneralContractor) : model.OrderByDescending(x => x.GeneralContractor); break; case "status": model = asc ? model.OrderBy(x => !x.JobStatusID.HasValue).ThenBy(x => x.JobStatusID.HasValue ? x.JobStatu.JobStatusName : "") : model.OrderByDescending(x => x.JobStatusID.HasValue && x.JobStatu.JobStatusName != null).ThenByDescending(x => x.JobStatusID.HasValue ? x.JobStatu.JobStatusName : null); break; case "travel-time": model = asc ? model.OrderBy(x => x.TravelTime) : model.OrderByDescending(x => x.TravelTime); break; case "route": model = asc ? model.OrderBy(x => x.State) : model.OrderByDescending(x => x.State); break; default: model = asc ? model.OrderBy(x => x.JobID) : model.OrderByDescending(x => x.JobID); break; } } else { if (jid.HasValue) { Job job = CarraraSQL.Jobs.Find(jid); if (job != null) { RouteValueDictionary parameters = Request.QueryString.ToRouteValues(); return(RedirectToAction("Edit", parameters.CopyAndAdd("guid", jid))); } } // Search by query Search.Results <Job> search = Search.Jobs(null, CarraraSQL, query); model = search.List; Page.Title = TempData["Page.Title"] != null ? TempData["Page.Title"].ToString() : string.IsNullOrEmpty(search.DidYouMean) ? "Found " + search.TotalHits + " result" + (search.TotalHits == 1 ? "" : "s") + " for ‘" + query + "’" : "Did You Mean ‘" + search.DidYouMean + "’?"; ViewBag.Results = search.TotalHits; } // Return Results Page.Title = TempData["Page.Title"] != null ? TempData["Page.Title"].ToString() : "Manage Jobs"; page = page ?? 1; show = show ?? 40; int count = model.Count() == 0 ? 1 : model.Count(); if (show.Value > count || show == 0) { show = count; page = 1; } int?max = (count / show) + 1; if (page > max) { page = max; } return(View(model.ToPagedList(page.Value, show.Value))); }