Beispiel #1
0
        /*================================================================================
         * 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);
        }
Beispiel #2
0
        /*================================================================================
         * 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);
                }
            }
        }