Versión 2
This commit is contained in:
159
bdGrupoSanchoToro/Importaciones/ImportaGRUASGC.cs
Normal file
159
bdGrupoSanchoToro/Importaciones/ImportaGRUASGC.cs
Normal file
@@ -0,0 +1,159 @@
|
||||
using Microsoft.VisualBasic;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace bdGrupoSanchoToro.Importaciones
|
||||
{
|
||||
public class ImportaAccesorios
|
||||
{
|
||||
public static void Importar(byte[] Fichero)
|
||||
{
|
||||
try
|
||||
{
|
||||
var bd = tscGrupoSanchoToro.NuevoContexto();
|
||||
var accs = bd.accesorios.ToList();
|
||||
var le = bd.enumeraciones.ToList();
|
||||
|
||||
var prodsela = bd.productoselaborados.ToList();
|
||||
var gruprods = bd.gruposdeproductos.ToList();
|
||||
var lcaag = bd.codigosdeaccesoriosagrupados.ToList();
|
||||
var lusus = bd.usuarios.ToList();
|
||||
|
||||
var dsprueba = new XSD.ALMACENAC();
|
||||
|
||||
dsprueba.ReadXml(new System.IO.MemoryStream(Fichero));
|
||||
int i = 1;
|
||||
int Ultimalinea = dsprueba.Tables["Datos"].Rows.Count;
|
||||
foreach (XSD.ALMACENAC.DatosRow Proant in dsprueba.Tables["Datos"].Rows)
|
||||
{
|
||||
try
|
||||
{
|
||||
bdGrupoSanchoToro.db.accesorios Pronue =accs.FirstOrDefault(x => x.CodigoDeAccesorio == Proant.ALCOD.Trim());
|
||||
if (Pronue==null)
|
||||
{
|
||||
Pronue = new bdGrupoSanchoToro.db.accesorios();
|
||||
bd.accesorios.Add(Pronue);
|
||||
}
|
||||
Pronue.CodigoDeAccesorio = Proant.ALCOD;
|
||||
Pronue.DescripcionDeAccesorio = Proant.ALDES;
|
||||
Pronue.idGrupoDeProducto = null;
|
||||
if (Proant.ALGPR.Trim()!="")
|
||||
{
|
||||
var grupodeproducto = gruprods.FirstOrDefault(x => x.CodigoGrupoProductos == Proant.ALGPR.Trim());
|
||||
if (grupodeproducto!=null) Pronue.idGrupoDeProducto = grupodeproducto.idGrupoDeProducto;
|
||||
}
|
||||
Pronue.idProductoElaborado = null;
|
||||
if (Proant.ALCPEC.Trim()!="")
|
||||
{
|
||||
var productoelaborado =prodsela.FirstOrDefault(x => x.CodigoDeProductoElaborado == Proant.ALCPEC.Trim());
|
||||
if (productoelaborado!=null) Pronue.idProductoElaborado = productoelaborado.idProductoElaborado;
|
||||
}
|
||||
Pronue.idExpresionDeCantidad = null;
|
||||
if (Proant.ALECAN.Trim()!="")
|
||||
{
|
||||
Pronue.idExpresionDeCantidad = le.First(x => x.Codigo == "ECAN." + Proant.ALECAN.Trim()).idEnumeracion;
|
||||
}
|
||||
else
|
||||
{
|
||||
Pronue.idExpresionDeCantidad = null;
|
||||
}
|
||||
|
||||
var enumeracion = le.First(x => x.Codigo == "TAC." + Proant.ALTIPO.Trim());
|
||||
Pronue.idTipoDeAccesorio = enumeracion.idEnumeracion;
|
||||
|
||||
Pronue.idSubtipoDeAccesorio = le.First(x => x.Codigo.Trim() == "STA." + Proant.ALSTIP.Trim()).idEnumeracion;
|
||||
|
||||
Pronue.idCodigoAgrupado = null;
|
||||
if (Proant.ALCODAG.Trim()!="")
|
||||
{
|
||||
var Codagru = lcaag.FirstOrDefault(x => x.CodigoAgrupado == Proant.ALCODAG.Trim());
|
||||
if (Codagru!=null) Pronue.idCodigoAgrupado = Codagru.idCodigoDeaccesorioAgrupado;
|
||||
}
|
||||
Pronue.RangoPermitido1 = double.Parse(Proant.ALRANGO1, CultureInfo.InvariantCulture);
|
||||
Pronue.RangoPermitido2 = double.Parse(Proant.ALRANGO2, CultureInfo.InvariantCulture);
|
||||
Pronue.Facturable = false;
|
||||
if (Proant.ALFAC.Trim() == "S")
|
||||
{
|
||||
Pronue.Facturable = true;
|
||||
}
|
||||
Pronue.Precio = double.Parse(Proant.ALPRE, CultureInfo.InvariantCulture);
|
||||
Pronue.PrecioDeCosteMedio = double.Parse(Proant.ALPCM, CultureInfo.InvariantCulture);
|
||||
Pronue.Existencia = double.Parse(Proant.ALEXI, CultureInfo.InvariantCulture);
|
||||
Pronue.ExistenciaMinima = double.Parse(Proant.ALEXIM, CultureInfo.InvariantCulture);
|
||||
Pronue.Peso = double.Parse(Proant.ALPESO, CultureInfo.InvariantCulture);
|
||||
Pronue.PrecioDeCosteAplicado = double.Parse(Proant.ALPCOA, CultureInfo.InvariantCulture);
|
||||
Pronue.CuentaDeCompras1 = Proant.ALNCUC1;
|
||||
Pronue.CuentaDeCompras2 = Proant.ALNCUC2;
|
||||
Pronue.CuentaDeCompras3 = Proant.ALNCUC3;
|
||||
Pronue.CuentaDeCompras4 = Proant.ALNCUC4;
|
||||
Pronue.CuentaDeVentas1 = Proant.ALNCUV1;
|
||||
Pronue.CuentaDeVentas2 = Proant.ALNCUV2;
|
||||
Pronue.CuentaDeVentas3 = Proant.ALNCUV3;
|
||||
Pronue.CuentaDeVentas4 = Proant.ALNCUV4;
|
||||
//if (bd.cuentasanaliticas.Any(x => x.CodigoCuenta.Trim() == Proant.ALNCUA.Trim()))
|
||||
//{
|
||||
// var Cuenta = bd.cuentasanaliticas.First(x => x.CodigoCuenta == Proant.ALNCUA.Trim());
|
||||
// Pronue.idCuentaAnalitica = 0; // cuentasanaliticas.idcuentasanaliticas
|
||||
//}
|
||||
Pronue.FechaDeAlta = (DateOnly)tsUtilidades.Extensiones.StringExtensions.FechaStringADateOnly(Proant.ALFAL);
|
||||
Pronue.FechaDeBaja = tsUtilidades.Extensiones.StringExtensions.FechaStringADateOnly(Proant.ALFBA);
|
||||
|
||||
Pronue.idGrupoDeAccesorios = le.First(x => x.Codigo == "GRA." + Proant.ALGRU.Trim()).idEnumeracion;
|
||||
|
||||
Pronue.idNaturalezaDelGasto = le.First(x => x.Codigo == "NGA." + Proant.ALNGA.Trim()).idEnumeracion;
|
||||
Pronue.Subvencion = false;
|
||||
if (Proant.ALSSN.Trim() == "S")
|
||||
{
|
||||
Pronue.Subvencion = true;
|
||||
}
|
||||
Pronue.PorcentajedeSubvencion = double.Parse(Proant.ALSPO, CultureInfo.InvariantCulture);
|
||||
Pronue.ReferenciaDelProveedor = Proant.ALSLA;
|
||||
Pronue.idTipoDeIva = null;
|
||||
if (Proant.ALTIVA.Trim()!="")
|
||||
{
|
||||
Pronue.idTipoDeIva = le.First(x => x.Codigo == "TIVA." + Proant.ALTIVA.Trim()).idEnumeracion;
|
||||
}
|
||||
Pronue.FechaUltimoRecuento = tsUtilidades.Extensiones.StringExtensions.FechaStringADate(Proant.ALFURE);
|
||||
Pronue.ActualizacionExistencias = false;
|
||||
if (double.Parse(Proant.ALNL4) == 1)
|
||||
{
|
||||
Pronue.ActualizacionExistencias = true;
|
||||
}
|
||||
Pronue.idModificadoPor = null;
|
||||
if (Proant.ALUUM.Trim()!="")
|
||||
{
|
||||
var usuario = lusus.FirstOrDefault(x => x.Usuario == Proant.ALUUM.Trim());
|
||||
if(usuario!=null) Pronue.idModificadoPor = usuario.idUsuario;
|
||||
}
|
||||
string minuseg = (double.Parse(Proant.ALHUM, CultureInfo.InvariantCulture) * 100).ToString();
|
||||
var fechahora = tsUtilidades.Extensiones.StringExtensions.FechaHoraStringADateTime(Proant.ALFUM + "." + minuseg.PadLeft(4, '0').Substring(0, 4));
|
||||
Pronue.FechaUltimaModificacion = fechahora;
|
||||
Pronue.Situacion = Proant.ALSIT;
|
||||
Pronue.Observaciones = Proant.ALOBS;
|
||||
i = i + 1;
|
||||
if (i > 1000)
|
||||
{
|
||||
i=0;
|
||||
bd.SaveChanges();
|
||||
bd = tscGrupoSanchoToro.NuevoContexto();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new Exception(ex.Message, ex);
|
||||
}
|
||||
bd.SaveChanges();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new Exception(ex.Message, ex);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
111
bdGrupoSanchoToro/Importaciones/ImportarTodo.cs
Normal file
111
bdGrupoSanchoToro/Importaciones/ImportarTodo.cs
Normal file
@@ -0,0 +1,111 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace bdGrupoSanchoToro.Importaciones
|
||||
{
|
||||
public static class ImportarTodo
|
||||
{
|
||||
public delegate void DelegadoErroresImportacion(Exception ex);
|
||||
|
||||
delegate void DelegadoImportar(Byte[] Datos);
|
||||
public static void Importar(DelegadoErroresImportacion de)
|
||||
{
|
||||
tscGrupoSanchoToro bd = tscGrupoSanchoToro.NuevoContexto();
|
||||
|
||||
//00
|
||||
// Importa("GRUASGC", bdGrupoSanchoToro.Importaciones.ImportarGRUASGC.Importar, de); //00
|
||||
//Importa("GRUPRO", bdGrupoSanchoToro.Importaciones.ImportaGrupoProductos.Importar, de); //01
|
||||
//Importa("CAMPAÑAS", bdGrupoSanchoToro.Importaciones.ImportaCampañas.Importar, de); //02
|
||||
//Importa("PRODUCTOS", bdGrupoSanchoToro.Importaciones.ImportaProductos.Importar, de); //03
|
||||
//Importa("PROBRU", bdGrupoSanchoToro.Importaciones.ImportaProductosBrutos.Importar, de); //04
|
||||
//Importa("CTESFABC", bdGrupoSanchoToro.Importaciones.ImportaGrupoEnumeraciones.Importar, de); //00
|
||||
//Importa("CTESFABL", bdGrupoSanchoToro.Importaciones.ImportaEnumeraciones.Importar, de); //00
|
||||
//Importa("PROELA1", bdGrupoSanchoToro.Importaciones.ImportaProductosElaborados.Importar, de); //05
|
||||
//Importa("PROELA2", bdGrupoSanchoToro.Importaciones.ImportaProductosElaborados.Importar, de); //05
|
||||
//Importa("CODAGRU", bdGrupoSanchoToro.Importaciones.ImportaCodigosDeAccesoriosAgrupados.Importar, de); //07
|
||||
//Importa("ALMACENAC", bdGrupoSanchoToro.Importaciones.ImportaAccesorios.Importar, de); //06
|
||||
//Importa("TABLASC", bdGrupoSanchoToro.Importaciones.ImportaTablas.Importar, de); //08
|
||||
//Importa("TABLASL", bdGrupoSanchoToro.Importaciones.ImportaParametrosDeTablas.Importar, de); //09
|
||||
//Importa("ENTIBAN", bdGrupoSanchoToro.Importaciones.ImportaEntidadesBancarias.Importar, de); //10
|
||||
//Importa("AGEBAN", bdGrupoSanchoToro.Importaciones.ImportaAgenciasBancarias.Importar, de); //11
|
||||
//Importa("BANCOSEMP", bdGrupoSanchoToro.Importaciones.ImportaBancosEmpresa.Importar, de); //12
|
||||
//Importa("FPAGO", bdGrupoSanchoToro.Importaciones.ImportaFormasDePago.Importar, de); //13
|
||||
//Importa("PROVEEDORES", bdGrupoSanchoToro.Importaciones.ImportaProveedores.Importar, de); //14
|
||||
//Importa("PROVEEDORH", bdGrupoSanchoToro.Importaciones.ImportaProveedoresh.Importar, de); //25
|
||||
//Importa("CLIENTES", bdGrupoSanchoToro.Importaciones.ImportaClientes.Importar, de); //15
|
||||
//Importa("CLIENTESH", bdGrupoSanchoToro.Importaciones.ImportaClientesh.Importar, de); //26
|
||||
// Importa("PERSONAL", bdGrupoSanchoToro.Importaciones.ImportaClientesh.Importar, de); //26
|
||||
}
|
||||
|
||||
//public static void ImportarPersonal(DelegadoErroresImportacion de)
|
||||
//{
|
||||
// tscGrupoSanchoToro bd = tscGrupoSanchoToro.NuevoContexto();
|
||||
|
||||
// Importa("PERSONAL", bdGrupoSanchoToro.Importaciones.ImportaPersonal.Importar, de);
|
||||
//}
|
||||
|
||||
static void Importa(string NombreFicheroEnHP, DelegadoImportar di, DelegadoErroresImportacion de)
|
||||
{
|
||||
tscGrupoSanchoToro bd = tscGrupoSanchoToro.NuevoContexto();
|
||||
byte[]? datos = null;
|
||||
try
|
||||
{
|
||||
datos = DescargarDeHP(bd, NombreFicheroEnHP);
|
||||
if (datos != null) di(datos);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
de(ex);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static byte[]? DescargarDeHP(tscGrupoSanchoToro bd, string Fichero)
|
||||
{
|
||||
string Fich = "/var/tecnosis/DATAXML/PENDIENTES/" + Fichero + ".DATA";
|
||||
string Fichi = "/var/tecnosis/DATAXML/PENDIENTES/" + Fichero + ".IGUAL";
|
||||
string Fichh = "/var/tecnosis/DATAXML/HISTORICO/" + Fichero + ".DATA";
|
||||
var sftp = ConfiguraFTPHP(bd);
|
||||
var st = new MemoryStream();
|
||||
if (tsFluentFTP.ftp.ExisteFichero(Fich, sftp))
|
||||
{
|
||||
tsFluentFTP.ftp.DescargaFichero(Fich, st, sftp);
|
||||
// tsFluentFTP.ftp.RenombraFichero(Fich,Fichh, sftp);
|
||||
return st.ToArray();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!tsFluentFTP.ftp.ExisteFichero(Fichi, sftp)) throw new Exception("No se ha Generado el Fichero " + Fichero);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public static tsFluentFTP.ServidorFTP ConfiguraFTPHP(tscGrupoSanchoToro bd)
|
||||
{
|
||||
try
|
||||
{
|
||||
string sCadServidor = (from c in bd.enumeraciones
|
||||
where c.Codigo == "VAR.HP9000"
|
||||
select c).First().ValorAlfabeticoLargo;
|
||||
string Servidor = sCadServidor.Split("@")[0];
|
||||
string Usuario = sCadServidor.Split("@")[1].Split(":")[0];
|
||||
string contraseña = sCadServidor.Split("@")[1].Split(":")[1];
|
||||
int Puerto = 21;
|
||||
bool Pasivo = false;
|
||||
tsFluentFTP.SeguridadFTP Seguridad;
|
||||
Seguridad = tsFluentFTP.SeguridadFTP.Ninguna;
|
||||
int Timeout = 60000;
|
||||
var ftp = new tsFluentFTP.ServidorFTP(Servidor, Puerto, Usuario, contraseña, Seguridad, Pasivo, Timeout);
|
||||
return ftp;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new Exception(ex.Message, ex);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user