132 lines
5.0 KiB
C#
132 lines
5.0 KiB
C#
|
#region Ressources extérieures
|
||
|
using System;
|
||
|
using System.Collections.Generic;
|
||
|
using System.Text;
|
||
|
using System.Data;
|
||
|
using System.Data.SqlClient;
|
||
|
using System.Data.SqlTypes;
|
||
|
using ProjetTheAlone.Classes;
|
||
|
#endregion
|
||
|
|
||
|
namespace ProjetTheAlone.Acces
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// Couche d'accès aux données (Data Access Layer)
|
||
|
/// </summary>
|
||
|
public class A_T_plat : ADBase
|
||
|
{
|
||
|
public enum TypePlat_E { soupe, plat, dessert}
|
||
|
#region Constructeurs
|
||
|
public A_T_plat(string sChaineConnexion)
|
||
|
: base(sChaineConnexion)
|
||
|
{ }
|
||
|
#endregion
|
||
|
public int Ajouter(string P_nom, byte?[] P_img, int? ID_typePlat)
|
||
|
{
|
||
|
CreerCommande("AjouterT_plat");
|
||
|
int res = 0;
|
||
|
Commande.Parameters.Add("ID_plat", SqlDbType.Int);
|
||
|
Direction("ID_plat", ParameterDirection.Output);
|
||
|
if(P_nom == null) Commande.Parameters.AddWithValue("@P_nom", Convert.DBNull);
|
||
|
else Commande.Parameters.AddWithValue("@P_nom", P_nom);
|
||
|
if(P_img == null) Commande.Parameters.AddWithValue("@P_img", Convert.DBNull);
|
||
|
else Commande.Parameters.AddWithValue("@P_img", SqlDbType.Image).Value = Outil.toByteArray.Convert(P_img);
|
||
|
if(ID_typePlat == null) Commande.Parameters.AddWithValue("@ID_typePlat", Convert.DBNull);
|
||
|
else Commande.Parameters.AddWithValue("@ID_typePlat", ID_typePlat);
|
||
|
Commande.Connection.Open();
|
||
|
Commande.ExecuteNonQuery();
|
||
|
res = int.Parse(LireParametre("ID_plat"));
|
||
|
Commande.Connection.Close();
|
||
|
return res;
|
||
|
}
|
||
|
public int Modifier(int ID_plat, string P_nom, byte?[] P_img, int? ID_typePlat)
|
||
|
{
|
||
|
CreerCommande("ModifierT_plat");
|
||
|
int res = 0;
|
||
|
Commande.Parameters.AddWithValue("@ID_plat", ID_plat);
|
||
|
if(P_nom == null) Commande.Parameters.AddWithValue("@P_nom", Convert.DBNull);
|
||
|
else Commande.Parameters.AddWithValue("@P_nom", P_nom);
|
||
|
if(P_img == null) Commande.Parameters.AddWithValue("@P_img", Convert.DBNull);
|
||
|
else Commande.Parameters.AddWithValue("@P_img", SqlDbType.Image).Value = Outil.toByteArray.Convert(P_img);
|
||
|
if (ID_typePlat == null) Commande.Parameters.AddWithValue("@ID_typePlat", Convert.DBNull);
|
||
|
else Commande.Parameters.AddWithValue("@ID_typePlat", ID_typePlat);
|
||
|
Commande.Connection.Open();
|
||
|
Commande.ExecuteNonQuery();
|
||
|
Commande.Connection.Close();
|
||
|
return res;
|
||
|
}
|
||
|
public List<C_T_plat> Lire(string Index)
|
||
|
{
|
||
|
CreerCommande("SelectionnerT_plat");
|
||
|
Commande.Parameters.AddWithValue("@Index", Index);
|
||
|
Commande.Connection.Open();
|
||
|
SqlDataReader dr = Commande.ExecuteReader();
|
||
|
List<C_T_plat> res = new List<C_T_plat>();
|
||
|
while (dr.Read())
|
||
|
{
|
||
|
C_T_plat tmp = new C_T_plat();
|
||
|
tmp.ID_plat = int.Parse(dr["ID_plat"].ToString());
|
||
|
if(dr["P_nom"] != DBNull.Value) tmp.P_nom = (dr["P_nom"].ToString());
|
||
|
if(dr["P_img"] != DBNull.Value) tmp.P_img = Outil.toNullableByteArray.Convert((byte[])dr["P_img"]);
|
||
|
var x = dr["ID_typePlat"];
|
||
|
if (dr["ID_typePlat"] != DBNull.Value) tmp.ID_typePlat = (C_T_plat.TypePlat_E)(int.Parse(dr["ID_typePlat"].ToString()));
|
||
|
res.Add(tmp);
|
||
|
}
|
||
|
dr.Close();
|
||
|
Commande.Connection.Close();
|
||
|
return res;
|
||
|
}
|
||
|
/// <summary>
|
||
|
/// Permet de récupérer la liste des plats d'un repas
|
||
|
/// </summary>
|
||
|
public List<C_T_plat> ListPlat(int ID_repa)
|
||
|
{
|
||
|
CreerCommande("ListPlat");
|
||
|
Commande.Parameters.AddWithValue("@ID_repa", ID_repa);
|
||
|
Commande.Connection.Open();
|
||
|
SqlDataReader dr = Commande.ExecuteReader();
|
||
|
List<C_T_plat> res = new List<C_T_plat>();
|
||
|
while (dr.Read())
|
||
|
{
|
||
|
C_T_plat tmp = new C_T_plat();
|
||
|
tmp.ID_plat = int.Parse(dr["ID_plat"].ToString());
|
||
|
if (dr["P_nom"] != DBNull.Value) tmp.P_nom = (dr["P_nom"].ToString());
|
||
|
if (dr["P_img"] != DBNull.Value) tmp.P_img = (byte?[])(dr["P_img"]);
|
||
|
if (dr["ID_typePlat"] != DBNull.Value) tmp.ID_typePlat = (C_T_plat.TypePlat_E)int.Parse(dr["ID_typePlat"].ToString());
|
||
|
res.Add(tmp);
|
||
|
}
|
||
|
dr.Close();
|
||
|
Commande.Connection.Close();
|
||
|
return res;
|
||
|
}
|
||
|
public C_T_plat Lire_ID(int ID_plat)
|
||
|
{
|
||
|
CreerCommande("SelectionnerT_plat_ID");
|
||
|
Commande.Parameters.AddWithValue("@ID_plat", ID_plat);
|
||
|
Commande.Connection.Open();
|
||
|
SqlDataReader dr = Commande.ExecuteReader();
|
||
|
C_T_plat res = new C_T_plat();
|
||
|
while (dr.Read())
|
||
|
{
|
||
|
res.ID_plat = int.Parse(dr["ID_plat"].ToString());
|
||
|
if(dr["P_nom"] != DBNull.Value) res.P_nom = (dr["P_nom"].ToString());
|
||
|
if(dr["P_img"] != DBNull.Value) res.P_img = Outil.toNullableByteArray.Convert((byte[])dr["P_img"]);
|
||
|
if(dr["ID_typePlat"] != DBNull.Value) res.ID_typePlat = (C_T_plat.TypePlat_E)int.Parse(dr["ID_typePlat"].ToString());
|
||
|
}
|
||
|
dr.Close();
|
||
|
Commande.Connection.Close();
|
||
|
return res;
|
||
|
}
|
||
|
public int Supprimer(int ID_plat)
|
||
|
{
|
||
|
CreerCommande("SupprimerT_plat");
|
||
|
int res = 0;
|
||
|
Commande.Parameters.AddWithValue("@ID_plat", ID_plat);
|
||
|
Commande.Connection.Open();
|
||
|
res = Commande.ExecuteNonQuery();
|
||
|
Commande.Connection.Close();
|
||
|
return res;
|
||
|
}
|
||
|
}
|
||
|
}
|