using System; using System.Collections.Generic; using System.Linq; using System.Security.Cryptography.X509Certificates; 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.CodeTable; using Microsoft.AspNetCore.Authorization; namespace EveryThing.Pages.CodeTablePartners { [Authorize(Roles = "Administrator,InvoicingUser,ProjecThingUser,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 Partner { get;set; } public async Task OnGetAsync(string searchString) { ViewData["SearchString"] = searchString; var user = _userManager.GetUserAsync(User).Result; Partner = await _context.CodeTablePartners .Where(x => x.IdCompanyFk == user.IdCompanyFk) .Include(p => p.Country) .Include(c => c.Company) .OrderBy(x => x.Title).ToListAsync(); if (!string.IsNullOrEmpty(searchString)) { Partner = Partner.Where(x => (x.Title != null && x.Title.Contains(searchString, StringComparison.InvariantCultureIgnoreCase)) || (x.Post != null && x.Post.Contains(searchString, StringComparison.InvariantCultureIgnoreCase)) || (x.Street != null && x.Street.Contains(searchString, StringComparison.InvariantCultureIgnoreCase)) || (x.TaxNumber != null && x.TaxNumber.Contains(searchString, StringComparison.InvariantCultureIgnoreCase))) .ToList(); } } } }