159 lines
7.2 KiB
C#
159 lines
7.2 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 BDDAccesArticle : BDDAccesBase
|
|
{
|
|
//private string sCHConnBDD;
|
|
//public string SCHConnBDD { get => sCHConnBDD; set => sCHConnBDD = value; }
|
|
|
|
//private SqlCommand CommandSQL = new SqlCommand();
|
|
|
|
public BDDAccesArticle(string schConn) : base(schConn)
|
|
{
|
|
//SCHConnBDD = schConn;
|
|
//CommandSQL.Connection = new SqlConnection(schConn);
|
|
}
|
|
public List<Article> ListArticles()
|
|
{
|
|
CommandSQL.Parameters.Clear();
|
|
List<Article> lstArt = new List<Article>();
|
|
CommandSQL.CommandType = System.Data.CommandType.StoredProcedure;
|
|
CommandSQL.CommandText = "ListArticle";
|
|
CommandSQL.Parameters.AddWithValue("@ID", Convert.DBNull);
|
|
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())));
|
|
lstArt.Add(new Article(int.Parse(data["ID"].ToString()), data["Designation"].ToString(),
|
|
float.Parse(data["PrixHTVA"].ToString()),
|
|
int.Parse(data["Stock"].ToString()),
|
|
(bool.Parse(data["Visible"].ToString())),
|
|
(bool.Parse(data["Actif"].ToString()))));
|
|
}
|
|
CommandSQL.Connection.Close();
|
|
return lstArt;
|
|
}
|
|
public List<Article> VerifStock(int alerteStock)
|
|
{
|
|
CommandSQL.Parameters.Clear();
|
|
List<Article> lstArt = new List<Article>();
|
|
CommandSQL.CommandType = System.Data.CommandType.StoredProcedure;
|
|
CommandSQL.CommandText = "StockUnder";
|
|
CommandSQL.Parameters.AddWithValue("@Stock", alerteStock);
|
|
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())));
|
|
lstArt.Add(new Article(int.Parse(data["ID"].ToString()), data["Designation"].ToString(),
|
|
float.Parse(data["PrixHTVA"].ToString()),
|
|
int.Parse(data["Stock"].ToString()),
|
|
(bool.Parse(data["Visible"].ToString())),
|
|
(bool.Parse(data["Actif"].ToString()))));
|
|
}
|
|
CommandSQL.Connection.Close();
|
|
return lstArt;
|
|
}
|
|
public Article LireArticle(int id)
|
|
{
|
|
CommandSQL.Parameters.Clear();
|
|
Article lstArt;
|
|
CommandSQL.CommandType = System.Data.CommandType.StoredProcedure;
|
|
CommandSQL.CommandText = "ListArticle";
|
|
CommandSQL.Parameters.AddWithValue("@ID", id);
|
|
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 Article(int.Parse(data["ID"].ToString()), data["Designation"].ToString(),
|
|
float.Parse(data["PrixHTVA"].ToString()),
|
|
int.Parse(data["Stock"].ToString()),
|
|
(bool.Parse(data["Visible"].ToString())),
|
|
(bool.Parse(data["Actif"].ToString())));
|
|
CommandSQL.Connection.Close();
|
|
return lstArt;
|
|
}
|
|
else
|
|
{
|
|
CommandSQL.Connection.Close();
|
|
return null;
|
|
}
|
|
}
|
|
public int AjouterArticle(Article article)
|
|
{
|
|
CommandSQL.CommandType = System.Data.CommandType.StoredProcedure;
|
|
CommandSQL.CommandText = "AjoutArticle";
|
|
CommandSQL.Parameters.Clear();
|
|
CommandSQL.Parameters.Add("ID", SqlDbType.Int);
|
|
Direction("ID", ParameterDirection.Output);
|
|
CommandSQL.Parameters.AddWithValue("@Designation",article.Designation);
|
|
CommandSQL.Parameters.AddWithValue("@PrixHTVA",article.PrixHTVA);
|
|
CommandSQL.Parameters.AddWithValue("@Stock",article.Stock);
|
|
CommandSQL.Parameters.AddWithValue("@Visible",article.Visible);
|
|
CommandSQL.Parameters.AddWithValue("@Actif",article.Actif);
|
|
CommandSQL.Connection.Open();
|
|
SqlDataReader data = CommandSQL.ExecuteReader();
|
|
int a = int.Parse(CommandSQL.Parameters["ID"].Value.ToString());
|
|
article.ID = a;
|
|
CommandSQL.Connection.Close();
|
|
return a;
|
|
}
|
|
public void AjouterArticles(List<Article> articles)
|
|
{
|
|
foreach (Article article in articles)
|
|
article.ID = AjouterArticle(article);
|
|
}
|
|
public void ModifArticle(Article article)
|
|
{
|
|
CommandSQL.Parameters.Clear();
|
|
CommandSQL.CommandType = System.Data.CommandType.StoredProcedure;
|
|
CommandSQL.CommandText = "ModifArticle";
|
|
CommandSQL.Parameters.AddWithValue("@ID", article.ID);
|
|
CommandSQL.Parameters.AddWithValue("@Designation", article.Designation);
|
|
CommandSQL.Parameters.AddWithValue("@PrixHTVA", article.PrixHTVA);
|
|
CommandSQL.Parameters.AddWithValue("@Stock", article.Stock);
|
|
CommandSQL.Parameters.AddWithValue("@Visible", article.Visible);
|
|
CommandSQL.Parameters.AddWithValue("@Actif", article.Actif);
|
|
CommandSQL.Connection.Open();
|
|
SqlDataReader data = CommandSQL.ExecuteReader();
|
|
CommandSQL.Connection.Close();
|
|
}
|
|
public void ModifArticles(List<Article> articles)
|
|
{
|
|
foreach (Article article in articles)
|
|
ModifArticle(article);
|
|
}
|
|
public void SuprimerArticle(int id, bool definitivement)
|
|
{
|
|
CommandSQL.Parameters.Clear();
|
|
CommandSQL.CommandType = System.Data.CommandType.StoredProcedure;
|
|
CommandSQL.CommandText = "SuprimerArticle";
|
|
CommandSQL.Parameters.AddWithValue("@ID", id);
|
|
CommandSQL.Parameters.AddWithValue("@definitivement", definitivement);
|
|
CommandSQL.Connection.Open();
|
|
SqlDataReader data = CommandSQL.ExecuteReader();
|
|
CommandSQL.Connection.Close();
|
|
}
|
|
public void SuprimerArticle(Article article, bool definitivement)
|
|
{
|
|
SuprimerArticle(article.ID, definitivement);
|
|
}
|
|
public void SuprimerArticle(List<Article> articles, bool definitivement)
|
|
{
|
|
foreach (Article article in articles)
|
|
SuprimerArticle(article.ID, definitivement);
|
|
}
|
|
}
|
|
}
|