41 lines
1.5 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|