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