cambios 17/02/2026

This commit is contained in:
2026-02-17 13:47:52 +01:00
parent 79ae74ee26
commit 28e20494ae
51 changed files with 3199 additions and 691 deletions

View File

@@ -0,0 +1,80 @@
using Castle.Core.Configuration;
using Microsoft.VisualBasic;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing.Imaging;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using tsUtilidades.Extensiones;
namespace bdGrupoSanchoToro.Importaciones
{
public class ImportaARTICULOS
{
public static void Importar(byte[] Fichero)
{
try
{
var bd = tscGrupoSanchoToro.NuevoContexto();
var lp = bd.productos.Where(x=> x.Tipo!=(int)db.productos.TipoProductoEnum.GRUA).ToList();
var la = bd.articulos.ToList();
var ds = new XSD.ARTICULOS();
ds.ReadXml(new System.IO.MemoryStream(Fichero));
int i = 1;
int Ultimalinea = ds.Tables["Datos"].Rows.Count;
foreach (XSD.ARTICULOS.DatosRow ar in ds.Tables["Datos"].Rows)
{
try
{
var pr = lp.FirstOrDefault(x => x.Codigo == ar.ARCPR || x.Descripcion == ar.ARDES.Trim());
if (pr == null)
{
string sDes = ImportaPRODUCTOS.pros.FirstOrDefault(x=>x.PRCOD == ar.ARCPR )?.PRDES;
pr = lp.FirstOrDefault(x => x.Descripcion == sDes);
}
if (pr != null)
{
var art = la.FirstOrDefault(x => x.idProducto == pr.idProducto && x.CodigoArticulo == ar.ARNSE.Trim()) ;
if (art == null)
{
art = new bdGrupoSanchoToro.db.articulos();
bd.articulos.Add(art);
la.Add(art);
}
art.idProductoNavigation = pr;
art.CodigoArticulo = ar.ARNSE.Trim();
art.NumeroSerie = ar.ARNSE.Trim();
art.FechaBaja = ar.ARFEN.FechaStringADateOnly();
//art.FechaBaja = ar.CPFBA.FechaStringADateOnly();
// art.Matricula = ar.CPMAT;
i = i + 1;
if (i > 1000)
{
bd.SaveChanges();
i = 0;
}
}
else
{
Debug.Write("aqui");
}
}
catch (Exception ex)
{
throw new Exception(ex.Message, ex);
}
}
bd.SaveChanges();
}
catch (Exception ex)
{
throw new Exception(ex.Message, ex);
}
}
}
}

View File

