GestionDeDommerceInformatiq.../GestionDeCommerceInfoClasse.../DataLayer/BDDAccesUtilisateur.cs

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);
}
}
}