/// <summary> /// Envia los cambios del tsh_PersonasDataset.tsh_PersonasDataTable a la base de datos. /// </summary> public static void Update(tsh_PersonasDataset.tsh_PersonasDataTable dataTable) { ApplicationAssert.Check(dataTable != null, "El argumento dataTable no debe ser nulo.", ApplicationAssert.LineNumber); ApplicationAssert.Check(dataTable.Rows.Count > 0, "El argumento dataTable debe poseer alguna fila.", ApplicationAssert.LineNumber); //Nuevo SentenciasReplicacion replication = new SentenciasReplicacion(); replication.IdConexion = Security.IdConexion; replication.SucGeneradora = Security.IdSucursal; //Para todas las sucursales replication.Destino = null; replication.VersionBD = null; replication.NombreTabla = "dataaccess.tsa_Cuentas"; mz.erp.dataaccess.tsh_Personas.Replicacion = replication; mz.erp.dataaccess.tsh_Personas.Update(dataTable); }
public static void Update(tsh_PersonasDataset.tsh_PersonasDataTable dataTable, SqlTransaction trx) { string IdSentenciaReplicacion = "-1"; SqlDataAdapter adapter = new SqlDataAdapter(); adapter.TableMappings.AddRange( new System.Data.Common.DataTableMapping[] { new System.Data.Common.DataTableMapping("Table", "tsh_Personas", new System.Data.Common.DataColumnMapping[] { new System.Data.Common.DataColumnMapping("IdPersona", "IdPersona"), new System.Data.Common.DataColumnMapping("Nombre", "Nombre"), new System.Data.Common.DataColumnMapping("Comentarios", "Comentarios"), new System.Data.Common.DataColumnMapping("Telefonos", "Telefonos"), new System.Data.Common.DataColumnMapping("Email", "Email"), new System.Data.Common.DataColumnMapping("InstantMesseger", "InstantMesseger"), new System.Data.Common.DataColumnMapping("Observaciones", "Observaciones"), new System.Data.Common.DataColumnMapping("Activo", "Activo"), new System.Data.Common.DataColumnMapping("FechaCreacion", "FechaCreacion"), new System.Data.Common.DataColumnMapping("IdConexionCreacion", "IdConexionCreacion"), new System.Data.Common.DataColumnMapping("UltimaModificacion", "UltimaModificacion"), new System.Data.Common.DataColumnMapping("IdConexionUltimaModificacion", "IdConexionUltimaModificacion"), new System.Data.Common.DataColumnMapping("IdReservado", "IdReservado"), new System.Data.Common.DataColumnMapping("RowId", "RowId"), new System.Data.Common.DataColumnMapping("IdTratamiento", "IdTratamiento"), new System.Data.Common.DataColumnMapping("IdEmpresa", "IdEmpresa"), new System.Data.Common.DataColumnMapping("IdSucursal", "IdSucursal"), new System.Data.Common.DataColumnMapping("IdGenerado", "IdGenerado"), new System.Data.Common.DataColumnMapping("RowIdGenerado", "RowIdGenerado") } ) } ); SqlCommand sqlCommandUpdate = new SqlCommand("Pr_tsh_Personas_Update", trx.Connection); sqlCommandUpdate.Transaction = trx; sqlCommandUpdate.CommandType = CommandType.StoredProcedure; sqlCommandUpdate.Parameters.Add(new SqlParameter("@IdPersona", SqlDbType.VarChar, 20, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdPersona", DataRowVersion.Current, null)); sqlCommandUpdate.Parameters.Add(new SqlParameter("@Nombre", SqlDbType.VarChar, 50, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Nombre", DataRowVersion.Current, null)); sqlCommandUpdate.Parameters.Add(new SqlParameter("@Comentarios", SqlDbType.VarChar, 100, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Comentarios", DataRowVersion.Current, null)); sqlCommandUpdate.Parameters.Add(new SqlParameter("@Telefonos", SqlDbType.VarChar, 100, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Telefonos", DataRowVersion.Current, null)); sqlCommandUpdate.Parameters.Add(new SqlParameter("@Email", SqlDbType.VarChar, 100, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Email", DataRowVersion.Current, null)); sqlCommandUpdate.Parameters.Add(new SqlParameter("@InstantMesseger", SqlDbType.VarChar, 100, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "InstantMesseger", DataRowVersion.Current, null)); sqlCommandUpdate.Parameters.Add(new SqlParameter("@Observaciones", SqlDbType.VarChar, 1000, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Observaciones", DataRowVersion.Current, null)); sqlCommandUpdate.Parameters.Add(new SqlParameter("@Activo", SqlDbType.Bit, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Activo", DataRowVersion.Current, null)); sqlCommandUpdate.Parameters.Add(new SqlParameter("@UltimaModificacion", SqlDbType.Timestamp, 8, ParameterDirection.InputOutput, false, ((System.Byte)(0)), ((System.Byte)(0)), "UltimaModificacion", DataRowVersion.Current, null)); sqlCommandUpdate.Parameters.Add(new SqlParameter("@IdConexionUltimaModificacion", SqlDbType.BigInt, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdConexionUltimaModificacion", DataRowVersion.Current, null)); sqlCommandUpdate.Parameters.Add(new SqlParameter("@IdReservado", SqlDbType.BigInt, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdReservado", DataRowVersion.Current, null)); sqlCommandUpdate.Parameters.Add(new SqlParameter("@IdTratamiento", SqlDbType.BigInt, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdTratamiento", DataRowVersion.Current, null)); sqlCommandUpdate.Parameters.Add(new SqlParameter("@IdEmpresa", SqlDbType.BigInt, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdEmpresa", DataRowVersion.Current, null)); sqlCommandUpdate.Parameters.Add(new SqlParameter("@IdSucursal", SqlDbType.BigInt, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdSucursal", DataRowVersion.Current, null)); sqlCommandUpdate.Parameters.Add(new SqlParameter("@OldIdPersona", SqlDbType.VarChar, 20, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdPersona", DataRowVersion.Original, null)); /*SqlParameter parametroIOU = new SqlParameter(); * parametroIOU.ParameterName = "@IdSentenciaReplicacion"; * parametroIOU.SqlDbType = SqlDbType.BigInt; * parametroIOU.Size = 0; * parametroIOU.Direction = ParameterDirection.InputOutput; * parametroIOU.Value = IdSentenciaReplicacion; * sqlCommandUpdate.Parameters.Add (parametroIOU); * sqlCommandUpdate.Parameters.Add("@NombreTabla", SqlDbType.VarChar, 300).Value = "dataaccess.tsh_Personas"; * sqlCommandUpdate.Parameters.Add("@GeneraReplicacion", SqlDbType.Bit).Value = 1;*/ SqlCommand sqlCommandDelete = new SqlCommand("Pr_tsh_Personas_Delete", trx.Connection); sqlCommandDelete.Transaction = trx; sqlCommandDelete.CommandType = CommandType.StoredProcedure; sqlCommandDelete.Parameters.Add(new SqlParameter("@IdPersona", SqlDbType.VarChar, 20, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdPersona", DataRowVersion.Original, null)); sqlCommandDelete.Parameters.Add(new SqlParameter("@UltimaModificacion", SqlDbType.Timestamp, 8, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "UltimaModificacion", DataRowVersion.Original, null)); SqlCommand sqlCommandInsert = new SqlCommand("Pr_tsh_Personas_Insert", trx.Connection); sqlCommandInsert.Transaction = trx; sqlCommandInsert.CommandType = CommandType.StoredProcedure; sqlCommandInsert.Parameters.Add(new SqlParameter("@IdPersona", SqlDbType.VarChar, 20, ParameterDirection.InputOutput, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdPersona", DataRowVersion.Current, null)); sqlCommandInsert.Parameters.Add(new SqlParameter("@Nombre", SqlDbType.VarChar, 50, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Nombre", DataRowVersion.Current, null)); sqlCommandInsert.Parameters.Add(new SqlParameter("@Comentarios", SqlDbType.VarChar, 100, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Comentarios", DataRowVersion.Current, null)); sqlCommandInsert.Parameters.Add(new SqlParameter("@Telefonos", SqlDbType.VarChar, 100, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Telefonos", DataRowVersion.Current, null)); sqlCommandInsert.Parameters.Add(new SqlParameter("@Email", SqlDbType.VarChar, 100, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Email", DataRowVersion.Current, null)); sqlCommandInsert.Parameters.Add(new SqlParameter("@InstantMesseger", SqlDbType.VarChar, 100, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "InstantMesseger", DataRowVersion.Current, null)); sqlCommandInsert.Parameters.Add(new SqlParameter("@Observaciones", SqlDbType.VarChar, 1000, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Observaciones", DataRowVersion.Current, null)); sqlCommandInsert.Parameters.Add(new SqlParameter("@Activo", SqlDbType.Bit, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Activo", DataRowVersion.Current, null)); sqlCommandInsert.Parameters.Add(new SqlParameter("@FechaCreacion", SqlDbType.DateTime, 0, ParameterDirection.InputOutput, false, ((System.Byte)(0)), ((System.Byte)(0)), "FechaCreacion", DataRowVersion.Current, null)); sqlCommandInsert.Parameters.Add(new SqlParameter("@IdConexionCreacion", SqlDbType.BigInt, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdConexionCreacion", DataRowVersion.Current, null)); sqlCommandInsert.Parameters.Add(new SqlParameter("@IdReservado", SqlDbType.BigInt, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdReservado", DataRowVersion.Current, null)); sqlCommandInsert.Parameters.Add(new SqlParameter("@IdTratamiento", SqlDbType.BigInt, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdTratamiento", DataRowVersion.Current, null)); sqlCommandInsert.Parameters.Add(new SqlParameter("@IdEmpresa", SqlDbType.BigInt, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdEmpresa", DataRowVersion.Current, null)); sqlCommandInsert.Parameters.Add(new SqlParameter("@IdSucursal", SqlDbType.BigInt, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdSucursal", DataRowVersion.Current, null)); /*SqlParameter parametroIOI = new SqlParameter(); * parametroIOI.ParameterName = "@IdSentenciaReplicacion"; * parametroIOI.SqlDbType = SqlDbType.BigInt; * parametroIOI.Size = 0; * parametroIOI.Direction = ParameterDirection.InputOutput; * parametroIOI.Value = IdSentenciaReplicacion; * sqlCommandInsert.Parameters.Add (parametroIOI); * sqlCommandInsert.Parameters.Add("@NombreTabla", SqlDbType.VarChar, 300).Value = "dataaccess.tsh_Personas";*/ //Parametros adicionales para las modificaciones de replicacion sqlCommandInsert.Parameters.Add("@IdGenerado", SqlDbType.VarChar, 300).Value = System.DBNull.Value; sqlCommandInsert.Parameters["@IdGenerado"].Direction = ParameterDirection.InputOutput; sqlCommandInsert.Parameters.Add("@RowIdGenerado", SqlDbType.UniqueIdentifier).Value = System.DBNull.Value; sqlCommandInsert.Parameters["@RowIdGenerado"].Direction = ParameterDirection.InputOutput; //sqlCommandInsert.Parameters.Add("@GeneraReplicacion", SqlDbType.Bit).Value = 1; adapter.RowUpdated += new SqlRowUpdatedEventHandler(OnRowUpdated); adapter.UpdateCommand = sqlCommandUpdate; adapter.DeleteCommand = sqlCommandDelete; adapter.InsertCommand = sqlCommandInsert; adapter.Update(dataTable); }