LevelOS-Core/DAL/DALAgenda.cs

207 lines
7.7 KiB
C#

using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using MLL;
using Microsoft.Data.SqlClient;
namespace DALL
{
public class DALAgenda
{
private readonly string connectionString;
public DALAgenda(string conn)
{
connectionString = conn;
}
// 🔹 LISTAR
public List<ModeloAgenda> Listar()
{
var lista = new List<ModeloAgenda>();
try
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
string sql = "SELECT * FROM Agenda";
using (SqlCommand cmd = new SqlCommand(sql, conn))
using (SqlDataReader dr = cmd.ExecuteReader())
{
while (dr.Read())
{
lista.Add(new ModeloAgenda(
Convert.ToInt32(dr["ID_AGENDA"]),
dr["CODIGO"]?.ToString(),
dr["COMPROMISSO"]?.ToString(),
dr["dDATA"]?.ToString(),
dr["AVISAR"]?.ToString(),
dr["FUNC"]?.ToString(),
dr["DIA"]?.ToString(),
dr["HORA"]?.ToString(),
dr["REALIZADO"]?.ToString(),
dr["OS_VINC"]?.ToString()
));
}
}
}
}
catch
{
return new List<ModeloAgenda>();
}
return lista;
}//Listar agenda
// 🔹 INSERIR
public bool Inserir(ModeloAgenda obj)
{
try
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
string sql = @"INSERT INTO Agenda
(COMPROMISSO, dDATA, AVISAR, FUNC, DIA, HORA, REALIZADO, OS_VINC)
VALUES
(@COMPROMISSO, @dDATA, @AVISAR, @FUNC, @DIA, @HORA, @REALIZADO, @OS_VINC)";
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
//cmd.Parameters.AddWithValue("@CODIGO", obj.CODIGO ?? (object)DBNull.Value);
cmd.Parameters.AddWithValue("@COMPROMISSO", obj.COMPROMISSO ?? (object)DBNull.Value);
cmd.Parameters.AddWithValue("@dDATA", obj.dDATA ?? (object)DBNull.Value);
cmd.Parameters.AddWithValue("@AVISAR", obj.AVISAR ?? (object)DBNull.Value);
cmd.Parameters.AddWithValue("@FUNC", obj.FUNC ?? (object)DBNull.Value);
cmd.Parameters.AddWithValue("@DIA", obj.DIA ?? (object)DBNull.Value);
cmd.Parameters.AddWithValue("@HORA", obj.HORA ?? (object)DBNull.Value);
cmd.Parameters.AddWithValue("@REALIZADO", obj.REALIZADO ?? (object)DBNull.Value);
cmd.Parameters.AddWithValue("@OS_VINC", obj.OS_VINC ?? (object)DBNull.Value);
return cmd.ExecuteNonQuery() > 0;
}
}
}
catch
{
return false;
}
}//Inserir agenda
// 🔹 ALTERAR
public bool Alterar(ModeloAgenda obj)
{
try
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
string sql = @"UPDATE Agenda SET
CODIGO = @CODIGO,
COMPROMISSO = @COMPROMISSO,
dDATA = @dDATA,
AVISAR = @AVISAR,
FUNC = @FUNC,
DIA = @DIA,
HORA = @HORA,
REALIZADO = @REALIZADO,
OS_VINC = @OS_VINC
WHERE ID_AGENDA = @ID";
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddWithValue("@ID", obj.ID_AGENDA);
cmd.Parameters.AddWithValue("@CODIGO", obj.CODIGO ?? (object)DBNull.Value);
cmd.Parameters.AddWithValue("@COMPROMISSO", obj.COMPROMISSO ?? (object)DBNull.Value);
cmd.Parameters.AddWithValue("@dDATA", obj.dDATA ?? (object)DBNull.Value);
cmd.Parameters.AddWithValue("@AVISAR", obj.AVISAR ?? (object)DBNull.Value);
cmd.Parameters.AddWithValue("@FUNC", obj.FUNC ?? (object)DBNull.Value);
cmd.Parameters.AddWithValue("@DIA", obj.DIA ?? (object)DBNull.Value);
cmd.Parameters.AddWithValue("@HORA", obj.HORA ?? (object)DBNull.Value);
cmd.Parameters.AddWithValue("@REALIZADO", obj.REALIZADO ?? (object)DBNull.Value);
cmd.Parameters.AddWithValue("@OS_VINC", obj.OS_VINC ?? (object)DBNull.Value);
return cmd.ExecuteNonQuery() > 0;
}
}
}
catch
{
return false;
}
}//Alterar agenda
// 🔹 EXCLUIR
public bool Excluir(int id)
{
try
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
string sql = "DELETE FROM Agenda WHERE ID_AGENDA = @ID";
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddWithValue("@ID", id);
return cmd.ExecuteNonQuery() > 0;
}
}
}
catch
{
return false;
}
}//Excluir agenda
public ModeloAgenda CarregarModeloAgenda(int cod)
{
try
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
string sql = "SELECT * FROM Agenda WHERE ID_AGENDA = @ID";
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddWithValue("@ID", cod);
using (SqlDataReader dr = cmd.ExecuteReader())
{
if (dr.Read())
{
return new ModeloAgenda(
Convert.ToInt32(dr["ID_AGENDA"]),
dr["CODIGO"]?.ToString(),
dr["COMPROMISSO"]?.ToString(),
dr["dDATA"]?.ToString(),
dr["AVISAR"]?.ToString(),
dr["FUNC"]?.ToString(),
dr["DIA"]?.ToString(),
dr["HORA"]?.ToString(),
dr["REALIZADO"]?.ToString(),
dr["OS_VINC"]?.ToString()
);
}
}
}
}
}
catch
{
throw new Exception("Erro ao carregar compromisso da agenda.");
}
return null;
}//Carregar Modelo Agenda
}
}