using CD67.ModeleMVC.Entity;
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CD67.ModeleMVC.Factory
{
public class PARAMFactory : Internal.BaseFactory
{
///
/// Constructeur public lié au constructeur de base
///
/// Context Entity Framework utilisé dans la classe
public PARAMFactory(Entities dbContext) : base(dbContext) { }
///
/// Retourne un objet par son Id
///
/// Id recherché
/// Objet recherché
public PARAM getById(string Id)
{
return dbContext.PARAM.Find(Id);
}
///
/// Retourne tous les objets
///
/// Liste d'objets
public List getAll()
{
return dbContext.PARAM.ToList();
}
///
/// Ajout de l'objet dans le context
///
/// Objet à ajouter passé en référence pour obtenir le résultat des triggers ou numéroauto
public void add(ref PARAM param)
{
dbContext.PARAM.Add(param);
dbContext.SaveChanges();
}
///
/// Mise à jour de l'objet dans le context
///
/// Objet à mettre à jour passé en référence pour obtenir le résultat des triggers ou numéroauto
public void update(ref PARAM param)
{
// On attache l'objet en paramètre au contexte, on le note bien comme modifié pour qu'il soit mis à jour
dbContext.PARAM.Attach(param);
dbContext.Entry(param).State = EntityState.Modified;
dbContext.SaveChanges();
}
///
/// Suppression de l'objet dans le context
///
/// Objet à supprimer
public void delete(ref PARAM param)
{
// Attention à ajouter ici d'éventuel contrôle ou suppression en cascade
dbContext.PARAM.Remove(param);
dbContext.SaveChanges();
}
}
}