public static void Update(tfi_CajasDataset.tfi_CajasDataTable dataTable, SqlTransaction trx) { SqlDataAdapter adapter = new SqlDataAdapter(); adapter.TableMappings.AddRange( new System.Data.Common.DataTableMapping[] { new System.Data.Common.DataTableMapping("Table", "tfi_Cajas", new System.Data.Common.DataColumnMapping[] { new System.Data.Common.DataColumnMapping("IdCaja", "IdCaja"), new System.Data.Common.DataColumnMapping("IdEmpresa", "IdEmpresa"), new System.Data.Common.DataColumnMapping("IdSucursal", "IdSucursal"), new System.Data.Common.DataColumnMapping("Descripcion", "Descripcion"), 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") } ) } ); SqlCommand sqlCommandUpdate = new SqlCommand("Pr_tfi_Cajas_Update", trx.Connection); sqlCommandUpdate.Transaction = trx; sqlCommandUpdate.CommandType = CommandType.StoredProcedure; sqlCommandUpdate.Parameters.Add(new SqlParameter("@IdCaja", SqlDbType.VarChar, 20, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdCaja", 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("@Descripcion", SqlDbType.VarChar, 50, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Descripcion", 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("@OldIdCaja", SqlDbType.VarChar, 20, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdCaja", DataRowVersion.Original, null)); SqlCommand sqlCommandDelete = new SqlCommand("Pr_tfi_Cajas_Delete", trx.Connection); sqlCommandDelete.Transaction = trx; sqlCommandDelete.CommandType = CommandType.StoredProcedure; sqlCommandDelete.Parameters.Add(new SqlParameter("@IdCaja", SqlDbType.VarChar, 20, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdCaja", 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_tfi_Cajas_Insert", trx.Connection); sqlCommandInsert.Transaction = trx; sqlCommandInsert.CommandType = CommandType.StoredProcedure; sqlCommandInsert.Parameters.Add(new SqlParameter("@IdCaja", SqlDbType.VarChar, 20, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdCaja", 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)); sqlCommandInsert.Parameters.Add(new SqlParameter("@Descripcion", SqlDbType.VarChar, 50, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Descripcion", 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)); adapter.UpdateCommand = sqlCommandUpdate; adapter.DeleteCommand = sqlCommandDelete; adapter.InsertCommand = sqlCommandInsert; adapter.Update(dataTable); }
public static DataSet ActualizaVariablesCajas(tfi_CajasDataset.tfi_CajasDataTable dataTable, ArrayList CajasAgregadas, ArrayList CajasEliminadas) { string IdCajaTemporal = Variables.GetValueString("Cajas.CajaTemporalDefault"); DataSet data = mz.erp.businessrules.sy_Variables.GetListByCola(".Cajas"); foreach (DataRow row in data.Tables[0].Rows) { string valor = Convert.ToString(row["ValorDefault"]); ArrayList valores = mz.erp.systemframework.Util.Parse(valor); //Excluye a las variables que solo se configuran con la caja Temporal Default if (!valores.Contains(IdCajaTemporal)) { foreach (string IdCaja in CajasAgregadas) { if (!valores.Contains(IdCaja)) { valores.Add(IdCaja); } } foreach (string IdCaja in CajasEliminadas) { if (valores.Contains(IdCaja)) { valores.Remove(IdCaja); } } row["ValorDefault"] = mz.erp.systemframework.Util.PackString(valores); } } return(data); }
/// <summary> /// Envia los cambios del tfi_CajasDataset.tfi_CajasDataTable a la base de datos. /// </summary> public static void Update(tfi_CajasDataset.tfi_CajasDataTable 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); if (TableIsValid(dataTable)) { ArrayList CajasAAgregar = ObtenerCajasAAgregar(dataTable); ArrayList CajasAEliminar = ObtenerCajasAEliminar(dataTable); DataSet dataVariables = ActualizaVariablesCajas(dataTable, CajasAAgregar, CajasAEliminar); mz.erp.dataaccess.tfi_Cajas.Update(dataTable, dataVariables.Tables[0]); } }
public static ArrayList ObtenerCajasAAgregar(tfi_CajasDataset.tfi_CajasDataTable dataTable) { ArrayList res = new ArrayList(); foreach (DataRow row in dataTable.Rows) { if (row.RowState.Equals(DataRowState.Added)) { res.Add(Convert.ToString(row["IdCaja"])); } } return(res); }
public static ArrayList ObtenerCajasAEliminar(tfi_CajasDataset.tfi_CajasDataTable dataTable) { ArrayList res = new ArrayList(); foreach (DataRow row in dataTable.Rows) { if (row.RowState.Equals(DataRowState.Deleted)) { res.Add(Convert.ToString(row["IdCaja", DataRowVersion.Original])); } } return(res); }
public static bool TableIsValid(tfi_CajasDataset.tfi_CajasDataTable dataTable) { foreach (DataRow row in dataTable.Rows) { if (row.RowState.Equals(DataRowState.Modified) || row.RowState.Equals(DataRowState.Added)) { string Caja = Convert.ToString(row["Descripcion"]); if (Caja.Trim().Equals(string.Empty)) { row.SetColumnError("Descripcion", "La Descripción de la Caja no puede ser vacía"); return(false); } } } foreach (DataRow row in dataTable.Rows) { if (row.RowState.Equals(DataRowState.Deleted)) { string IdCaja = Convert.ToString(row["IdCaja", DataRowVersion.Original]); DataSet data = mz.erp.businessrules.tfi_InstanciasCaja.GetListByIdCaja(IdCaja); if (data.Tables[0].Rows.Count > 0) { row.SetColumnError("IdCaja", "La Caja " + IdCaja + " no se puede eliminar porque ha sido usada"); return(false); } } } foreach (DataRow row in dataTable.Rows) { if (row.RowState.Equals(DataRowState.Modified)) { string IdCaja = Convert.ToString(row["IdCaja", DataRowVersion.Original]); string IdCajaActual = Convert.ToString(row["IdCaja", DataRowVersion.Current]); if (!IdCaja.Equals(IdCajaActual)) { row.SetColumnError("IdCaja", "No se puede modificar el IdCaja. Elimine y Vuelva a crear la Caja"); return(false); } } } return(true); }