Events webapp
This commit is contained in:
53
StudentHouseDashboard/WebApp/Pages/EditEvent.cshtml.cs
Normal file
53
StudentHouseDashboard/WebApp/Pages/EditEvent.cshtml.cs
Normal file
@@ -0,0 +1,53 @@
|
||||
using Logic;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
using Models;
|
||||
using System.Security.Claims;
|
||||
|
||||
namespace WebApp.Pages
|
||||
{
|
||||
[Authorize]
|
||||
public class EditEventModel : PageModel
|
||||
{
|
||||
private readonly IEventRepository _eventRepository;
|
||||
private readonly IUserRepository _userRepository;
|
||||
|
||||
public EditEventModel(IEventRepository eventRepository, IUserRepository userRepository)
|
||||
{
|
||||
_eventRepository = eventRepository;
|
||||
_userRepository = userRepository;
|
||||
}
|
||||
[BindProperty]
|
||||
public Event Event { get; set; }
|
||||
public void OnGet(int? id)
|
||||
{
|
||||
EventManager eventManager = new EventManager(_eventRepository);
|
||||
if (id != null)
|
||||
{
|
||||
Event @event = eventManager.GetEventById(id.Value);
|
||||
if (@event.Author.ID == int.Parse(User.FindFirstValue("id")) || User.IsInRole("ADMIN") )
|
||||
{
|
||||
ViewData["event"] = @event;
|
||||
}
|
||||
}
|
||||
}
|
||||
public IActionResult OnPost(bool? n)
|
||||
{
|
||||
if (n != null && n.Value)
|
||||
{
|
||||
UserManager userManager = new UserManager(_userRepository);
|
||||
User user = userManager.GetUserById(int.Parse(User.FindFirstValue("id")));
|
||||
EventManager eventManager = new EventManager(_eventRepository);
|
||||
eventManager.CreateEvent(Event.Title, Event.Description, user, DateTime.Now, Event.StartDate, Event.EndDate);
|
||||
}
|
||||
else
|
||||
{
|
||||
EventManager eventManager = new EventManager(_eventRepository);
|
||||
eventManager.UpdateEvent(Event.ID, Event.Title, Event.Description, Event.StartDate, Event.EndDate);
|
||||
}
|
||||
|
||||
return RedirectToPage("Events");
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user