/*================================================================================ * INSERTAR REGULACION *================================================================================*/ /// <summary> /// Inserta una regulación en la base de datos. /// </summary> /// <param name="regulacion">Regulación a insertar.</param> /// <returns>Id asignado a la nueva regulación.</returns> public static int InsertarRegulacion(RegulacionConductor regulacion) { // Si la conexión no existe o la valoracion es nula, devolvemos nulo. if (regulacion == null) { return(-1); } int resultado = -1; using (OleDbConnection conexion = new OleDbConnection(App.Global.CadenaConexion)) { string SQLInsertar = "INSERT INTO Regulaciones (IdConductor, Codigo, Fecha, Horas, Descansos, Motivo) " + "VALUES (?, ?, ?, ?, ?, ?);"; OleDbCommand comando = new OleDbCommand(SQLInsertar, conexion); RegulacionConductor.ParseToCommand(comando, regulacion); try { conexion.Open(); comando.ExecuteNonQuery(); comando.CommandText = "SELECT @@IDENTITY"; resultado = (int)comando.ExecuteScalar(); } catch (Exception ex) { Utils.VerError("BdRgulacionConductor.InsertarRegulacion", ex); } } return(resultado); }
/*================================================================================ * GUARDAR REGULACIONES *================================================================================*/ /// <summary> /// Guarda la lista de regulaciones que se le pasa en la base de datos, actualizando las modificadas e insertando las nuevas. /// </summary> /// <param name="lista">Lista con las regulaciones a guardar.</param> public static void GuardarRegulaciones(IEnumerable <RegulacionConductor> lista) { // Si la lista está vacía, salimos. if (lista == null || lista.Count() == 0) { return; } using (OleDbConnection conexion = new OleDbConnection(App.Global.CadenaConexion)) { string SQLInsertar = "INSERT INTO Regulaciones (IdConductor, Codigo, Fecha, Horas, Descansos, Motivo) " + "VALUES (?, ?, ?, ?, ?, ?);"; string SQLActualizar = "UPDATE Regulaciones SET IdConductor=?, Codigo=?, Fecha=?, Horas=?, Descansos=?, " + "Motivo=? WHERE Id=?;"; try { conexion.Open(); foreach (RegulacionConductor regulacion in lista) { if (regulacion.Nuevo) { OleDbCommand comando = new OleDbCommand(SQLInsertar, conexion); RegulacionConductor.ParseToCommand(comando, regulacion); comando.ExecuteNonQuery(); regulacion.Nuevo = false; regulacion.Modificado = false; } else if (regulacion.Modificado) { OleDbCommand comando = new OleDbCommand(SQLActualizar, conexion); RegulacionConductor.ParseToCommand(comando, regulacion); comando.ExecuteNonQuery(); regulacion.Modificado = false; } } } catch (Exception ex) { Utils.VerError("BdRgulacionConductor.GuardarRegulaciones", ex); } } }