153 lines
7.4 KiB
C#
153 lines
7.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Data.SqlClient;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
namespace GestionDeCommerceInfoClasseBDDNCouches.DataLayer
|
|
{
|
|
public class BDDAccesUtilisateur : BDDAccesBase
|
|
{
|
|
//private string sCHConnBDD;
|
|
//public string SCHConnBDD { get => sCHConnBDD; set => sCHConnBDD = value; }
|
|
|
|
//private SqlCommand CommandSQL = new SqlCommand();
|
|
|
|
public BDDAccesUtilisateur(string schConn) : base(schConn)
|
|
{
|
|
//SCHConnBDD = schConn;
|
|
//CommandSQL.Connection = new SqlConnection(schConn);
|
|
}
|
|
public List<Utilisateur> ListUtilisateurs(Utilisateur.Tri_E tri)
|
|
{
|
|
CommandSQL.Parameters.Clear();
|
|
List<Utilisateur> lstArt = new List<Utilisateur>();
|
|
CommandSQL.CommandType = System.Data.CommandType.StoredProcedure;
|
|
CommandSQL.CommandText = "ListUtilisateurs";
|
|
CommandSQL.Parameters.AddWithValue("@ID", Convert.DBNull);
|
|
if(tri == Utilisateur.Tri_E.NONE)
|
|
CommandSQL.Parameters.AddWithValue("@TRI", Convert.DBNull);
|
|
else
|
|
CommandSQL.Parameters.AddWithValue("@TRI", tri.ToString());
|
|
CommandSQL.Connection.Open();
|
|
SqlDataReader data = CommandSQL.ExecuteReader();
|
|
while (data.Read())
|
|
{
|
|
//Console.WriteLine(data.ToString()+"\n"+ (data["ID"].ToString()) +"__"+ (data["PrixHTVA"].ToString())+"__"+(data["Stock"].ToString())+"__"+ ((data["Visible"].ToString()))+"__"+ ((data["Actif"].ToString())));
|
|
//public Utilisateur(int id, string nom, string pre, string addr, string nCompte, string email, Type_E type)
|
|
|
|
lstArt.Add(new Utilisateur(int.Parse(data["ID"].ToString()), data["Nom"].ToString(),
|
|
(data["Prenom"].ToString()),
|
|
(data["Adresse"].ToString()),
|
|
(data["NCompte"].ToString()),
|
|
(data["email"].ToString()),
|
|
(Utilisateur.Type_E)Enum.Parse(typeof(Utilisateur.Type_E), data["type"].ToString())));
|
|
}
|
|
CommandSQL.Connection.Close();
|
|
return lstArt;
|
|
}
|
|
public Utilisateur LireUtilisateur(int id)
|
|
{
|
|
CommandSQL.Parameters.Clear();
|
|
Utilisateur lstArt;
|
|
CommandSQL.CommandType = System.Data.CommandType.StoredProcedure;
|
|
CommandSQL.CommandText = "ListUtilisateurs";
|
|
CommandSQL.Parameters.AddWithValue("@ID", id);
|
|
CommandSQL.Parameters.AddWithValue("@TRI", Convert.DBNull);
|
|
CommandSQL.Connection.Open();
|
|
SqlDataReader data = CommandSQL.ExecuteReader();
|
|
|
|
if (data.Read())
|
|
{
|
|
//Console.WriteLine(data.ToString()+"\n"+ (data["ID"].ToString()) +"__"+ (data["PrixHTVA"].ToString())+"__"+(data["Stock"].ToString())+"__"+ ((data["Visible"].ToString()))+"__"+ ((data["Actif"].ToString())));
|
|
lstArt = new Utilisateur(int.Parse(data["ID"].ToString()), data["Nom"].ToString(),
|
|
(data["Prenom"].ToString()),
|
|
(data["Adresse"].ToString()),
|
|
(data["NCompte"].ToString()),
|
|
(data["email"].ToString()),
|
|
(Utilisateur.Type_E)Enum.Parse(typeof(Utilisateur.Type_E), data["type"].ToString()));
|
|
CommandSQL.Connection.Close();
|
|
return lstArt;
|
|
}
|
|
else
|
|
{
|
|
CommandSQL.Connection.Close();
|
|
return null;
|
|
}
|
|
}
|
|
public int AjouterUtilisateur(Utilisateur utilisateur)
|
|
{
|
|
CommandSQL.Parameters.Clear();
|
|
CommandSQL.CommandType = System.Data.CommandType.StoredProcedure;
|
|
CommandSQL.CommandText = "AjoutUtilisateur";
|
|
CommandSQL.Parameters.Clear();
|
|
CommandSQL.Parameters.Add("ID", SqlDbType.Int);
|
|
Direction("ID", ParameterDirection.Output);
|
|
CommandSQL.Parameters.AddWithValue("@Nom", utilisateur.Nom);
|
|
CommandSQL.Parameters.AddWithValue("@Prenom", utilisateur.Prenom);
|
|
CommandSQL.Parameters.AddWithValue("@Adresse", utilisateur.Adresse);
|
|
CommandSQL.Parameters.AddWithValue("@NCompte", utilisateur.NCompte);
|
|
CommandSQL.Parameters.AddWithValue("@DateDeNaisance", (utilisateur.DateDeNaisance == null)? Convert.DBNull : utilisateur.DateDeNaisance.Value);
|
|
CommandSQL.Parameters.AddWithValue("@email", utilisateur.Email);
|
|
CommandSQL.Parameters.AddWithValue("@Type", (int)utilisateur.TypeUtilisateur);
|
|
CommandSQL.Connection.Open();
|
|
SqlDataReader data = CommandSQL.ExecuteReader();
|
|
int a = int.Parse(CommandSQL.Parameters["ID"].Value.ToString());
|
|
utilisateur.ID = a;
|
|
CommandSQL.Connection.Close();
|
|
return a;
|
|
}
|
|
public void AjouterUtilisateurs(List<Utilisateur> utilisateurs)
|
|
{
|
|
foreach (Utilisateur utilisateur in utilisateurs)
|
|
AjouterUtilisateur(utilisateur);
|
|
}
|
|
public void ModifUtilisateur(Utilisateur utilisateur)
|
|
{
|
|
CommandSQL.Parameters.Clear();
|
|
CommandSQL.CommandType = System.Data.CommandType.StoredProcedure;
|
|
CommandSQL.CommandText = "ModifUtilisateur";
|
|
CommandSQL.Parameters.AddWithValue("@ID", utilisateur.ID);
|
|
CommandSQL.Parameters.AddWithValue("@Nom", utilisateur.Nom);
|
|
CommandSQL.Parameters.AddWithValue("@Prenom", utilisateur.Prenom);
|
|
CommandSQL.Parameters.AddWithValue("@Adresse", utilisateur.Adresse);
|
|
CommandSQL.Parameters.AddWithValue("@NCompte", utilisateur.NCompte);
|
|
CommandSQL.Parameters.AddWithValue("@DateDeNaisance", (utilisateur.DateDeNaisance == null) ? Convert.DBNull : utilisateur.DateDeNaisance.Value);
|
|
CommandSQL.Parameters.AddWithValue("@email", utilisateur.Email);
|
|
CommandSQL.Parameters.AddWithValue("@Type", ((int)utilisateur.TypeUtilisateur));
|
|
CommandSQL.Parameters.AddWithValue("@Actif", true);
|
|
CommandSQL.Connection.Open();
|
|
SqlDataReader data = CommandSQL.ExecuteReader();
|
|
CommandSQL.Connection.Close();
|
|
}
|
|
public void ModifUtilisateurs(List<Utilisateur> utilisateurs)
|
|
{
|
|
foreach (Utilisateur utilisateur in utilisateurs)
|
|
ModifUtilisateur(utilisateur);
|
|
}
|
|
public void SuprimerUtilisateur(int id, bool definitivement)
|
|
{
|
|
CommandSQL.Parameters.Clear();
|
|
CommandSQL.CommandType = System.Data.CommandType.StoredProcedure;
|
|
CommandSQL.CommandText = "SuprimerUtilisateur";
|
|
CommandSQL.Parameters.AddWithValue("@ID", id);
|
|
CommandSQL.Parameters.AddWithValue("@definitivement", definitivement);
|
|
CommandSQL.Connection.Open();
|
|
SqlDataReader data = CommandSQL.ExecuteReader();
|
|
CommandSQL.Connection.Close();
|
|
}
|
|
public void SuprimerUtilisateur(Utilisateur utilisateur, bool definitivement)
|
|
{
|
|
SuprimerUtilisateur(utilisateur.ID, definitivement);
|
|
}
|
|
public void SuprimerUtilisateur(List<Utilisateur> utilisateurs, bool definitivement)
|
|
{
|
|
foreach (Utilisateur utilisateur in utilisateurs)
|
|
SuprimerUtilisateur(utilisateur.ID, definitivement);
|
|
}
|
|
}
|
|
}
|