view announcements, users by page number

This commit is contained in:
Dimitar Byalkov
2023-03-29 22:46:46 +02:00
parent f858c47ff7
commit 5c0eb222a4
14 changed files with 141 additions and 21 deletions

View File

@@ -1,4 +1,23 @@
@page
@using StudentHouseDashboard.Models;
@model WebApp.Pages.AnnouncementModel
@{
User user = (User)ViewData["user"];
ViewData["Title"] = $"User {user.Name}";
}
<h1>@user.Name</h1>
<div class="container">
<div class="row">
<div class="col">
<p>Name: </p>
<p>Password: </p>
<p>Role: </p>
</div>
<div class="col">
<p>@user.Name</p>
<p>@user.Password</p>
<p>@user.Role.ToString()</p>
</div>
</div>
</div>

View File

@@ -1,12 +1,15 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using StudentHouseDashboard.Managers;
namespace WebApp.Pages
{
public class AnnouncementModel : PageModel
{
public void OnGet()
public void OnGet(int id)
{
UserManager userManager = new UserManager();
ViewData.Add("user", userManager.GetUserById(id));
}
}
}

View File

@@ -1,15 +1,33 @@
@page
@using StudentHouseDashboard.Models;
@model WebApp.Pages.AnnouncementsModel
@{
ViewData["Title"] = "Announcements";
List<User> users = (List<User>)ViewData["users"];
}
<div class="card" style="width: 18rem;">
<div class="card-body">
<h5 class="card-title">Card title</h5>
<h6 class="card-subtitle mb-2 text-muted">Card subtitle</h6>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
<a href="#" class="card-link">Card link</a>
<a href="#" class="card-link">Another link</a>
@foreach (User user in users)
{
<div class="card" style="display:inline-block; width: 18rem;">
<div class="card-body">
<h5 class="card-title">@user.Role.ToString()</h5>
<h6 class="card-subtitle mb-2 text-muted">@user.Name</h6>
<p class="card-text">@user.Password</p>
<a href="./Announcement?id=@user.ID" class="btn btn-primary">More details</a>
</div>
</div>
</div>
}
<nav aria-label="Page navigation example">
<ul class="pagination justify-content-center">
<li class="page-item disabled">
<a class="page-link" href="#" tabindex="-1">Previous</a>
</li>
<li class="page-item"><a class="page-link" href="#">1</a></li>
<li class="page-item"><a class="page-link" href="#">2</a></li>
<li class="page-item"><a class="page-link" href="#">3</a></li>
<li class="page-item">
<a class="page-link" href="#">Next</a>
</li>
</ul>
</nav>

View File

@@ -1,12 +1,19 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using StudentHouseDashboard.Managers;
namespace WebApp.Pages
{
public class AnnouncementsModel : PageModel
{
public void OnGet()
public AnnouncementManager AnnouncementManager { get; set; }
public UserManager UserManager { get; set; }
public void OnGet(int? p, int? c)
{
UserManager = new UserManager();
ViewData.Add("users", UserManager.GetUsersByPage(p, c));
ViewData.Add("page", p);
ViewData.Add("allCount", UserManager.GetAllUsers().Count());
}
}
}

View File

@@ -23,7 +23,7 @@ namespace WebApp.Pages
if (item.Name == MyUser.Name && BCrypt.Net.BCrypt.Verify(MyUser.Password, item.Password))
{
MyUser = item;
ViewData["confirm"] = $"Welcome, {MyUser.Name}! {MyUser.Id}, {MyUser.Password}, {MyUser.Role}";
ViewData["confirm"] = $"Welcome, {MyUser.Name}! {MyUser.ID}, {MyUser.Password}, {MyUser.Role}";
}
}