| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- 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 VIKINGSFactory : Internal.BaseFactory
- {
- /// <summary>
- /// Constructeur public lié au constructeur de base
- /// </summary>
- /// <viking name="dbContext">Context Entity Framework utilisé dans la classe</viking>
- public VIKINGSFactory(Entities dbContext) : base(dbContext) { }
- /// <summary>
- /// Retourne un objet par son Id
- /// </summary>
- /// <viking name="Id">Id recherché</viking>
- /// <returns>Objet recherché</returns>
- public EXEMPLE_VIKINGS getById(int Id)
- {
- return dbContext.EXEMPLE_VIKINGS.Find(Id);
- }
- /// <summary>
- /// Retourne tous les objets
- /// </summary>
- /// <returns>Liste d'objets</returns>
- public List<EXEMPLE_VIKINGS> getAll()
- {
- //Ce n'est pas nécessaire ici (un lazy loading est présent par défaut), mais j'ai ajouté un include explicite pour charger les sous-objets "EXEMPLE_TYPE_VIKING"
- return dbContext.EXEMPLE_VIKINGS.Include(item => item.EXEMPLE_TYPE_VIKING).ToList();
- }
- /// <summary>
- /// Ajout de l'objet dans le context
- /// </summary>
- /// <viking name="viking">Objet à ajouter passé en référence pour obtenir le résultat des triggers ou numéroauto</viking>
- public void add(ref EXEMPLE_VIKINGS viking)
- {
- dbContext.EXEMPLE_VIKINGS.Add(viking);
- dbContext.SaveChanges();
- }
- /// <summary>
- /// Mise à jour de l'objet dans le context
- /// </summary>
- /// <viking name="viking">Objet à mettre à jour passé en référence pour obtenir le résultat des triggers ou numéroauto</viking>
- public void update(ref EXEMPLE_VIKINGS viking)
- {
- // On attache l'objet en paramètre au contexte, on le note bien comme modifié pour qu'il soit mis à jour
- dbContext.EXEMPLE_VIKINGS.Attach(viking);
- dbContext.Entry(viking).State = EntityState.Modified;
- dbContext.SaveChanges();
- }
- /// <summary>
- /// Suppression de l'objet dans le context
- /// </summary>
- /// <viking name="viking">Objet à supprimer</viking>
- public void delete(ref EXEMPLE_VIKINGS viking)
- {
- // Attention à ajouter ici d'éventuel contrôle ou suppression en cascade
- dbContext.EXEMPLE_VIKINGS.Remove(viking);
- dbContext.SaveChanges();
- }
- }
- }
|