using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.EntityFrameworkCore; using EveryThing.Data; using EveryThing.Models; using EveryThing.Models.Vehicle; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Identity; using EveryThing.Models.Invoice; namespace EveryThing.Pages.CodeTableVehicles { [Authorize(Roles = "Administrator,TransportThingUser")] public class IndexModel : PageModel { private readonly ApplicationDbContext _context; private readonly UserManager _userManager; public IndexModel(ApplicationDbContext context, UserManager userManager) { _context = context; _userManager = userManager; } public IList Vehicles { get;set; } public async Task OnGetAsync(string searchString, string inactiveVehicles) { var user = _userManager.GetUserAsync(User).Result; ViewData["SearchString"] = searchString; ViewData["InactiveVehicles"] = inactiveVehicles == "on" ? "checked" : ""; Vehicles = await _context.Vehicles .Where(x => x.IdCompanyFk == user.IdCompanyFk) .OrderBy(x => x.Active) .ThenBy(x => x.Title) .ToListAsync(); // Search string if (!string.IsNullOrEmpty(searchString)) { Vehicles = Vehicles.Where(s => s.Title.Contains(searchString)).ToList(); } } } }