NOTE: hay que rehacer el dto porque no se comporta como deberia

This commit is contained in:
2024-10-21 01:55:46 -03:00
parent a011b3a970
commit 4f358d4c2a
4 changed files with 57 additions and 15 deletions

View File

@@ -1,6 +1,8 @@
using Microsoft.AspNetCore.Mvc;
using System.Text;
using Entidades;
using Entidades.Dto;
using Modelo;
namespace AlquilaFacil.Controllers;
@@ -9,18 +11,34 @@ public class InquilinoController: ControllerBase
{
[HttpGet("api/inquilino")]
public IActionResult Get(){
public IActionResult Get() {
return Ok();
}
[HttpPost("api/inquilino")]
public IActionResult Post([FromForm] Cliente inq){
if (inq == null) return BadRequest("Inquilino inválido.");
if (inq.dni == 0 ) return BadRequest("No se especifico dni");
if (inq.dni < 0 ) return BadRequest("Dni Invalido");
return Ok();
public IActionResult Post([FromForm] CrearClienteDto cid) {
var ret = verificarCrearUsuario(cid);
if (ret is BadRequestResult) return ret;
bool ret2 = RepositorioUsuarios.Singleton.AltaCliente(cid);
return (ret2) ? Ok() : BadRequest();
}
private IActionResult verificarCrearUsuario(CrearClienteDto cid) {
string msg = "";
if (cid.Usuario.email == string.Empty) msg += "Falta ingresar el email\n";
if (cid.Usuario.contraseña.Length < 8) msg += "Por lo menos 8 caracteres en la contraseña\n";
if (cid.Cliente.apellido == string.Empty) msg += "Falta Ingresar apellido\n";
if (cid.Cliente.nombre == string.Empty) msg += "Falta Ingresar nombre\n";
if (cid.Cliente.dni <= 0) msg += "Falta Ingresar dni o elejiste un numero negativo\n";
if (cid.Cliente.celular == string.Empty) msg += "Falta Ingresar Numero de Contacto\n";
if (cid.Cliente.domicilio == string.Empty) msg += "Falta Ingresar Domicilio Legal";
if (msg == "") return Ok();
return BadRequest(new {message = msg});
}
}

View File

@@ -0,0 +1,6 @@
namespace Entidades.Dto;
public class CrearClienteDto {
public Cliente Cliente { get; set; } = new();
public Usuario Usuario { get; set; } = new();
}

View File

@@ -0,0 +1,6 @@
using Modelo;
public class RepositorioInquilinos: RepositorioBase<RepositorioInquilinos>
{
}

View File

@@ -6,8 +6,25 @@ using Entidades;
namespace Modelo;
public class RepositorioUsuarios: RepositorioBase<Usuario, RepositorioUsuarios>
public class RepositorioUsuarios: RepositorioBase<RepositorioUsuarios>
{
public bool AltaCliente(CrearClienteDto cid){
var usu = cid.Usuario;
var cli = cid.Cliente;
var cant = Context.Usuarios
.GroupBy(u => u.id)
.Select(x => x.Count())
.ToList();
if (cant.Count < 1) return false;
usu.id = cant[0];
cli.idusuario = cant[0];
Context.Usuarios.Add(usu);
Context.Clientes.Add(cli);
return Guardar();
}
public bool CheckUsuario(LoginDto logindto) {
string Contraseña = HacerHash(logindto.Contraseña);
@@ -21,13 +38,7 @@ public class RepositorioUsuarios: RepositorioBase<Usuario, RepositorioUsuarios>
return false;
}
public override ReadOnlyCollection<Usuario> Listar()
{
throw new NotImplementedException();
}
public string HacerHash(string pass){
private string HacerHash(string pass){
var buf = SHA256.HashData(Encoding.UTF8.GetBytes(pass));
return BitConverter.ToString(buf).Replace("-","");
}
@@ -47,4 +58,5 @@ public class RepositorioUsuarios: RepositorioBase<Usuario, RepositorioUsuarios>
usu.token = tokenString;
Guardar();
}
}