diff --git a/Aspnet/Controllers/InquilinoController.cs b/Aspnet/Controllers/InquilinoController.cs index ac9be46..72b136b 100644 --- a/Aspnet/Controllers/InquilinoController.cs +++ b/Aspnet/Controllers/InquilinoController.cs @@ -3,6 +3,7 @@ using System.Text; using Entidades; using Entidades.Dto; using Modelo; +using System.Diagnostics.CodeAnalysis; namespace AlquilaFacil.Controllers; @@ -16,29 +17,28 @@ public class InquilinoController: ControllerBase } [HttpPost("api/inquilino")] - public IActionResult Post([FromForm] CrearClienteDto cid) { + public IActionResult Post([FromBody] CrearClienteDto cid) { var ret = verificarCrearUsuario(cid); - if (ret is BadRequestResult) return ret; + if (ret != "") return BadRequest(ret); bool ret2 = RepositorioUsuarios.Singleton.AltaCliente(cid); - return (ret2) ? Ok() : BadRequest(); + return (ret2) ? Ok() : BadRequest(ret); } - private IActionResult verificarCrearUsuario(CrearClienteDto cid) { + private string 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.email == string.Empty) msg += "Falta ingresar el email\n"; + if (cid.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 (cid.apellido == string.Empty) msg += "Falta Ingresar apellido\n"; + if (cid.nombre == string.Empty) msg += "Falta Ingresar nombre\n"; + if (cid.dni <= 0) msg += "Falta Ingresar dni o elejiste un numero negativo\n"; + if (cid.celular == string.Empty) msg += "Falta Ingresar Numero de Contacto\n"; + if (cid.domicilio == string.Empty) msg += "Falta Ingresar Domicilio Legal"; - if (msg == "") return Ok(); - return BadRequest(new {message = msg}); + return msg; } } diff --git a/Entidades/Alquilafacilcontext.cs b/Entidades/Alquilafacilcontext.cs index 324335f..c1d86b1 100644 --- a/Entidades/Alquilafacilcontext.cs +++ b/Entidades/Alquilafacilcontext.cs @@ -42,7 +42,6 @@ public partial class AlquilaFacilContext : DbContext public virtual DbSet Ventas { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) -#warning To protect potentially sensitive information in your connection string, you should move it out of source code. You can avoid scaffolding the connection string by using the Name= syntax to read it from configuration - see https://go.microsoft.com/fwlink/?linkid=2131148. For more guidance on storing connection strings, see https://go.microsoft.com/fwlink/?LinkId=723263. => optionsBuilder.UseMySQL("Server=fedesrv.ddns.net;Port=30006;Database=AlquilaFacil;Uid=AlquilaFacil;Pwd=.n@9c2ve*0,b1ETv].Kipa/~pR~V;Connection Timeout=5;SslMode=none"); protected override void OnModelCreating(ModelBuilder modelBuilder) @@ -303,7 +302,7 @@ public partial class AlquilaFacilContext : DbContext entity.Property(e => e.id).HasColumnType("int(11)"); entity.Property(e => e.contraseña).HasMaxLength(128); entity.Property(e => e.email).HasMaxLength(50); - entity.Property(e => e.token).HasColumnType("json"); + entity.Property(e => e.token).HasColumnType("text"); entity.HasMany(d => d.idgrupos).WithMany(p => p.idusuarios) .UsingEntity>( diff --git a/Entidades/Dto/CrearClienteDto.cs b/Entidades/Dto/CrearClienteDto.cs index d734874..7da32ea 100644 --- a/Entidades/Dto/CrearClienteDto.cs +++ b/Entidades/Dto/CrearClienteDto.cs @@ -1,6 +1,11 @@ namespace Entidades.Dto; public class CrearClienteDto { - public Cliente Cliente { get; set; } = new(); - public Usuario Usuario { get; set; } = new(); + public long dni { get; set; } + public string nombre { get; set; } = null!; + public string apellido { get; set; } = null!; + public string domicilio { get; set; } = null!; + public string celular { get; set; } = null!; + public string email { get; set; } = null!; + public string contraseña { get; set; } = null!; } \ No newline at end of file diff --git a/Entidades/Usuario.cs b/Entidades/Usuario.cs index 4dde3ab..2d72efa 100644 --- a/Entidades/Usuario.cs +++ b/Entidades/Usuario.cs @@ -11,7 +11,7 @@ public partial class Usuario public byte[] contraseña { get; set; } = null!; - public string token { get; set; } = null!; + public string? token { get; set; } public virtual ICollection Clientes { get; set; } = new List(); diff --git a/Front/src/App.svelte b/Front/src/App.svelte index 258e8f9..5420c8c 100644 --- a/Front/src/App.svelte +++ b/Front/src/App.svelte @@ -12,6 +12,9 @@ + + + diff --git a/Front/src/Inquilinos/page.svelte b/Front/src/Inquilinos/page.svelte index e69de29..961d428 100644 --- a/Front/src/Inquilinos/page.svelte +++ b/Front/src/Inquilinos/page.svelte @@ -0,0 +1,15 @@ + + + + +
+
+
+ +
+
+
diff --git a/Front/src/lib/FormPostCli.svelte b/Front/src/lib/FormPostCli.svelte new file mode 100644 index 0000000..33054f4 --- /dev/null +++ b/Front/src/lib/FormPostCli.svelte @@ -0,0 +1,70 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + + +
+{#if showAlert} + +{/if} \ No newline at end of file diff --git a/Front/src/lib/login.svelte b/Front/src/lib/login.svelte index dc6fee3..36a395f 100644 --- a/Front/src/lib/login.svelte +++ b/Front/src/lib/login.svelte @@ -7,6 +7,7 @@ let errorMessage = "" let showAlert = false; + // @ts-ignore async function submitForm(event) { event.preventDefault(); @@ -40,17 +41,17 @@ - + Iniciar Sesión
- + - + @@ -59,7 +60,7 @@ {#if errorMessage} {/if} diff --git a/Modelo/RepositorioBase.cs b/Modelo/RepositorioBase.cs index 1701ca5..875dedf 100644 --- a/Modelo/RepositorioBase.cs +++ b/Modelo/RepositorioBase.cs @@ -22,6 +22,7 @@ public abstract class RepositorioBase ret = true; } catch (DbUpdateException ex) { + Context = new AlquilaFacilContext(); Console.Error.WriteLine(ex.Message); } return ret; diff --git a/Modelo/RepositorioUsuarios.cs b/Modelo/RepositorioUsuarios.cs index d526736..9196ec0 100644 --- a/Modelo/RepositorioUsuarios.cs +++ b/Modelo/RepositorioUsuarios.cs @@ -9,8 +9,18 @@ namespace Modelo; public class RepositorioUsuarios: RepositorioBase { public bool AltaCliente(CrearClienteDto cid){ - var usu = cid.Usuario; - var cli = cid.Cliente; + var usu = new Usuario { + email = cid.email, + contraseña = Encoding.UTF8.GetBytes(HacerHash(cid.contraseña)) + }; + + var cli = new Cliente { + dni = cid.dni, + nombre = cid.nombre, + domicilio = cid.domicilio, + apellido = cid.apellido, + celular = cid.celular + }; var cant = Context.Usuarios .GroupBy(u => u.id) @@ -18,10 +28,19 @@ public class RepositorioUsuarios: RepositorioBase .ToList(); if (cant.Count < 1) return false; - usu.id = cant[0]; - cli.idusuario = cant[0]; + usu.id = cant.Count() + 1; + cli.idusuario = cant.Count() + 1; + var grupo = Context.Grupos.Find(2); + if (grupo == null || grupo.id == 0) return false; + Context.Usuarios.Add(usu); + Guardar(); + + var usut = Context.Usuarios.Find(usu.id); + usut.idgrupos.Add(grupo); + Guardar(); + Context.Clientes.Add(cli); return Guardar(); }