Uniti i dbset in uno nuovo unico. aggiunta gestione token
This commit is contained in:
parent
7cd0837a8d
commit
103fcaa068
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.1" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.1" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="6.0.0" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.1" />
|
||||||
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" />
|
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|||||||
@ -11,9 +11,9 @@ namespace ApiAdHoc_Odoo.Controllers
|
|||||||
[ApiController]
|
[ApiController]
|
||||||
public class ClientiController : ControllerBase
|
public class ClientiController : ControllerBase
|
||||||
{
|
{
|
||||||
private readonly Pi_ClientiDbContext _clientiContext;
|
private readonly PiDbContext _clientiContext;
|
||||||
|
|
||||||
public ClientiController(Pi_ClientiDbContext clientiContext)
|
public ClientiController(PiDbContext clientiContext)
|
||||||
{
|
{
|
||||||
_clientiContext = clientiContext;
|
_clientiContext = clientiContext;
|
||||||
}
|
}
|
||||||
@ -21,28 +21,8 @@ namespace ApiAdHoc_Odoo.Controllers
|
|||||||
[HttpGet("{pIva}")]
|
[HttpGet("{pIva}")]
|
||||||
public async Task<ActionResult<IEnumerable<Cliente>>> GetApiClienti(string pIva)
|
public async Task<ActionResult<IEnumerable<Cliente>>> GetApiClienti(string pIva)
|
||||||
{
|
{
|
||||||
|
return await _clientiContext.Clienti.Where(x => x.Partiva == pIva).ToListAsync();
|
||||||
|
|
||||||
var clientiList = _clientiContext.Clienti.Where(x => x.Partiva == pIva).ToListAsync();
|
|
||||||
|
|
||||||
await foreach (var cliente in _clientiContext.Clienti.AsAsyncEnumerable())
|
|
||||||
{
|
|
||||||
cliente.Azienda = cliente.Azienda.Trim();
|
|
||||||
cliente.Codice = cliente.Codice.Trim();
|
|
||||||
cliente.Descrizione = cliente.Descrizione.Trim();
|
|
||||||
cliente.Partiva = cliente.Partiva.Trim();
|
|
||||||
cliente.CodFisc = cliente.CodFisc.Trim();
|
|
||||||
cliente.Telefono = cliente.Telefono.Trim();
|
|
||||||
cliente.Cellulare = cliente.Cellulare.Trim();
|
|
||||||
cliente.Email = cliente.Email.Trim();
|
|
||||||
cliente.Indirizzo = cliente.Indirizzo.Trim();
|
|
||||||
cliente.Citta = cliente.Citta.Trim();
|
|
||||||
cliente.Cap = cliente.Cap.Trim();
|
|
||||||
cliente.Provincia = cliente.Provincia.Trim();
|
|
||||||
cliente.CodAgente = cliente.CodAgente.Trim();
|
|
||||||
cliente.DescriAgente = cliente.DescriAgente.Trim();
|
|
||||||
}
|
|
||||||
|
|
||||||
return await clientiList;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// GET: api/ApiClienti/{codice}
|
// GET: api/ApiClienti/{codice}
|
||||||
@ -51,21 +31,6 @@ namespace ApiAdHoc_Odoo.Controllers
|
|||||||
{
|
{
|
||||||
var cliente = await _clientiContext.Clienti.FirstOrDefaultAsync(c => c.Codice == codCli && c.Azienda == codAzi);
|
var cliente = await _clientiContext.Clienti.FirstOrDefaultAsync(c => c.Codice == codCli && c.Azienda == codAzi);
|
||||||
|
|
||||||
cliente.Azienda = cliente.Azienda.Trim();
|
|
||||||
cliente.Codice = cliente.Codice.Trim();
|
|
||||||
cliente.Descrizione = cliente.Descrizione.Trim();
|
|
||||||
cliente.Partiva = cliente.Partiva.Trim();
|
|
||||||
cliente.CodFisc = cliente.CodFisc.Trim();
|
|
||||||
cliente.Telefono = cliente.Telefono.Trim();
|
|
||||||
cliente.Cellulare = cliente.Cellulare.Trim();
|
|
||||||
cliente.Email = cliente.Email.Trim();
|
|
||||||
cliente.Indirizzo = cliente.Indirizzo.Trim();
|
|
||||||
cliente.Citta = cliente.Citta.Trim();
|
|
||||||
cliente.Cap = cliente.Cap.Trim();
|
|
||||||
cliente.Provincia = cliente.Provincia.Trim();
|
|
||||||
cliente.CodAgente = cliente.CodAgente.Trim();
|
|
||||||
cliente.DescriAgente = cliente.DescriAgente.Trim();
|
|
||||||
|
|
||||||
if (cliente == null)
|
if (cliente == null)
|
||||||
{
|
{
|
||||||
return NotFound();
|
return NotFound();
|
||||||
|
|||||||
@ -10,9 +10,9 @@ namespace ApiAdHoc_Odoo.Controllers
|
|||||||
[ApiController]
|
[ApiController]
|
||||||
public class FattureController : Controller
|
public class FattureController : Controller
|
||||||
{
|
{
|
||||||
private readonly PI_FattureDbContext _fattureContext;
|
private readonly PiDbContext _fattureContext;
|
||||||
|
|
||||||
public FattureController(PI_FattureDbContext fattureContext)
|
public FattureController(PiDbContext fattureContext)
|
||||||
{
|
{
|
||||||
_fattureContext = fattureContext;
|
_fattureContext = fattureContext;
|
||||||
}
|
}
|
||||||
@ -25,15 +25,6 @@ namespace ApiAdHoc_Odoo.Controllers
|
|||||||
x.CodCliente == codCli &&
|
x.CodCliente == codCli &&
|
||||||
x.DataDocumento >= DateTime.Now.AddYears(-2)).OrderByDescending(x => x.DataDocumento).ToListAsync();
|
x.DataDocumento >= DateTime.Now.AddYears(-2)).OrderByDescending(x => x.DataDocumento).ToListAsync();
|
||||||
|
|
||||||
await foreach (var fattura in _fattureContext.Fattura.AsAsyncEnumerable())
|
|
||||||
{
|
|
||||||
fattura.Azienda = fattura.Azienda.Trim();
|
|
||||||
fattura.CodCliente = fattura.CodCliente.Trim();
|
|
||||||
fattura.Descrizione = fattura.Descrizione.Trim();
|
|
||||||
fattura.Classe = fattura.Classe.Trim();
|
|
||||||
fattura.Documento = fattura.Azienda.Trim();
|
|
||||||
}
|
|
||||||
|
|
||||||
return await fattureList;
|
return await fattureList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
30
ApiAdHoc_Odoo/Controllers/TokenAuthenticationController.cs
Normal file
30
ApiAdHoc_Odoo/Controllers/TokenAuthenticationController.cs
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
|
||||||
|
namespace ApiAdHoc_Odoo.Controllers
|
||||||
|
{
|
||||||
|
public class TokenAuthenticationController : Controller
|
||||||
|
{
|
||||||
|
private readonly RequestDelegate _next;
|
||||||
|
private const string TokenHeaderName = "PoloApiKey"; // Header name
|
||||||
|
private const string PreSharedToken = "ViRvfsqRmnB1AjAJ"; // Replace with your actual token
|
||||||
|
|
||||||
|
public TokenAuthenticationController(RequestDelegate next)
|
||||||
|
{
|
||||||
|
_next = next;
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task Invoke(HttpContext context)
|
||||||
|
{
|
||||||
|
if (!context.Request.Headers.TryGetValue(TokenHeaderName, out var extractedToken) ||
|
||||||
|
extractedToken != PreSharedToken)
|
||||||
|
{
|
||||||
|
context.Response.StatusCode = StatusCodes.Status401Unauthorized;
|
||||||
|
await context.Response.WriteAsync("Unauthorized");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
await _next(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,20 +0,0 @@
|
|||||||
using ApiAdHoc_Odoo.Models;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
|
|
||||||
namespace ApiAdHoc_Odoo.Data
|
|
||||||
{
|
|
||||||
public class PI_FattureDbContext : DbContext
|
|
||||||
{
|
|
||||||
public PI_FattureDbContext(DbContextOptions<PI_FattureDbContext> options) : base(options) { }
|
|
||||||
|
|
||||||
public DbSet<Fattura> Fattura { get; set; }
|
|
||||||
|
|
||||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
|
||||||
{
|
|
||||||
// Map the view to the model
|
|
||||||
modelBuilder.Entity<Fattura>()
|
|
||||||
.ToView("PI_APIFATTURE")/*;*/
|
|
||||||
.HasNoKey(); // Views typically don't have a primary key
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -4,11 +4,13 @@ using System;
|
|||||||
|
|
||||||
namespace ApiAdHoc_Odoo.Data
|
namespace ApiAdHoc_Odoo.Data
|
||||||
{
|
{
|
||||||
public class Pi_ClientiDbContext : DbContext
|
public class PiDbContext : DbContext
|
||||||
{
|
{
|
||||||
public Pi_ClientiDbContext(DbContextOptions<Pi_ClientiDbContext> options) : base(options) { }
|
public PiDbContext(DbContextOptions<PiDbContext> options) : base(options) { }
|
||||||
|
|
||||||
public DbSet<Cliente> Clienti { get; set; }
|
public DbSet<Cliente> Clienti { get; set; }
|
||||||
|
public DbSet<Fattura> Fattura { get; set; }
|
||||||
|
|
||||||
|
|
||||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||||
{
|
{
|
||||||
@ -16,6 +18,10 @@ namespace ApiAdHoc_Odoo.Data
|
|||||||
modelBuilder.Entity<Cliente>()
|
modelBuilder.Entity<Cliente>()
|
||||||
.ToView("PI_APICLIENTI")/*;*/
|
.ToView("PI_APICLIENTI")/*;*/
|
||||||
.HasNoKey(); // Views typically don't have a primary key
|
.HasNoKey(); // Views typically don't have a primary key
|
||||||
|
// Map the view to the model
|
||||||
|
modelBuilder.Entity<Fattura>()
|
||||||
|
.ToView("PI_APIFATTURE")/*;*/
|
||||||
|
.HasNoKey(); // Views typically don't have a primary key
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1,3 +1,4 @@
|
|||||||
|
using ApiAdHoc_Odoo.Controllers;
|
||||||
using ApiAdHoc_Odoo.Data;
|
using ApiAdHoc_Odoo.Data;
|
||||||
using ApiAdHoc_Odoo.Models;
|
using ApiAdHoc_Odoo.Models;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
@ -14,9 +15,9 @@ builder.Services.AddControllers();
|
|||||||
|
|
||||||
#region istanze dbContext
|
#region istanze dbContext
|
||||||
|
|
||||||
builder.Services.AddDbContext<Pi_ClientiDbContext>(options =>
|
builder.Services.AddDbContext<PiDbContext>(options =>
|
||||||
options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")));
|
options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")));
|
||||||
builder.Services.AddDbContext<PI_FattureDbContext>(options =>
|
builder.Services.AddDbContext<PiDbContext>(options =>
|
||||||
options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")));
|
options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")));
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@ -34,6 +35,8 @@ if (app.Environment.IsDevelopment())
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
app.UseMiddleware<TokenAuthenticationController>();
|
||||||
|
|
||||||
app.UseSwagger();
|
app.UseSwagger();
|
||||||
app.UseSwaggerUI();
|
app.UseSwaggerUI();
|
||||||
app.UseAuthorization();
|
app.UseAuthorization();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user