Testata movib_m

This commit is contained in:
Marco Audiffredi 2024-07-25 18:13:07 +02:00
parent 78882b77ed
commit ebe47444bf
9 changed files with 97 additions and 13 deletions

View File

@ -6,6 +6,7 @@ using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion.Internal; using Microsoft.EntityFrameworkCore.Storage.ValueConversion.Internal;
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
using Microsoft.IdentityModel.Tokens; using Microsoft.IdentityModel.Tokens;
using System;
using System.Diagnostics; using System.Diagnostics;
using System.IdentityModel.Tokens.Jwt; using System.IdentityModel.Tokens.Jwt;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
@ -29,6 +30,7 @@ namespace ApiSoftway.Controllers
private readonly GESA_AUTOMEZZI_DbContext _automezzi_context; private readonly GESA_AUTOMEZZI_DbContext _automezzi_context;
private readonly IConfiguration? _configuration; private readonly IConfiguration? _configuration;
private readonly GESA_GIRICONSEGNEDACREARE_DbContext _daCreare_context; private readonly GESA_GIRICONSEGNEDACREARE_DbContext _daCreare_context;
private readonly GESA_CONSEGNE_M_DbContext _consegne_m_context;
private DbSet<Giri>? _giri; private DbSet<Giri>? _giri;
private DbSet<GiriConsegna>? _giriCons; private DbSet<GiriConsegna>? _giriCons;
@ -41,7 +43,8 @@ namespace ApiSoftway.Controllers
private DbSet<GiriConsegnaDaCreare>? _GiriDaCreare; private DbSet<GiriConsegnaDaCreare>? _GiriDaCreare;
public GiriController(ILogger<LoginController> logger, IConfiguration? configuration, GESA_GIRI_DbContext giri_context, GESA_DESTINAZIONI_DbContext destinazioni_context public GiriController(ILogger<LoginController> logger, IConfiguration? configuration, GESA_GIRI_DbContext giri_context, GESA_DESTINAZIONI_DbContext destinazioni_context
, GESA_CONSEGNE_DbContext consegne_context, GESA_GIRICONSEGNE_DbContext giricons_context, GESA_GIRICONSEGNEVISTA_DbContext consegnevista_context, GESA_SBR_ORD_DbContext sbrord_context , GESA_CONSEGNE_DbContext consegne_context, GESA_GIRICONSEGNE_DbContext giricons_context, GESA_GIRICONSEGNEVISTA_DbContext consegnevista_context, GESA_SBR_ORD_DbContext sbrord_context
, GESA_PERSONALE_DbContext personale_context, GESA_AUTOMEZZI_DbContext automezzi_context, GESA_GIRICONSEGNEDACREARE_DbContext daCreare_context) , GESA_PERSONALE_DbContext personale_context, GESA_AUTOMEZZI_DbContext automezzi_context, GESA_GIRICONSEGNEDACREARE_DbContext daCreare_context
, GESA_CONSEGNE_M_DbContext consegne_m_context)
{ {
_logger = logger; _logger = logger;
_configuration = configuration; _configuration = configuration;
@ -54,6 +57,7 @@ namespace ApiSoftway.Controllers
_personale_context= personale_context; _personale_context= personale_context;
_automezzi_context = automezzi_context; _automezzi_context = automezzi_context;
_daCreare_context = daCreare_context; _daCreare_context = daCreare_context;
_consegne_m_context = consegne_m_context;
} }
[HttpGet("listaGiri")] [HttpGet("listaGiri")]
@ -668,7 +672,22 @@ namespace ApiSoftway.Controllers
//string tecnico = getClaimValueByToken(token, "tccodice"); //string tecnico = getClaimValueByToken(token, "tccodice");
if (await checkConsegnaPresente(token, model) == 0) if (await checkConsegnaPresente(token, model) == 0)
{ {
Consegna t = fillConsegna(model, token);
DateTime dateTime = DateTime.Now;
Consegna t = fillConsegna(model, token, dateTime);
//Step 1 : testata
Consegna_m m = new Consegna_m();
m.Pisergir = t.Pisergir;
m.Data = dateTime;
m.Cpccchk = getCpccchk(10);
using (var transactionM = _consegne_m_context.Database.BeginTransaction())
{
await _consegne_m_context.Cons.AddAsync(m);
await _consegne_m_context.SaveChangesAsync();
transactionM.Commit();
}
//step 2 : riga (è sempre e solo una)
using (var transaction = _consegne_context.Database.BeginTransaction()) using (var transaction = _consegne_context.Database.BeginTransaction())
{ {
await _consegne_context.Cons.AddAsync(t); await _consegne_context.Cons.AddAsync(t);
@ -739,11 +758,12 @@ namespace ApiSoftway.Controllers
} }
} }
private async Task<int> checkConsegnaPresente(string token, Consegna model) private async Task<int> checkConsegnaPresente(string token, Consegna model)
{ {
int trovati = 0; int trovati = 0;
_consegne = _consegne_context.Cons; _consegne = _consegne_context.Cons;
var ti = await _consegne.Where(t => t.Serial.Equals(model.Serial) && t.Cprownum == model.Cprownum ).ToListAsync(); var ti = await _consegne.Where(t => t.Pisergir.Equals(model.Pisergir) && t.Cprownum == model.Cprownum ).ToListAsync();
if (ti.Any()) if (ti.Any())
{ {
trovati = ti.Count(); trovati = ti.Count();
@ -841,7 +861,7 @@ namespace ApiSoftway.Controllers
return item; return item;
} }
private Consegna fillConsegna(Consegna i, string token) private Consegna fillConsegna(Consegna i, string token, DateTime d)
{ {
Consegna r = new Consegna(); Consegna r = new Consegna();
@ -858,7 +878,7 @@ namespace ApiSoftway.Controllers
r.Ccadd = i.Ccadd; r.Ccadd = i.Ccadd;
r.Ccda = i.Ccda; r.Ccda = i.Ccda;
r.Ccddd=i.Ccddd; r.Ccddd=i.Ccddd;
r.Datdoc= DateTime.Now; r.Datdoc= d;
r.Dcda=i.Dcda; r.Dcda=i.Dcda;
r.Descb=i.Descb; r.Descb=i.Descb;
r.Nbanc = i.Nbanc; r.Nbanc = i.Nbanc;
@ -870,7 +890,7 @@ namespace ApiSoftway.Controllers
r.Tipob2 = i.Tipob2; r.Tipob2 = i.Tipob2;
r.Tipob =i.Tipob; r.Tipob =i.Tipob;
r.Sdoc = i.Sdoc; r.Sdoc = i.Sdoc;
r.Serial = i.Serial; r.Pisergir = i.Pisergir;
//r.Tcda=i.Tcda; //r.Tcda=i.Tcda;
r.Tcda = "S"; r.Tcda = "S";
r.Tca = i.Tca; r.Tca = i.Tca;
@ -912,7 +932,7 @@ namespace ApiSoftway.Controllers
r.Tipob2 = i.Tipob2; r.Tipob2 = i.Tipob2;
r.Tipob = i.Tipob; r.Tipob = i.Tipob;
r.Sdoc = i.Sdoc; r.Sdoc = i.Sdoc;
r.Serial = i.Serial; r.Pisergir = i.Pisergir;
//r.Tcda=i.Tcda; //r.Tcda=i.Tcda;
r.Tcda = "N"; r.Tcda = "N";
r.Tca = i.Tca; r.Tca = i.Tca;
@ -955,7 +975,7 @@ namespace ApiSoftway.Controllers
r.Tipob2 = i.Tipob2; r.Tipob2 = i.Tipob2;
r.Tipob = i.Tipob; r.Tipob = i.Tipob;
r.Sdoc = i.Sdoc; r.Sdoc = i.Sdoc;
r.Serial = i.Serial; r.Pisergir = i.Pisergir;
r.Tcda = i.Tcda; r.Tcda = i.Tcda;
r.Tca = i.Tca; r.Tca = i.Tca;
r.Cca = i.Cca; r.Cca = i.Cca;
@ -983,6 +1003,14 @@ namespace ApiSoftway.Controllers
return newSer; return newSer;
} }
private static Random random = new Random();
/// <summary>crea un cpccchk</summary>
public static string getCpccchk(int length)
{
const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
return new string(Enumerable.Repeat(chars, length).Select(s => s[random.Next(s.Length)]).ToArray());
}
} }
} }

