private static bool ValidarRangos(tsa_BonificacionesExDataset.tsa_BonificacionesDetRow row) { bool isValid = true; try { decimal val = row.Minimo; } catch (Exception e) { row.SetColumnError("Minimo", "Minimo no puede ser nulo, Debe se >= 0"); isValid = false; return(isValid); } try { decimal val = row.Maximo; } catch (Exception e) { row.Maximo = Decimal.MaxValue; } if (row.Minimo > row.Maximo) { row.SetColumnError("Minimo", "Minimo mayor que el maximo"); isValid = false; } tsa_BonificacionesExDataset.tsa_BonificacionesDetDataTable table = (tsa_BonificacionesExDataset.tsa_BonificacionesDetDataTable)row.Table; foreach (tsa_BonificacionesExDataset.tsa_BonificacionesDetRow rowAux in table.Rows) { if (!(row.Ordinal == rowAux.Ordinal)) { if ((row.Minimo == rowAux.Minimo) || (row.Maximo == rowAux.Maximo)) { row.SetColumnError("Minimo", "Rangos con idices repetidos"); isValid = false; } else if ((row.Minimo >= rowAux.Minimo && row.Maximo <= rowAux.Maximo) || (row.Minimo <= rowAux.Minimo && row.Maximo >= rowAux.Minimo) || (row.Minimo >= rowAux.Minimo && row.Minimo <= rowAux.Maximo)) { row.SetColumnError("Minimo", "Rangos no excluyentes"); isValid = false; } } } return(isValid); }
public static bool DatasetIsValid(tsa_BonificacionesExDataset data) { tsa_BonificacionesExDataset.tsa_BonificacionesDataTable tableBonificaciones = data.tsa_Bonificaciones; tsa_BonificacionesExDataset.tsa_BonificacionesRow row = (tsa_BonificacionesExDataset.tsa_BonificacionesRow)tableBonificaciones.Rows[0]; bool ok = false; if (RowIsValid(row)) { ok = true; tsa_BonificacionesExDataset.tsa_BonificacionesDetDataTable table = data.tsa_BonificacionesDet; foreach (tsa_BonificacionesExDataset.tsa_BonificacionesDetRow rowSP in table.Rows) { ok = ValidarRangos(rowSP); if (!ok || !RowIsValid(rowSP)) { ok = false; break; } } } return(ok); }
public static void Update(tsa_BonificacionesExDataset.tsa_BonificacionesDetDataTable dataTable, SqlTransaction trx) { SqlDataAdapter adapter = new SqlDataAdapter(); adapter.TableMappings.AddRange( new System.Data.Common.DataTableMapping[] { new System.Data.Common.DataTableMapping("Table", "tsa_BonificacionesDet", new System.Data.Common.DataColumnMapping[] { new System.Data.Common.DataColumnMapping("IdBonificacion", "IdBonificacion"), new System.Data.Common.DataColumnMapping("Ordinal", "Ordinal"), new System.Data.Common.DataColumnMapping("Minimo", "Minimo"), new System.Data.Common.DataColumnMapping("Maximo", "Maximo"), new System.Data.Common.DataColumnMapping("Valor", "Valor"), 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_tsa_BonificacionesDet_Update", trx.Connection); sqlCommandUpdate.Transaction = trx; sqlCommandUpdate.CommandType = CommandType.StoredProcedure; sqlCommandUpdate.Parameters.Add(new SqlParameter("@IdBonificacion", SqlDbType.VarChar, 20, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdBonificacion", DataRowVersion.Current, null)); sqlCommandUpdate.Parameters.Add(new SqlParameter("@Ordinal", SqlDbType.BigInt, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Ordinal", DataRowVersion.Current, null)); sqlCommandUpdate.Parameters.Add(new SqlParameter("@Minimo", SqlDbType.Decimal, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Minimo", DataRowVersion.Current, null)); sqlCommandUpdate.Parameters.Add(new SqlParameter("@Maximo", SqlDbType.Decimal, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Maximo", DataRowVersion.Current, null)); sqlCommandUpdate.Parameters.Add(new SqlParameter("@Valor", SqlDbType.Decimal, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Valor", 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("@OldIdBonificacion", SqlDbType.VarChar, 20, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdBonificacion", DataRowVersion.Original, null)); sqlCommandUpdate.Parameters.Add(new SqlParameter("@OldOrdinal", SqlDbType.BigInt, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Ordinal", DataRowVersion.Original, null)); SqlCommand sqlCommandDelete = new SqlCommand("Pr_tsa_BonificacionesDet_Delete", trx.Connection); sqlCommandDelete.Transaction = trx; sqlCommandDelete.CommandType = CommandType.StoredProcedure; sqlCommandDelete.Parameters.Add(new SqlParameter("@IdBonificacion", SqlDbType.VarChar, 20, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdBonificacion", DataRowVersion.Original, null)); sqlCommandDelete.Parameters.Add(new SqlParameter("@Ordinal", SqlDbType.BigInt, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Ordinal", 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_tsa_BonificacionesDet_Insert", trx.Connection); sqlCommandInsert.Transaction = trx; sqlCommandInsert.CommandType = CommandType.StoredProcedure; sqlCommandInsert.Parameters.Add(new SqlParameter("@IdBonificacion", SqlDbType.VarChar, 20, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "IdBonificacion", DataRowVersion.Current, null)); sqlCommandInsert.Parameters.Add(new SqlParameter("@Ordinal", SqlDbType.BigInt, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Ordinal", DataRowVersion.Current, null)); sqlCommandInsert.Parameters.Add(new SqlParameter("@Minimo", SqlDbType.Decimal, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Minimo", DataRowVersion.Current, null)); sqlCommandInsert.Parameters.Add(new SqlParameter("@Maximo", SqlDbType.Decimal, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Maximo", DataRowVersion.Current, null)); sqlCommandInsert.Parameters.Add(new SqlParameter("@Valor", SqlDbType.Decimal, 0, ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Valor", 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); }