/*================================================================================ * INSERTAR GRÁFICO *================================================================================*/ /// <summary> /// Guarda la lista de gráficos que se le pasa en la base de datos, actualizando los modificados e insertando los nuevos. /// </summary> /// <param name="lista">Lista con los gráficos a guardar.</param> public static int InsertarGrafico(Grafico grafico) { int idgraficonuevo = -1; using (OleDbConnection conexion = new OleDbConnection(App.Global.CadenaConexion)) { string SQLInsertar = "INSERT INTO Graficos (IdGrupo, NoCalcular, Numero, DiaSemana, Turno, Inicio, Final, InicioPartido, " + "FinalPartido, Valoracion, Trabajadas, Acumuladas, Nocturnas, Desayuno, Comida, Cena, PlusCena, PlusLimpieza, PlusPaqueteria) " + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);"; OleDbCommand comando = new OleDbCommand(SQLInsertar, conexion); Grafico.ParseToCommand(comando, grafico); try { conexion.Open(); comando.ExecuteNonQuery(); grafico.Nuevo = false; grafico.Modificado = false; comando.CommandText = "SELECT @@IDENTITY"; idgraficonuevo = (int)comando.ExecuteScalar(); foreach (ValoracionGrafico valoracion in grafico.ListaValoraciones) { valoracion.IdGrafico = idgraficonuevo; valoracion.Nuevo = true; } BdValoracionesGraficos.GuardarValoraciones(grafico.ListaValoraciones.Where(v => v.Nuevo || v.Modificado)); } catch (Exception ex) { Utils.VerError("BdGraficos.InsertarGrafico", ex); } } return(idgraficonuevo); }
/*================================================================================ * GUARDAR GRÁFICOS *================================================================================*/ /// <summary> /// Guarda la lista de gráficos que se le pasa en la base de datos, actualizando los modificados e insertando los nuevos. /// </summary> /// <param name="lista">Lista con los gráficos a guardar.</param> public static void GuardarGraficos(IEnumerable <Grafico> 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 Graficos (IdGrupo, NoCalcular, Numero, DiaSemana, Turno, Inicio, Final, InicioPartido, " + "FinalPartido, Valoracion, Trabajadas, Acumuladas, Nocturnas, Desayuno, Comida, Cena, PlusCena, PlusLimpieza, PlusPaqueteria) " + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);"; string SQLActualizar = "UPDATE Graficos SET IdGrupo=?, NoCalcular=?, Numero=?, DiaSemana=?, Turno=?, Inicio=?, Final=?, " + "InicioPartido=?, FinalPartido=?, Valoracion=?, Trabajadas=?, " + "Acumuladas=?, Nocturnas=?, Desayuno=?, Comida=?, Cena=?, " + "PlusCena=?, PlusLimpieza=?, PlusPaqueteria=? WHERE Id=?;"; string SQLGetID = "SELECT @@IDENTITY;"; try { conexion.Open(); foreach (Grafico grafico in lista) { if (grafico.Nuevo) { OleDbCommand comando = new OleDbCommand(SQLInsertar, conexion); Grafico.ParseToCommand(comando, grafico); comando.ExecuteNonQuery(); comando.CommandText = SQLGetID; int idgrafico = (int)comando.ExecuteScalar(); foreach (ValoracionGrafico valoracion in grafico.ListaValoraciones) { valoracion.IdGrafico = idgrafico; } grafico.Id = idgrafico; grafico.Nuevo = false; grafico.Modificado = false; } else if (grafico.Modificado) { OleDbCommand comando = new OleDbCommand(SQLActualizar, conexion); Grafico.ParseToCommand(comando, grafico); comando.ExecuteNonQuery(); grafico.Modificado = false; } BdValoracionesGraficos.GuardarValoraciones(grafico.ListaValoraciones.Where(v => v.Nuevo || v.Modificado)); } } catch (Exception ex) { Utils.VerError("BdGraficos.GuardarGraficos", ex); } } }