using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.EntityFrameworkCore; using EveryThing.Data; using EveryThing.Models; using EveryThing.Models.Transport; using Microsoft.AspNetCore.Authorization; namespace EveryThing.Pages.TransportLoadingOrder { [Authorize(Roles = "Administrator,TransportThingUser")] public class IndexModel : PageModel { private readonly EveryThing.Data.ApplicationDbContext _context; private readonly UserManager _userManager; public IndexModel(EveryThing.Data.ApplicationDbContext context, UserManager userManager) { _context = context; _userManager = userManager; } public IList TransportLoadingOrder { get;set; } public async Task OnGetAsync(string searchString) { ViewData["SearchString"] = searchString; var user = _userManager.GetUserAsync(User).Result; TransportLoadingOrder = await _context.TransportLoadingOrders .Include(t => t.Partner) .Where(x => x.IdCompanyFk == user.IdCompanyFk) .OrderByDescending(x => x.OrderYear).ThenByDescending(x => x.OrderNumber) .ToListAsync(); if (!string.IsNullOrEmpty(searchString)) { TransportLoadingOrder = TransportLoadingOrder.Where(x => x.Company.Title.Contains(searchString) || x.OrderYear + "-" + x.OrderNumber == searchString).ToList(); } } } }