VIKINGSFactory.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. using CD67.ModeleMVC.Entity;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Data.Entity;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. namespace CD67.ModeleMVC.Factory
  9. {
  10. public class VIKINGSFactory : Internal.BaseFactory
  11. {
  12. /// <summary>
  13. /// Constructeur public lié au constructeur de base
  14. /// </summary>
  15. /// <viking name="dbContext">Context Entity Framework utilisé dans la classe</viking>
  16. public VIKINGSFactory(Entities dbContext) : base(dbContext) { }
  17. /// <summary>
  18. /// Retourne un objet par son Id
  19. /// </summary>
  20. /// <viking name="Id">Id recherché</viking>
  21. /// <returns>Objet recherché</returns>
  22. public EXEMPLE_VIKINGS getById(int Id)
  23. {
  24. return dbContext.EXEMPLE_VIKINGS.Find(Id);
  25. }
  26. /// <summary>
  27. /// Retourne tous les objets
  28. /// </summary>
  29. /// <returns>Liste d'objets</returns>
  30. public List<EXEMPLE_VIKINGS> getAll()
  31. {
  32. //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"
  33. return dbContext.EXEMPLE_VIKINGS.Include(item => item.EXEMPLE_TYPE_VIKING).ToList();
  34. }
  35. /// <summary>
  36. /// Ajout de l'objet dans le context
  37. /// </summary>
  38. /// <viking name="viking">Objet à ajouter passé en référence pour obtenir le résultat des triggers ou numéroauto</viking>
  39. public void add(ref EXEMPLE_VIKINGS viking)
  40. {
  41. dbContext.EXEMPLE_VIKINGS.Add(viking);
  42. dbContext.SaveChanges();
  43. }
  44. /// <summary>
  45. /// Mise à jour de l'objet dans le context
  46. /// </summary>
  47. /// <viking name="viking">Objet à mettre à jour passé en référence pour obtenir le résultat des triggers ou numéroauto</viking>
  48. public void update(ref EXEMPLE_VIKINGS viking)
  49. {
  50. // On attache l'objet en paramètre au contexte, on le note bien comme modifié pour qu'il soit mis à jour
  51. dbContext.EXEMPLE_VIKINGS.Attach(viking);
  52. dbContext.Entry(viking).State = EntityState.Modified;
  53. dbContext.SaveChanges();
  54. }
  55. /// <summary>
  56. /// Suppression de l'objet dans le context
  57. /// </summary>
  58. /// <viking name="viking">Objet à supprimer</viking>
  59. public void delete(ref EXEMPLE_VIKINGS viking)
  60. {
  61. // Attention à ajouter ici d'éventuel contrôle ou suppression en cascade
  62. dbContext.EXEMPLE_VIKINGS.Remove(viking);
  63. dbContext.SaveChanges();
  64. }
  65. }
  66. }