예제 #1
0
        /*================================================================================
         * GET CALENDARIOS
         *================================================================================*/
        public static ObservableCollection <Calendario> GetCalendarios(int año, int mes)
        {
            // Creamos la lista y el comando que extrae los gráficos.
            ObservableCollection <Calendario> lista = new ObservableCollection <Calendario>();

            using (OleDbConnection conexion = new OleDbConnection(App.Global.CadenaConexion))
            {
                // Creamos el comando SQL.
                //string comandoSQL = "SELECT Calendarios.*, Conductores.Indefinido " +
                //					"FROM Calendarios LEFT JOIN Conductores ON Calendarios.IdConductor = Conductores.Id " +
                //					"WHERE Year(Calendarios.Fecha) = ? AND Month(Calendarios.Fecha) = ? " +
                //					"ORDER BY Calendarios.IdConductor;";
                string comandoSQL = "GetCalendarios";

                // Elementos para la consulta de calendarios y días de calendario.
                OleDbCommand comando = new OleDbCommand(comandoSQL, conexion);
                comando.CommandType = System.Data.CommandType.StoredProcedure;
                comando.Parameters.AddWithValue("año", año);
                comando.Parameters.AddWithValue("mes", mes);
                OleDbDataReader lector = null;

                try {
                    // Extraemos los calendarios.
                    conexion.Open();
                    lector = comando.ExecuteReader();

                    // Por cada calendario extraido...
                    while (lector.Read())
                    {
                        // Extraemos el calendario y sus días
                        Calendario calendario = new Calendario(lector);
                        calendario.ListaDias = BdDiasCalendario.GetDiasCalendario(calendario.Id);
                        // Extraemos los datos del conductor.
                        calendario.ConductorIndefinido = lector.ToBool("Indefinido");
                        // Añadimos el calendario a la lista.
                        lista.Add(calendario);
                        calendario.Nuevo      = false;
                        calendario.Modificado = false;
                        if (calendario.HayDiasNuevos)
                        {
                            calendario.Modificado = true;
                        }
                    }
                } catch (Exception ex) {
                    Utils.VerError("BdCalendarios.GetCalendarios", ex);
                } finally {
                    lector.Close();
                }
            }
            // Devolvemos la lista.
            return(lista);
        }
예제 #2
0
        /*================================================================================
         * GET CALENDARIO CONDUCTOR
         *================================================================================*/
        public static Calendario GetCalendarioConductor(int año, int mes, int matricula)
        {
            // Creamos la lista y el comando que extrae los gráficos.
            Calendario resultado = null;

            using (OleDbConnection conexion = new OleDbConnection(App.Global.CadenaConexion)) {
                // Creamos el comando SQL.
                string comandoSQL = "SELECT Calendarios.*, Conductores.Indefinido " +
                                    "FROM Calendarios LEFT JOIN Conductores ON Calendarios.IdConductor = Conductores.Id " +
                                    "WHERE Year(Calendarios.Fecha) = ? AND Month(Calendarios.Fecha) = ? AND Calendarios.IdConductor = ? ;";

                // Elementos para la consulta de calendarios y días de calendario.
                OleDbCommand comando = new OleDbCommand(comandoSQL, conexion);
                comando.Parameters.AddWithValue("año", año);
                comando.Parameters.AddWithValue("mes", mes);
                comando.Parameters.AddWithValue("matricula", matricula);
                OleDbDataReader lector = null;

                try {
                    // Extraemos los calendarios.
                    conexion.Open();
                    lector = comando.ExecuteReader();

                    // Por cada calendario extraido...
                    if (lector.Read())
                    {
                        // Extraemos el calendario y sus días
                        resultado           = new Calendario(lector);
                        resultado.ListaDias = BdDiasCalendario.GetDiasCalendario(resultado.Id);
                        // Extraemos los datos del conductor.
                        resultado.ConductorIndefinido = lector.ToBool("Indefinido");
                        resultado.Nuevo      = false;
                        resultado.Modificado = false;
                    }
                } catch (Exception ex) {
                    Utils.VerError("BdCalendarios.GetCalendarioConductor", ex);
                } finally {
                    lector.Close();
                }
            }
            // Devolvemos la lista.
            return(resultado);
        }