コード例 #1
0
        private void ProcesarConf()
        {
            try
            {
                if (DirectorioEXCELTextBox.Text == "")
                {
                    MessageBox.Show("Seleccionar la planilla EXCEL.", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                    return;
                }
                if (DirectorioXMLTextBox.Text == "")
                {
                    MessageBox.Show("Seleccionar el directorio para guardar los archivos XML.", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                    return;
                }
                FileHelpers.DataLink.ExcelStorage fh = new FileHelpers.DataLink.ExcelStorage(typeof(Planilla1));
                fh.FileName = DirectorioEXCELTextBox.Text;
                fh.SheetName = NombreHojaCONFTextBox.Text;
                fh.StartRow = 2;
                fh.StartColumn = 1;
                Planilla1[] conf = (Planilla1[])fh.ExtractRecords();
                List<Planilla1> lconf = new List<Planilla1>();
                lconf.AddRange(conf);

                				//Crear clase completa para Hoja1
                AsigConf.dias_operativos dops = new AsigConf.dias_operativos();
				AsigConf.dias_operativosDia_operativo[] item = new AsigConf.dias_operativosDia_operativo[1];
				item[0] = new AsigConf.dias_operativosDia_operativo();
                item[0].fecha = conf[0].Fecha.ToString("dd/MM/yyyy");
				dops.Items = new AsigConf.dias_operativosDia_operativo[1];
				dops.Items[0] = item[0];

				int countVG = 1;
				string ultVG = conf[0].megid_contrato_gas;
				for (int i = 0; i < conf.Length; i++)
				{
					if (ultVG != conf[i].megid_contrato_gas)
					{
						ultVG = conf[i].megid_contrato_gas;
						countVG += 1;
					}
				}
				dops.Items[0].volumenes_gas = new AsigConf.dias_operativosDia_operativoVolumen_gas[countVG];
                AsigConf.dias_operativosDia_operativoVolumen_gas[] vgas = new AsigConf.dias_operativosDia_operativoVolumen_gas[countVG];
                int contadorLineaConf = 0;
				for (int i = 0; i < dops.Items[0].volumenes_gas.Length; i++)
				{

					vgas[i] = new AsigConf.dias_operativosDia_operativoVolumen_gas();
                    vgas[i].megid_contrato_gas = conf[contadorLineaConf].megid_contrato_gas;
					vgas[i].megid_tipo_balance = "DI";
					vgas[i].mov = "A";
					//Lista de Punto

					List<Planilla1> lp = lconf.FindAll(delegate(Planilla1 e1)
					{
						return e1.megid_contrato_gas == vgas[i].megid_contrato_gas;
					});
					AsigConf.dias_operativosDia_operativoVolumen_gasPUNTO[] punto = new AsigConf.dias_operativosDia_operativoVolumen_gasPUNTO[lp.Count];
					for (int j = 0; j < lp.Count; j++)
					{
						punto[j] = new AsigConf.dias_operativosDia_operativoVolumen_gasPUNTO();
						punto[j].megid_punto_medicion = lp[j].megid_punto_medicion;
						punto[j].volumen = lp[j].volumen;
						punto[j].megid_motivo = "";
						punto[j].observaciones_motivo = "";
					}
                    if (contadorLineaConf > 0)
                    {
                        contadorLineaConf += lp.Count - 1;
                    }
					vgas[i].PUNTOS = punto;
					dops.Items[0].volumenes_gas = vgas;
                    contadorLineaConf += 1;
				}

				//Deserializar ( pasar de FeaEntidades.InterFacturas.lote_comprobantes a string XML )
				MemoryStream ms = new MemoryStream();
				XmlTextWriter writer = new XmlTextWriter(ms, System.Text.Encoding.GetEncoding("ISO-8859-1"));
				System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(dops.GetType());
				x.Serialize(writer, dops);
				ms = (MemoryStream)writer.BaseStream;
				string resp = ByteArrayToString(ms.ToArray());
				ms.Close();
				ms = null;

                //Grabar archivo en disco
                System.Text.Encoding codificador;
                codificador = System.Text.Encoding.GetEncoding("iso-8859-1");
                byte[] a = new byte[resp.Length];
                a = codificador.GetBytes(resp);
                string NombreArchivo = DirectorioXMLTextBox.Text + "\\" + NombreHojaCONFTextBox.Text + "-" + DateTime.Now.ToString("yyyyMMdd-hhmmss") + ".xml";
                FileStream fs = File.Create(NombreArchivo);
                fs.Write(a, 0, a.Length);
                fs.Close();
                
                MessageBox.Show("Archivo XML procesado satisfactoriamente." + "\r\n\r\n" + "Nombre del Archivo: " + NombreArchivo, "Información", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
            }
            catch (Exception ex)
            {
                throw new Microsoft.ApplicationBlocks.ExceptionManagement.Archivo.ProcesarArchivo(ex);
            }
            finally
            {

            }
        }
コード例 #2
0
ファイル: Tablero.cs プロジェクト: pjeconde/eFact
		private void ExcelButton_Click(object sender, EventArgs e)
		{
			OpenFileDialog xlsOpenFileDialog = new OpenFileDialog();

			xlsOpenFileDialog.Filter = "Archivos Excel (*.xls)|*.xls|Todos los archivos (*.*)|*.*";
			xlsOpenFileDialog.Multiselect = false;
			xlsOpenFileDialog.FilterIndex = 1;
			xlsOpenFileDialog.RestoreDirectory = true;

			if (xlsOpenFileDialog.ShowDialog() == DialogResult.OK)
			{
				try
				{
					string archivo = xlsOpenFileDialog.FileName;
					FeaEntidades.InterFacturas.lote_comprobantes lote = new FeaEntidades.InterFacturas.lote_comprobantes();
					FeaEntidades.InterFacturas.cabecera compcab = new FeaEntidades.InterFacturas.cabecera();
					FeaEntidades.InterFacturas.comprobante comp = new FeaEntidades.InterFacturas.comprobante();
					comp.cabecera = compcab;
					lote.comprobante[0] = comp;

					List<FeaEntidades.Excel.Ubicador> lista = FeaEntidades.Excel.Ubicador.Lista();
					foreach (FeaEntidades.Excel.Ubicador u in lista)
					{
						FileHelpers.DataLink.ExcelStorage provider = new FileHelpers.DataLink.ExcelStorage(u.GetType());
						provider.StartRow = u.X;
						provider.StartColumn = u.Y;
						provider.FileName = @archivo;
						provider.SheetName = "XML";
						Object[] oArray = (Object[])System.Array.CreateInstance(u.GetType(), 10);
						oArray = (Object[])provider.ExtractRecords();

						foreach (Object o in oArray)
						{
							FileHelpers.DataLink.ExcelStorage providerInterno = new FileHelpers.DataLink.ExcelStorage(System.Type.GetType("FeaEntidades.InterFacturas." + ((FeaEntidades.Excel.Ubicador)o).Tipo + ", FeaEntidades"));
							providerInterno.StartRow = ((FeaEntidades.Excel.Ubicador)o).Y;
							providerInterno.StartColumn = ((FeaEntidades.Excel.Ubicador)o).X;
							providerInterno.FileName = @archivo;
							providerInterno.SheetName = "XML";
							Object[] oArrayInterno = (Object[])System.Array.CreateInstance(System.Type.GetType("FeaEntidades.InterFacturas." + ((FeaEntidades.Excel.Ubicador)o).Tipo + ", FeaEntidades"), 10);
							oArrayInterno = (Object[])providerInterno.ExtractRecords();

							if (oArrayInterno.Length > 0)
							{
								switch (oArrayInterno.GetType().ToString())
								{
									case "FeaEntidades.InterFacturas.cabecera_lote[]":
										lote.cabecera_lote = (FeaEntidades.InterFacturas.cabecera_lote)oArrayInterno[0];
										break;
									case "FeaEntidades.InterFacturas.informacion_comprador[]":
										compcab.informacion_comprador = (FeaEntidades.InterFacturas.informacion_comprador)oArrayInterno[0];
										break;
									case "FeaEntidades.InterFacturas.informacion_comprobante[]":
										compcab.informacion_comprobante = (FeaEntidades.InterFacturas.informacion_comprobante)oArrayInterno[0];
										break;
									case "FeaEntidades.InterFacturas.informacion_comprobanteReferencias[]":
										compcab.informacion_comprobante.referencias = (FeaEntidades.InterFacturas.informacion_comprobanteReferencias[])oArrayInterno;
										break;
									case "FeaEntidades.InterFacturas.informacion_vendedor[]":
										compcab.informacion_vendedor = (FeaEntidades.InterFacturas.informacion_vendedor)oArrayInterno[0];
										break;
									case "FeaEntidades.InterFacturas.detalle[]":
										comp.detalle = (FeaEntidades.InterFacturas.detalle)oArrayInterno[0];
										break;
									case "FeaEntidades.InterFacturas.linea[]":
										comp.detalle.linea = (FeaEntidades.InterFacturas.linea[])oArrayInterno;
										break;
									case "FeaEntidades.InterFacturas.lineaImportes_moneda_origen[]":
										break;
									case "FeaEntidades.InterFacturas.lineaImpuestos[]":
										break;
									case "FeaEntidades.InterFacturas.lineaDescuentos[]":
										break;
									case "FeaEntidades.InterFacturas.resumen[]":
										comp.resumen = (FeaEntidades.InterFacturas.resumen)oArrayInterno[0];
										break;
									case "FeaEntidades.InterFacturas.resumenDescuentos[]":
										comp.resumen.descuentos = (FeaEntidades.InterFacturas.resumenDescuentos[])oArrayInterno;
										break;
									case "FeaEntidades.InterFacturas.resumenImportes_moneda_origen[]":
										break;
									case "FeaEntidades.InterFacturas.resumenImpuestos[]":
                                        FeaEntidades.InterFacturas.resumenImpuestos[] impLista = ((FeaEntidades.InterFacturas.resumenImpuestos[])oArrayInterno);
                                        FeaEntidades.InterFacturas.resumenImpuestos[] impNewLista = new FeaEntidades.InterFacturas.resumenImpuestos[10];
                                        for (int im = 0; im < impLista.Length; im++)
                                        {
                                            if (impLista[im].importe_impuesto != 0)
                                            {
                                                impNewLista[im] = impLista[im];
                                            }
                                        }
                                        comp.resumen.impuestos = impNewLista;
        								break;
								}
							}
						}
					}

					System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(lote.GetType());
					System.Text.StringBuilder sb = new System.Text.StringBuilder();
					if (d != null)
					{
						sb.Append(@d);
						sb.Append(System.IO.Path.DirectorySeparatorChar);
					}
					else
					{
						throw new Exception("Debe elegir un directorio primero");
					}
					sb.Append(lote.cabecera_lote.cuit_vendedor);
					sb.Append("-");
					sb.Append(lote.cabecera_lote.punto_de_venta.ToString("0000"));
					sb.Append("-");
					sb.Append(lote.comprobante[0].cabecera.informacion_comprobante.tipo_de_comprobante.ToString("00"));
					sb.Append("-");
					sb.Append(lote.comprobante[0].cabecera.informacion_comprobante.numero_comprobante.ToString("00000000"));
					sb.Append(".xml");
					System.IO.Stream fs = new System.IO.FileStream(sb.ToString(), System.IO.FileMode.Create);
					System.Xml.XmlWriter writer = new System.Xml.XmlTextWriter(fs, System.Text.Encoding.GetEncoding("ISO-8859-1"));
					x.Serialize(writer, lote);
					fs.Close();
					System.Diagnostics.Process.Start(sb.ToString());
				}
				catch(NullReferenceException)
				{
					try
					{
						throw new Exception("El archivo seleccionado no está generado desde el template excel");
					}
					catch (Exception exc)
					{
						Microsoft.ApplicationBlocks.ExceptionManagement.ExceptionManager.Publish(exc);
					}
				}
				catch (Exception ex)
				{
					Microsoft.ApplicationBlocks.ExceptionManagement.ExceptionManager.Publish(ex);
				}
			}
		}
コード例 #3
0
        private void ProcesarLiq()
        {
            try
            {
                if (DirectorioEXCELTextBox.Text == "")
                {
                    MessageBox.Show("Seleccionar la planilla EXCEL.", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                    return;
                }
                if (DirectorioXMLTextBox.Text == "")
                {
                    MessageBox.Show("Seleccionar el directorio para guardar los archivos XML.", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                    return;
                }
				FileHelpers.DataLink.ExcelStorage fh = new FileHelpers.DataLink.ExcelStorage(typeof(Planilla2));
                fh.FileName = DirectorioEXCELTextBox.Text;
				fh.SheetName = NombreHojaLIQTextBox.Text;
				fh.StartRow = 2;
				fh.StartColumn = 1;
				Planilla2[] liq = (Planilla2[])fh.ExtractRecords();
                List<Planilla2> lliq = new List<Planilla2>();
                lliq.AddRange(liq);

                Liq.periodos_facturacion periodosF = new Liq.periodos_facturacion();
                Liq.periodo_facturacion pf = new Liq.periodo_facturacion();
                pf.fecha_desde = lliq[0].fecha_desde.ToString("dd/MM/yyyy");
                pf.fecha_hasta = lliq[0].fecha_hasta.ToString("dd/MM/yyyy");
                Liq.contratos contratos = new Liq.contratos();
                for (int i = 0; i < lliq.Count; i++)
                {
                    Liq.contrato c = new Liq.contrato();
                    c.mov = "A";
                    c.megid_contrato = lliq[i].megid_contrato_gas;
                    c.megid_moneda = lliq[i].megid_moneda;
                    Liq.conceptos_facturacion conceptosF = new Liq.conceptos_facturacion();
                    Liq.concepto_facturacion cf = new Liq.concepto_facturacion();
                    cf.megid_concepto_facturacion = lliq[i].concepto_facturacion;
                    cf.volumen = lliq[i].volumen;
                    cf.monto = lliq[i].monto;
                    cf.megid_entidad_medidora = "";
                    cf.megid_ruta = "";
                    cf.megid_tipo_medicion = "";
                    conceptosF.Add(cf);
                    c.conceptos_facturacionCollection.Add(conceptosF);
                    contratos.Add(c);
                }
                pf.contratosCollection.Add(contratos);
                periodosF.periodo_facturacionCollection.Add(pf);

                //Deserializar ( pasar de FeaEntidades.InterFacturas.lote_comprobantes a string XML )
                MemoryStream ms = new MemoryStream();
                XmlTextWriter writer = new XmlTextWriter(ms, System.Text.Encoding.GetEncoding("ISO-8859-1"));
                System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(periodosF.GetType());
                x.Serialize(writer, periodosF);
                ms = (MemoryStream)writer.BaseStream;
                string resp = ByteArrayToString(ms.ToArray());
                ms.Close();
                ms = null;

                //Grabar archivo en disco
                System.Text.Encoding codificador;
                codificador = System.Text.Encoding.GetEncoding("iso-8859-1");
                byte[] a = new byte[resp.Length];
                a = codificador.GetBytes(resp);
                string NombreArchivo = DirectorioXMLTextBox.Text + "\\" + NombreHojaLIQTextBox.Text + "-" + DateTime.Now.ToString("yyyyMMdd-hhmmss") + ".xml";
                FileStream fs = File.Create(NombreArchivo);
                fs.Write(a, 0, a.Length);
                fs.Close();

                MessageBox.Show("Archivo XML procesado satisfactoriamente." + "\r\n\r\n" + "Nombre del Archivo: " + NombreArchivo, "Información", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
            }
            catch (Exception ex)
            {
                throw new Microsoft.ApplicationBlocks.ExceptionManagement.Archivo.ProcesarArchivo(ex);
            }
            finally
            {
                
            }
        }
コード例 #4
0
        public static void Procesar(string Directorio, CedEntidades.Sesion Sesion)
        {
            try
            {
                new CedForecastDB.PlanillaInfoEmbarque(Sesion).Guardar(Directorio);
                //Lectura planilla excel
                FileHelpers.DataLink.ExcelStorage planilla = new FileHelpers.DataLink.ExcelStorage(typeof(CedForecastEntidades.PlanillaInfoEmbarque));
                planilla.StartRow = 9;
                planilla.StartColumn = 1;
                //planilla.SheetName = "Tabelle3";
                planilla.FileName = Directorio;
                CedForecastEntidades.PlanillaInfoEmbarque[] filas = (CedForecastEntidades.PlanillaInfoEmbarque[])planilla.ExtractRecords();

                //Prueba ----------------
                //planilla = new FileHelpers.DataLink.ExcelStorage(typeof(CedForecastEntidades.PlanillaInfoEmbarque));
                //planilla.OverrideFile = false;
                //planilla.StartRow = 9;
                //planilla.StartColumn = 1;
                //planilla.TemplateFile = "C:\\KS\\2011 Amerika - NEW.xls";
                //planilla.FileName = "C:\\KS\\2011 Amerika - NEW2.xls";
                //planilla.SheetName = "Cabecera";
                //planilla.InsertRecords(filas);
                //planilla.TemplateFile = ""; 
                //planilla.SheetName = "Detalle";
                //planilla.InsertRecords(filas);
                //Fin Prueba ------------

                //Actualizar items de la orden de compra
                for (int i = 0; i < filas.Length; i++)
                {
                    try
                    {
                        //Determino info de embarque
                        CedForecastEntidades.OrdenCompraInfoEmbarque infoEmbarque = new CedForecastEntidades.OrdenCompraInfoEmbarque();
                        infoEmbarque.IdReferenciaSAP = filas[i].IdReferenciaSAP;
                        infoEmbarque.FechaEstimadaSalida = FormatearFechaOADate(filas[i].FechaEstimadaSalida);
                        infoEmbarque.Vapor = filas[i].Vapor;
                        infoEmbarque.FechaEstimadaArribo = FormatearFechaOADate(filas[i].FechaEstimadaArribo);
                        //Leo orden de compra
                        CedForecastEntidades.OrdenCompra ordenCompra = new CedForecastEntidades.OrdenCompra();
                        string itemOrdenCompra = QuitarPrefijo(filas[i].ItemOrdenCompra);
                        ordenCompra.Id = Convert.ToInt32(itemOrdenCompra.Substring(0, itemOrdenCompra.Length - 1));
                        ordenCompra.IdItem = itemOrdenCompra.Substring(itemOrdenCompra.Length - 1, 1);
                        CedForecastRN.OrdenCompra.LeerParaActualizacionInfoEmbarque(ordenCompra, Sesion);
                        //Actualizo info embarque
                        CedForecastRN.OrdenCompra.ActualizacionInfoEmbarque(ordenCompra, infoEmbarque, Sesion);
                    }
                    catch (Microsoft.ApplicationBlocks.ExceptionManagement.Validaciones.ElementoInexistente)
                    {
                    }
                    catch
                    {
                        throw;
                    }
                }
            }
            catch (Exception ex)
            {
                Microsoft.ApplicationBlocks.ExceptionManagement.ExceptionManager.Publish(ex);
            }
        }