36 lines
1.2 KiB
C#
36 lines
1.2 KiB
C#
using System.Collections.ObjectModel;
|
|
using System.Security.Cryptography;
|
|
using System.Text;
|
|
using Entidades.Dto;
|
|
using Microsoft.EntityFrameworkCore;
|
|
namespace Modelo;
|
|
|
|
public class RepositorioUsuarios: RepositorioBase<Usuario>
|
|
{
|
|
public static RepositorioUsuarios Singleton = new();
|
|
public Usuario? CheckUsuario(LoginDto logindto) {
|
|
|
|
byte[] Contraseña = HacerHash(logindto.Contraseña);
|
|
|
|
bool usu = Context.Inquilinos.Any(x=>x.Email == logindto.Email && x.Contrasena == Contraseña);
|
|
if (usu){
|
|
return Context.Inquilinos.FirstOrDefault(x=>x.Email == logindto.Email);
|
|
}
|
|
usu = Context.Propietarios.Any(x=>x.Email == logindto.Email && x.Contrasena == Contraseña);
|
|
if (usu){
|
|
return Context.Propietarios.FirstOrDefault(x=>x.Email == logindto.Email);
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public override ReadOnlyCollection<Usuario> Listar()
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
public byte[] HacerHash(string pass){
|
|
var buf = SHA256.HashData(Encoding.UTF8.GetBytes(pass));
|
|
return Encoding.UTF8.GetBytes(BitConverter.ToString(buf).Replace("-","").ToLower());
|
|
}
|
|
|
|
}
|