View File

@ -5,7 +5,7 @@ namespace ApiSoftway.Models
public class Consegna public class Consegna
{ {
[Key] [Key]
public string? Serial { get; set; } public string? Pisergir { get; set; }
[Key] [Key]
public int? Cprownum { get; set; } public int? Cprownum { get; set; }

26
Models/Consegna_m.cs Normal file
View File

@ -0,0 +1,26 @@
using System.ComponentModel.DataAnnotations;
namespace ApiSoftway.Models
{
public class Consegna_m
{
[Key]
public string? Pisergir { get; set; }
public string? Esercizio { get; set; }
public int? Numero { get; set; }
[System.ComponentModel.DataAnnotations.Schema.Column(TypeName = "decimal(10, 0)")]
public int? Posseriale { get; set; }
[System.ComponentModel.DataAnnotations.Schema.Column(TypeName = "decimal(10, 0)")]
public int? Posnum { get; set; }
public string? Posese { get; set; }
public DateTime? Data { get; set; }
public string? Descmov { get; set; }
public string? Cpccchk { get; set; }
}
}

View File

@ -4,7 +4,7 @@ namespace ApiSoftway.Models
{ {
public class Consegna_out public class Consegna_out
{ {
public string? Serial { get; set; } public string? Pisergir { get; set; }
public int? Cprownum { get; set; } public int? Cprownum { get; set; }
public string? Tcda { get; set; } public string? Tcda { get; set; }
public string? Ccda { get; set; } public string? Ccda { get; set; }

View File

@ -17,7 +17,7 @@ namespace ApiSoftway.Models.Gesa_DbContext
{ {
modelBuilder.Entity<Consegna>().ToTable("GESASMOVIB"); modelBuilder.Entity<Consegna>().ToTable("GESASMOVIB");
modelBuilder.Entity<Consegna>().HasKey(table => new { modelBuilder.Entity<Consegna>().HasKey(table => new {
table.Serial, table.Pisergir,
table.Cprownum table.Cprownum
}); });
} }

View File

@ -0,0 +1,25 @@
using Microsoft.EntityFrameworkCore;
namespace ApiSoftway.Models.Gesa_DbContext
{
public class GESA_CONSEGNE_M_DbContext : DbContext
{
/// <summary></summary>
public DbSet<Consegna_m>? Cons { get; set; }
/// <summary></summary>
public GESA_CONSEGNE_M_DbContext(DbContextOptions<GESA_CONSEGNE_M_DbContext> options) : base(options)
{
}
/// <summary></summary>
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Consegna_m>().ToTable("GESASMOVIB_m");
modelBuilder.Entity<Consegna_m>().HasKey(table => new {
table.Pisergir
});
}
}
}

View File

@ -33,6 +33,7 @@ namespace ApiSoftway.Models
public int? DestinazioniFatte { get; set; } public int? DestinazioniFatte { get; set; }
public int? DestinazioniTutte { get; set; } public int? DestinazioniTutte { get; set; }
public int? DestinazioniModificate { get; set; } public int? DestinazioniModificate { get; set; }
public int? parzialeBanSca { get; set; }
} }
} }

View File

@ -48,6 +48,9 @@ builder.Services.AddDbContext<GESA_MODGIR_DbContext>(options => options.UseSqlSe
builder.Services.AddDbContext<GESA_AUTOMEZZI_DbContext>(options => options.UseSqlServer(builder.Configuration.GetConnectionString("GESA") builder.Services.AddDbContext<GESA_AUTOMEZZI_DbContext>(options => options.UseSqlServer(builder.Configuration.GetConnectionString("GESA")
, options => { options.CommandTimeout(commandTimeoutInSeconds); } , options => { options.CommandTimeout(commandTimeoutInSeconds); }
)); ));
builder.Services.AddDbContext<GESA_CONSEGNE_M_DbContext>(options => options.UseSqlServer(builder.Configuration.GetConnectionString("GESA")
, options => { options.CommandTimeout(commandTimeoutInSeconds); }
));
#endregion #endregion
@ -71,5 +74,5 @@ app.UseAuthorization();
app.MapControllers(); app.MapControllers();
app.Run(); //app.Run();
//app.Run("http://localhost:6000"); app.Run("http://localhost:6000");

View File

@ -9,6 +9,7 @@
"ConnectionStrings": { "ConnectionStrings": {
"GESA": "Data Source=10.0.0.10;Initial Catalog=AHRGESA;User Id=sa; Password=p0l01nf.;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", "GESA": "Data Source=10.0.0.10;Initial Catalog=AHRGESA;User Id=sa; Password=p0l01nf.;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
//"GESA": "Data Source=10.0.0.10;Initial Catalog=AHR80_GESA;User Id=sa; Password=p0l01nf.;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
"ApiStr": "Data Source=10.0.0.10;Initial Catalog=API_POLO;User Id=sa; Password=p0l01nf.;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False" "ApiStr": "Data Source=10.0.0.10;Initial Catalog=API_POLO;User Id=sa; Password=p0l01nf.;Integrated Security=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"
}, },
"JWT": { "JWT": {