Skip to content
This repository has been archived by the owner on Sep 5, 2024. It is now read-only.

Commit

Permalink
Merge pull request #2 from RFGRONA/Beta
Browse files Browse the repository at this point in the history
RF, Login, sessions and azure
  • Loading branch information
RFGRONA authored Apr 28, 2024
2 parents 3777bff + 51696bc commit 5090f65
Show file tree
Hide file tree
Showing 130 changed files with 44,130 additions and 181 deletions.
16 changes: 16 additions & 0 deletions BioKudi.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,20 @@
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>

<ItemGroup>
<Compile Remove="wwwroot\css\NewFolder\**" />
<Content Remove="wwwroot\css\NewFolder\**" />
<EmbeddedResource Remove="wwwroot\css\NewFolder\**" />
<None Remove="wwwroot\css\NewFolder\**" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="8.0.4">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="8.0.2" />
</ItemGroup>

</Project>
60 changes: 60 additions & 0 deletions Controllers/AdminController.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
using BioKudi.dto;
using BioKudi.Models;
using BioKudi.Services;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using BioKudi.Utilities;

namespace BioKudi.Controllers
{
[ValidateAuthentication]
[Authorize(Roles = "Admin")]
public class AdminController : Controller
{
private readonly ILogger<AdminController> _logger;
private readonly UserService userService;
private readonly ActivityService activityService;

public AdminController(ILogger<AdminController> logger, UserService userService, ActivityService activityService)
{
_logger = logger;
this.userService = userService;
this.activityService = activityService;
}

public IActionResult IndexAdmin(UserDto user)
{
user = userService.GetUser(user.UserId);
return View(user);
}
public IActionResult ListUsers()
{
var users = userService.GetAllUsers();
return View(users);
}
public IActionResult ListPlaces()
{
return View();
}
public IActionResult ListActivities()
{
var activities = activityService.GetAllActivities();
return View(activities);
}
public IActionResult ListPictures()
{
return View();
}
public IActionResult ListTickets(UserDto user)
{
user = userService.GetUser(user.UserId);
return View(user);
}

[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
public IActionResult Error()
{
return View(new ErrorViewModel { RequestId = System.Diagnostics.Activity.Current?.Id ?? HttpContext.TraceIdentifier });
}
}
}
73 changes: 66 additions & 7 deletions Controllers/HomeController.cs
Original file line number Diff line number Diff line change
@@ -1,32 +1,91 @@
using BioKudi.dto;
using BioKudi.Models;
using BioKudi.Repository;
using BioKudi.Services;
using Microsoft.AspNetCore.Authentication.Cookies;
using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using System.Diagnostics;
using Microsoft.AspNetCore.Mvc.Filters;
using BioKudi.Utilities;
using System.Security.Claims;

namespace BioKudi.Controllers
{
public class HomeController : Controller
{
private readonly ILogger<HomeController> _logger;
private readonly UserService userService;

public HomeController(ILogger<HomeController> logger)
public HomeController(ILogger<HomeController> logger, UserService userService)
{
_logger = logger;
this.userService = userService;
}

public IActionResult Index()
[ValidateLogin]
public IActionResult Index()
{
return View();
}

public IActionResult Privacy()
public IActionResult AccessDenied()
{
return View();
}

[ValidateLogin]
public IActionResult Login()
{
UserDto user = new UserDto();
return View(user);

}

public IActionResult Register()
{
UserDto user = new UserDto();
return View(user);
}

public IActionResult Logout()
{
HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme);
return RedirectToAction("Index", "Home");
}

[HttpPost]
public IActionResult Login(UserDto user)
{
if (!ModelState.IsValid)
{
var result = userService.LoginUser(user, ModelState);
if (result == null)
return View(user);
UserService.AuthUser(HttpContext, user);
if (result.RoleName == "User") // User
return RedirectToAction("IndexUser", "User", new { userId = user.UserId });
if (result.RoleName == "Admin") // Admin
return RedirectToAction("IndexAdmin", "Admin", new { userId = user.UserId });
}
return View(user);
}

[HttpPost]
public IActionResult Register(UserDto user)
{
if (!ModelState.IsValid)
{
var result = userService.RegisterUser(user, ModelState);
if (result != null)
return RedirectToAction("Login", "Home");
}
return View(user);
}

[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
public IActionResult Error()
{
return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
return View(new ErrorViewModel { RequestId = System.Diagnostics.Activity.Current?.Id ?? HttpContext.TraceIdentifier });
}
}
}
}
38 changes: 38 additions & 0 deletions Controllers/UserController.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
using Microsoft.AspNetCore.Mvc;
using BioKudi.Models;
using System.Diagnostics;
using BioKudi.dto;
using BioKudi.Repository;
using Microsoft.AspNetCore.Authorization;
using BioKudi.Services;
using Microsoft.AspNetCore.Mvc.Filters;
using BioKudi.Utilities;

namespace BioKudi.Controllers
{
[ValidateAuthentication]
[Authorize(Roles = "User")]
public class UserController : Controller
{
private readonly ILogger<UserController> _logger;
private readonly UserService userService;

public UserController(ILogger<UserController> logger, UserService userService)
{
_logger = logger;
this.userService = userService;
}

public IActionResult IndexUser(UserDto user)
{
user = userService.GetUser(user.UserId);
return View(user);
}

[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
public IActionResult Error()
{
return View(new ErrorViewModel { RequestId = System.Diagnostics.Activity.Current?.Id ?? HttpContext.TraceIdentifier });
}
}
}
Binary file renamed BIOKUDI-DB.bak → Data/BIOKUDI-DB-BACKUP.bak
Binary file not shown.
Loading

0 comments on commit 5090f65

Please sign in to comment.