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.Project; using Microsoft.AspNetCore.Authorization; namespace EveryThing.Pages.Projects { [Authorize(Roles = "Administrator,ProjecThingUser")] public class DeleteModel : PageModel { private readonly EveryThing.Data.ApplicationDbContext _context; public DeleteModel(EveryThing.Data.ApplicationDbContext context) { _context = context; } [BindProperty] public Models.Project.Project Project { get; set; } public async Task OnGetAsync(int? id) { if (id == null) { return NotFound(); } Project = await _context.Projects .Include(p => p.Company).FirstOrDefaultAsync(m => m.IdProject == id); if (Project == null) { return NotFound(); } return Page(); } public async Task OnPostAsync(int? id) { if (id == null) { return NotFound(); } Project = await _context.Projects.FindAsync(id); if (Project != null) { _context.Projects.Remove(Project); await _context.SaveChangesAsync(); } return RedirectToPage("./Index"); } } }