private void btnAgregar_Click(object sender, RoutedEventArgs e) { Archivos view = new Archivos(); view.Owner = this; view.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterOwner; view.ShowDialog(); FillFileList(); }
private void btnAgregar_Click(object sender, RoutedEventArgs e) { int iTotal = lstArchivos.Items.Count; int iSelec = lstArchivos.SelectedIndex + 1; int iEsImpar = 0; Archivos view = new Archivos(); view.Owner = this; view.bMain = true; view.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterOwner; view.ShowDialog(); if (!bArchivos) { ITCMessageBox.Show(this,"No agregaste Archivos","Error!"); return; } int iTadd = lArchivos.Count; OdbcTransaction myTrans = null; this.IsEnabled = false; System.Threading.Thread t = new System.Threading.Thread(Sending); t.SetApartmentState(System.Threading.ApartmentState.STA); t.Start(getBase()); try { System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor; System.Data.Odbc.OdbcConnection myConn = new System.Data.Odbc.OdbcConnection(); string sVer = (string)cmbVersion.SelectedValue; string sAge = (string)cmbAgencia.SelectedValue; string sDis = (string)cmbDispo.SelectedValue; string sArchivo = string.Empty; myConn.ConnectionString = ((Menu)this.Owner).sConexion; myConn.Open(); string myNonQuery; OdbcCommand myCommand; myTrans = myConn.BeginTransaction(); for (int i = iTotal; i >= iSelec; i--) { myNonQuery = "UPDATE HHc_ArchivosVersion SET ORDEN = ? WHERE CODIGO_AGENCIA = ? AND VERSION = ? AND TIPO_DISPOSITIVO = ? AND ORDEN = ?"; myCommand = new OdbcCommand(myNonQuery, myConn); myCommand.Parameters.Add("ORDEN", OdbcType.Int).Value = i + iTadd; myCommand.Parameters.Add("CODIGO_AGENCIA", OdbcType.Int).Value = Int32.Parse(sAge); myCommand.Parameters.Add("VERSION", OdbcType.VarChar).Value = sVer; myCommand.Parameters.Add("TIPO_DISPOSITIVO", OdbcType.VarChar).Value = sDis; myCommand.Parameters.Add("ORDEN", OdbcType.Int).Value = i; myCommand.Transaction = myTrans; myCommand.ExecuteNonQuery(); } int orden = iSelec; foreach (Archivo aFile in lArchivos) { byte[] bFile = null; System.IO.FileStream fLoad = null; string sFname = System.IO.Path.GetFileName(aFile.sName); if ((sFname != "") && (System.IO.Path.GetExtension(sFname) != "")) { fLoad = System.IO.File.Open(aFile.sName, FileMode.Open, FileAccess.Read); bFile = new byte[fLoad.Length]; fLoad.Read(bFile, 0, (int)fLoad.Length); fLoad.Close(); sArchivo = BitConverter.ToString(bFile); sArchivo = sArchivo.Replace("-", ""); sArchivo = "0x" + sArchivo; if ((bFile.Length % 2) == 1) { sArchivo += "00"; iEsImpar = 1; } } else { sArchivo = "NULL"; } myNonQuery = "INSERT INTO HHc_ArchivosVersion VALUES (?, ?, ?, ?, ?, ?, ?, &, ?)"; myNonQuery = myNonQuery.Replace("&", sArchivo); myCommand = new OdbcCommand(myNonQuery, myConn); myCommand.Parameters.Add("CODIGO_AGENCIA", OdbcType.Int).Value = Int32.Parse(sAge); myCommand.Parameters.Add("VERSION", OdbcType.VarChar).Value = sVer; myCommand.Parameters.Add("TIPO_DISPOSITIVO", OdbcType.VarChar).Value = (string)cmbDispo.SelectedValue; myCommand.Parameters.Add("ORDEN", OdbcType.Int).Value = orden; myCommand.Parameters.Add("NOMBRE", OdbcType.VarChar).Value = aFile.sShort; myCommand.Parameters.Add("PATH_DESTINO", OdbcType.VarChar).Value = aFile.sDestino; myCommand.Parameters.Add("ACCION", OdbcType.Int).Value = aFile.option; //myCommand.Parameters.Add("CONTENIDO", OdbcType.Binary).Value = bFile; myCommand.Parameters.Add("ESIMPAR", OdbcType.Int).Value = iEsImpar; myCommand.Transaction = myTrans; myCommand.ExecuteNonQuery(); lstArchivos.Items.Insert(orden - 1, aFile); orden++; } myTrans.Commit(); myConn.Close(); t.Abort(); ITCMessageBox.Show(this, "Archivos modificados", "Mensaje!"); System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default; } catch (Exception ex) { myTrans.Rollback(); t.Abort(); ITCMessageBox.Show(this, "Error al intentar modificar los archivos", "Error!"); System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default; } this.IsEnabled = true; }