cambios 17/02/2026
This commit is contained in:
80
bdGrupoSanchoToro/Importaciones/ImportaARTICULOS.cs
Normal file
80
bdGrupoSanchoToro/Importaciones/ImportaARTICULOS.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user