@@ -16,12 +16,12 @@ namespace bdGrupoSanchoToro.Importaciones
var bd = tscGrupoSanchoToro.NuevoContexto();
var le = bd.enumeraciones.ToList();
var grs = bd.gruposenumeraciones.ToList();
var dsprueba = new XSD.CTESGESL();
var ds = new XSD.CTESGESL();
dsprueba.ReadXml(new System.IO.MemoryStream(Fichero));
ds.ReadXml(new System.IO.MemoryStream(Fichero));
int i = 1;
int Ultimalinea = dsprueba.Tables["Datos"].Rows.Count;
foreach (XSD.CTESGESL.DatosRow Proant in dsprueba.Tables["Datos"].Rows)
int Ultimalinea = ds.Tables["Datos"].Rows.Count;
foreach (XSD.CTESGESL.DatosRow Proant in ds.Tables["Datos"].Rows)
{
try
{

View File

@@ -1,5 +1,7 @@
using bdGrupoSanchoToro.db;
using System.Diagnostics;
using System.Linq.Dynamic.Core;
using tsUtilidades.Extensiones;
namespace bdGrupoSanchoToro.Importaciones
{
public class ImportaGRUASGC
@@ -9,34 +11,38 @@ namespace bdGrupoSanchoToro.Importaciones
try
{
var bd = tscGrupoSanchoToro.NuevoContexto();
var dsprueba = new XSD.GRUASGC();
var ds = new XSD.GRUASGC();
dsprueba.ReadXml(new System.IO.MemoryStream(Fichero));
int Ultimalinea = dsprueba.Tables["Datos"].Rows.Count;
ds.ReadXml(new System.IO.MemoryStream(Fichero));
int Ultimalinea = ds.Tables["Datos"].Rows.Count;
var lp = bd.productos.ToList();
var lm = bd.marcas.ToList();
var lv = bd.versionesgruas.ToList();
var grs = dsprueba.Tables["Datos"].Rows.Cast<XSD.GRUASGC.DatosRow>().ToList().OrderBy(x=> OrdenGRUASGC(x)).ToList();
var grs = ds.Tables["Datos"].Rows.Cast<XSD.GRUASGC.DatosRow>().ToList().OrderBy(x=> OrdenGRUASGC(x)).ToList();
foreach (XSD.GRUASGC.DatosRow gr in grs)
{
try
{
if (gr.CGMAR=="SAE") gr.CGMAR = "SAEZ";
if (gr.CGMAR == "COMANSA LINDE LC8552") gr.CGMAR = "COMANSA";
var mar = lm.First(x => x.Marca == gr.CGMAR);
string sDescripcion = "GRÚA " + mar.Marca + " " + gr.CGMDL;
bdGrupoSanchoToro.db.productos pr = lp.FirstOrDefault(x => x.Descripcion== sDescripcion);
if (pr == null)
{
pr = new productos()
{
idEmpresa = 1,
{
Codigo = "GR-" + gr.CGCOD,
Descripcion = sDescripcion,
DescripcionAbreviada = (mar.Marca + " " + gr.CGMDL).Acortar(45),
idMarcaNavigation = mar,
FechaAlta = DateOnly.FromDateTime(DateTime.Now),
Modelo = gr.CGMDL,
Tipo = (int)productos.TipoProductoEnum.GRUA
Tipo = (int)productos.TipoProductoEnum.GRUA,
idFamilia=42
};
bd.Add(pr);
lp.Add(pr);
bd.SaveChanges();

View File

@@ -0,0 +1,67 @@
using Castle.Core.Configuration;
using Microsoft.VisualBasic;
using System;
using System.Collections.Generic;
using System.Drawing.Imaging;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using tsUtilidades.Extensiones;
namespace bdGrupoSanchoToro.Importaciones
{
public class ImportaGRUASPC
{
public static void Importar(byte[] Fichero)
{
try
{
var bd = tscGrupoSanchoToro.NuevoContexto();
var lp = bd.productos.Where(x=> x.Tipo==(int)db.productos.TipoProductoEnum.GRUA).ToList();
var la = bd.articulos.ToList();
var ds = new XSD.GRUASPC();
ds.ReadXml(new System.IO.MemoryStream(Fichero));
int i = 1;
int Ultimalinea = ds.Tables["Datos"].Rows.Count;
foreach (XSD.GRUASPC.DatosRow grua in ds.Tables["Datos"].Rows)
{
try
{
string codp = "GR-" + grua.CPCGG;
if (grua.CPMAR == "SAE") grua.CPMAR = "SAEZ";
if (grua.CPMAR == "COMANSA LINDE LC8552") grua.CPMAR = "COMANSA";
var gr = lp.First(x => x.Codigo == codp || (x.idMarcaNavigation.Marca == grua.CPMAR && x.Modelo == grua.CPMDL));
var art = la.FirstOrDefault(x =>x.idProducto==gr.idProducto && x.CodigoArticulo == grua.CPCOD.Trim());
if (art == null)
{
art = new bdGrupoSanchoToro.db.articulos();
bd.articulos.Add(art);
la.Add(art);
}
art.idProductoNavigation = gr;
art.CodigoArticulo = grua.CPCOD.Trim();
art.FechaAlta= grua.CPFAL.FechaStringADateOnly();
art.FechaBaja = grua.CPFBA.FechaStringADateOnly();
art.Matricula = grua.CPMAT;
i = i + 1;
if (i > 1000)
{
bd.SaveChanges();
i = 0;
}
}
catch (Exception ex)
{
throw new Exception(ex.Message, ex);
}
}
bd.SaveChanges();
}
catch (Exception ex)
{
throw new Exception(ex.Message, ex);
}
}
}
}

View File

@@ -11,6 +11,7 @@ namespace bdGrupoSanchoToro.Importaciones
{
public class ImportaPRODUCTOS
{
public static List<XSD.PRODUCTOS.DatosRow> pros;
public static void Importar(byte[] Fichero)
{
try
@@ -23,14 +24,14 @@ namespace bdGrupoSanchoToro.Importaciones
var lp = bd.productos.ToList();
var lf = bd.familias.ToList();
var lm = bd.marcas.ToList();
var lfh = bd.enumeraciones.Where(x=> x.idGrupoEnumeracionNavigation.Grupo=="FAMH").ToList();
var pros = ds.Tables["Datos"].Rows.Cast<XSD.PRODUCTOS.DatosRow>().ToList();
var lfh = bd.enumeraciones.Where(x => x.idGrupoEnumeracionNavigation.Grupo == "FAMH").ToList();
pros = ds.Tables["Datos"].Rows.Cast<XSD.PRODUCTOS.DatosRow>().ToList();
foreach (XSD.PRODUCTOS.DatosRow pro in pros)
{
try
{
bdGrupoSanchoToro.db.productos p = lp.FirstOrDefault(x => x.Codigo == pro.PRCOD || x.DescripcionAbreviada.RemoveDiacritics() ==pro.PRDES.Trim().RemoveDiacritics().ToUpper() || x.Descripcion.RemoveDiacritics().ToUpper()==pro.PRDESL.Trim().RemoveDiacritics().ToUpper() );
bdGrupoSanchoToro.db.productos p = lp.FirstOrDefault(x => x.Codigo == pro.PRCOD || x.DescripcionAbreviada.RemoveDiacritics() == pro.PRDES.Trim().RemoveDiacritics().ToUpper() || x.Descripcion.RemoveDiacritics().ToUpper() == pro.PRDESL.Trim().RemoveDiacritics().ToUpper());
if (p == null)
{
p = new productos()
@@ -45,7 +46,7 @@ namespace bdGrupoSanchoToro.Importaciones
p.DescripcionAbreviada = pro.PRDES.Trim().RemoveDiacritics().ToUpper();
p.FechaAlta = DateOnly.FromDateTime(DateTime.Now);
familias? fam = bd.familias.FirstOrDefault(x => x.Codigo == pro.PRFAM);
p.idFamilia = fam == null ? null : fam.idFamilia;
p.idFamilia = fam == null ? 42 : fam.idFamilia;
if (pro.PRMAR.NothingAVacio() != "")
{
var mar = lm.FirstOrDefault(x => x.Marca == pro.PRMAR);
@@ -65,11 +66,11 @@ namespace bdGrupoSanchoToro.Importaciones
p.idMarca = null;
}
p.Modelo = pro.PRMDL;
p.Servicio = (pro.PRCFP=="AL" ? true : false);
// p.Servicio = (pro.PRCFP == "AL" ? true : false);
p.idFamiliaHomologacion = null;
if (pro.PRFAMH!="")
if (pro.PRFAMH != "")
{
var fh=lfh.FirstOrDefault(x=> x.Codigo==("FAMH." + pro.PRFAMH));
var fh = lfh.FirstOrDefault(x => x.Codigo == ("FAMH." + pro.PRFAMH));
if (fh != null)
{
p.idFamiliaHomologacion = fh.idEnumeracion;
@@ -85,7 +86,7 @@ namespace bdGrupoSanchoToro.Importaciones
p.Tipo = (int)productos.TipoProductoEnum.CONSUMIBLES;
break;
}
case "CG":
case "CG":
{
p.Tipo = (int)productos.TipoProductoEnum.ELEMENTO_GRUA;
break;
@@ -105,12 +106,18 @@ namespace bdGrupoSanchoToro.Importaciones
p.Tipo = (int)productos.TipoProductoEnum.REPUESTO;
break;
}
default:
{
p.Tipo = (int)productos.TipoProductoEnum.ELEMENTO_GRUA;
break;
}
}
}
}
p.PrecioVenta = double.Parse(pro.PRPVP, CultureInfo.InvariantCulture);
p.ReferenciaFabrica = pro.PRRFA;
p.PrefijoNumeroSerie = pro.PRPNS;
p.PrefijoNumeroSerie = pro.PRPNS;
bd.SaveChanges();
}

View File

@@ -16,11 +16,13 @@ namespace bdGrupoSanchoToro.Importaciones
tscGrupoSanchoToro bd = tscGrupoSanchoToro.NuevoContexto();
//00
//Importa("GRUASGC", bdGrupoSanchoToro.Importaciones.ImportaGRUASGC.Importar, de); //00
Importa("GRUASGC", bdGrupoSanchoToro.Importaciones.ImportaGRUASGC.Importar, de); //00
//Importa("FAMILIAS", bdGrupoSanchoToro.Importaciones.ImportaFAMILIAS.Importar, de); //00
//Importa("FAMILIAS", bdGrupoSanchoToro.Importaciones.ImportaFAMILIAS.Importar, de); //00
//Importa("CTESGESL", bdGrupoSanchoToro.Importaciones.ImportaCTESGESL.Importar, de); //00
Importa("PRODUCTOS", bdGrupoSanchoToro.Importaciones.ImportaPRODUCTOS.Importar, de); //00
Importa("GRUASPC", bdGrupoSanchoToro.Importaciones.ImportaGRUASPC.Importar, de); //00
Importa("ARTICULOS", bdGrupoSanchoToro.Importaciones.ImportaARTICULOS.Importar, de); //00
//Importa("GRUPRO", bdGrupoSanchoToro.Importaciones.ImportaGrupoProductos.Importar, de); //01
//Importa("CAMPAÑAS", bdGrupoSanchoToro.Importaciones.ImportaCampañas.Importar, de); //02