PI_Assync_PLD/Data/AccessRepository.cs
Adriano Serighelli d656f07613 19/03/2025
2025-03-19 10:39:34 -03:00

41 lines
1.5 KiB
C#

using PI_Assync_PLD.Models;
using System.Data.OleDb;
public class AccessRepository : IDataRepository
{
private readonly string _connectionString;
public AccessRepository(string caminhoBD)
{
_connectionString = $"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={caminhoBD};Jet OLEDB:Database Password=gds21";
}
public DateTime ObterDataInicial()
{
using var conn = new OleDbConnection(_connectionString);
conn.Open();
string query = "SELECT MAX(Data) FROM PLD_comp";
using var cmd = new OleDbCommand(query, conn);
return cmd.ExecuteScalar() is DateTime data ? data.AddDays(1) : new DateTime(2022, 01, 01);
}
public void SalvarPLDs(List<PLDModel> plds)
{
using var conn = new OleDbConnection(_connectionString);
conn.Open();
foreach (var pld in plds)
{
string query = "INSERT INTO PLD_comp (Data, Hora, Submercado, Valor, Mes_ref, Dia_da_semana) " +
"VALUES (@Data, @Hora, @Submercado, @Valor, @MesRef, @DiaSemana)";
using var cmd = new OleDbCommand(query, conn);
cmd.Parameters.AddWithValue("@Data", pld.Dia);
cmd.Parameters.AddWithValue("@Hora", pld.Hora);
cmd.Parameters.AddWithValue("@Submercado", pld.Submercado);
cmd.Parameters.AddWithValue("@Valor", pld.Valor);
cmd.Parameters.AddWithValue("@MesRef", pld.Mes);
cmd.Parameters.AddWithValue("@DiaSemana", pld.DiaSemana);
cmd.ExecuteNonQuery();
}
}
}