F1 - Autentcacion - Completa

This commit is contained in:
2026-08-10 15:54:42 -03:00
commit dd7f5b3bf6
245 changed files with 81985 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
@model ApplicationUser
<h1>Crear Usuario</h1>
<hr />
<div class="row">
<div class="col-md-6">
<form asp-action="Create">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="Nombre" class="control-label"></label>
<input asp-for="Nombre" class="form-control" />
<span asp-validation-for="Nombre" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Apellido" class="control-label"></label>
<input asp-for="Apellido" class="form-control" />
<span asp-validation-for="Apellido" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Email" class="control-label"></label>
<input asp-for="Email" class="form-control" />
<span asp-validation-for="Email" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Documento" class="control-label"></label>
<input asp-for="Documento" class="form-control" />
<span asp-validation-for="Documento" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Direccion" class="control-label"></label>
<input asp-for="Direccion" class="form-control" />
<span asp-validation-for="Direccion" class="text-danger"></span>
</div>
<div class="form-group">
<label for="password" class="control-label">Contraseña</label>
<input name="password" class="form-control" type="password" />
<span asp-validation-for="PasswordHash" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Crear" class="btn btn-primary" />
</div>
</form>
</div>
</div>
<div>
<a asp-action="Index">Volver a la lista</a>
</div>
+22
View File
@@ -0,0 +1,22 @@
@model ApplicationUser
<h1>Eliminar Usuario</h1>
<h3>¿Está seguro de eliminar este usuario?</h3>
<div>
<hr />
<dl class="row">
<dt class="col-sm-2">Nombre</dt>
<dd class="col-sm-10">@Model.Nombre</dd>
<dt class="col-sm-2">Apellido</dt>
<dd class="col-sm-10">@Model.Apellido</dd>
<dt class="col-sm-2">Email</dt>
<dd class="col-sm-10">@Model.Email</dd>
<dt class="col-sm-2">Documento</dt>
<dd class="col-sm-10">@Model.Documento</dd>
</dl>
<form asp-action="Delete">
<input type="hidden" asp-for="Id" />
<input type="submit" value="Eliminar" class="btn btn-danger" />
<a asp-action="Index" class="btn btn-secondary">Cancelar</a>
</form>
</div>
+47
View File
@@ -0,0 +1,47 @@
@model ApplicationUser
<h1>Crear Usuario</h1>
<hr />
<div class="row">
<div class="col-md-6">
<form asp-action="Edit">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="Nombre" class="control-label"></label>
<input asp-for="Nombre" class="form-control" />
<span asp-validation-for="Nombre" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Apellido" class="control-label"></label>
<input asp-for="Apellido" class="form-control" />
<span asp-validation-for="Apellido" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Email" class="control-label"></label>
<input asp-for="Email" class="form-control" />
<span asp-validation-for="Email" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Documento" class="control-label"></label>
<input asp-for="Documento" class="form-control" />
<span asp-validation-for="Documento" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Direccion" class="control-label"></label>
<input asp-for="Direccion" class="form-control" />
<span asp-validation-for="Direccion" class="text-danger"></span>
</div>
<div class="form-group">
<label for="password" class="control-label">Contraseña</label>
<input name="password" class="form-control" type="password" />
<span asp-validation-for="PasswordHash" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Crear" class="btn btn-primary" />
</div>
</form>
</div>
</div>
<div>
<a asp-action="Index">Volver a la lista</a>
</div>
+43
View File
@@ -0,0 +1,43 @@
@using Microsoft.AspNetCore.Identity
@inject UserManager<ApplicationUser> UserManager
@model IEnumerable<ApplicationUser>
<h1>Usuarios</h1>
<p>
<a asp-action="Create" class="btn btn-primary">Crear nuevo usuario</a>
</p>
<table class="table table-striped">
<thead>
<tr>
<th>Nombre</th>
<th>Apellido</th>
<th>Email</th>
<th>Documento</th>
<th>Roles</th>
<th>Acciones</th>
</tr>
</thead>
<tbody>
@foreach (var usuario in Model)
{
<tr>
<td>@usuario.Nombre</td>
<td>@usuario.Apellido</td>
<td>@usuario.Email</td>
<td>@usuario.Documento</td>
<td>
@{
var roles = await UserManager.GetRolesAsync(usuario);
@string.Join(", ", roles)
}
</td>
<td>
<a asp-action="Details" asp-route-id="@usuario.Id" class="btn btn-info btn-sm">Detalles</a>
<a asp-action="Edit" asp-route-id="@usuario.Id" class="btn btn-warning btn-sm">Editar</a>
<a asp-action="Delete" asp-route-id="@usuario.Id" class="btn btn-danger btn-sm">Eliminar</a>
<a asp-action="ManageRoles" asp-route-id="@usuario.Id" class="btn btn-secondary btn-sm">Roles</a>
</td>
</tr>
}
</tbody>
</table>
+21
View File
@@ -0,0 +1,21 @@
@using vita_asistente.Controllers
@model ManageRolesViewModel
<h1>Gestionar roles de @Model.UsuarioNombre</h1>
<hr />
<form asp-action="ManageRoles" method="post">
<input type="hidden" asp-for="UsuarioId" />
<div class="form-group">
@foreach (var role in Model.RolesDisponibles)
{
<div class="form-check">
<input class="form-check-input" type="checkbox" name="RolesDisponibles[@Model.RolesDisponibles.IndexOf(role)].IsSelected" value="true" @(role.IsSelected ? "checked" : "") />
<input type="hidden" name="RolesDisponibles[@Model.RolesDisponibles.IndexOf(role)].RoleId" value="@role.RoleId" />
<input type="hidden" name="RolesDisponibles[@Model.RolesDisponibles.IndexOf(role)].RoleName" value="@role.RoleName" />
<label class="form-check-label">@role.RoleName</label>
</div>
}
</div>
<button type="submit" class="btn btn-primary">Guardar</button>
<a asp-action="Index" class="btn btn-secondary">Cancelar</a>
</form>