//Inserta acceso al iniciar sesion
 public async Task insertarAcceso(AccesoCliente accesoCliente)
 {
     using (var db = new MapeoCliente())
     {
         db.accesoClientes.Add(accesoCliente);
         await db.SaveChangesAsync();
     }
 }
        //Cierra acceso al cerrar sesion
        public async Task cerrarAcceso(int id_cliente)
        {
            using (var db = new MapeoCliente())
            {
                AccesoCliente acceso = db.accesoClientes.Where(x => x.IdCliente == id_cliente && x.FechaFin == null).FirstOrDefault();
                acceso.FechaFin = DateTime.Now;

                db.accesoClientes.Attach(acceso);

                var entry = db.Entry(acceso);
                entry.State = EntityState.Modified;
                await db.SaveChangesAsync();
            }
        }
        public async Task <IHttpActionResult> login(LoginRequest login)
        {
            if (!ModelState.IsValid)
            {
                string error = "Entradas incorrectas";
                foreach (var state in ModelState)
                {
                    foreach (var item in state.Value.Errors)
                    {
                        error += $" {item.ErrorMessage}";
                    }
                }
                return(BadRequest(error));
            }
            Cliente cliente = await new LCliente().login(login);

            if (cliente == null)
            {
                string mensaje = "Usuario y/o contraseƱa incorrecta";
                return(BadRequest(mensaje));
            }
            else
            {
                var token = TokenGeneratorCl.GenerateTokenJwt(cliente);
                LCerrarSesionCliente conexion = new LCerrarSesionCliente();
                AccesoCliente        acceso   = new AccesoCliente();
                acceso.FechaInicio = DateTime.Now;
                acceso.Ip          = conexion.ip();
                acceso.Mac         = conexion.mac();
                acceso.Session     = token;
                acceso.IdCliente   = cliente.IdCliente;
                await new LCerrarSesionCliente().insertarAcceso(acceso);

                return(Ok(token));
            }
        }
Example #4
0
 public override OracleCommand insertCliente(AccesoCliente elemento)
 {
     return(base.insertCliente(elemento));
 }
Example #5
0
 public async Task insertarAcceso(AccesoCliente acceso)
 {
     await   new DaoSeguridadCliente().insertarAcceso(acceso);
 }