BaseFactory.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. using CD67.ModeleMVC.Entity;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. namespace CD67.ModeleMVC.Factory.Internal
  8. {
  9. /// <summary>
  10. /// Classe de base pour toutes les classes spécialisées de la couche de service
  11. /// </summary>
  12. public class BaseFactory : IDisposable
  13. {
  14. /// <summary>
  15. /// Context Entity Framework utilisé dans la classe
  16. /// </summary>
  17. protected Entities dbContext;
  18. /// <summary>
  19. /// Constructeur sans argument pour les classes sans contexts Entity
  20. /// </summary>
  21. public BaseFactory() { }
  22. /// <summary>
  23. /// Constructeur avec initialisation du context Entity Framework
  24. /// </summary>
  25. /// <param name="dbContext">Context Entity Framework</param>
  26. public BaseFactory(Entities dbContext)
  27. {
  28. this.dbContext = dbContext;
  29. }
  30. #region Dispose
  31. private bool disposed = false;
  32. /// <summary>
  33. /// Fonction pour détruire proprement la classe après utilisation
  34. /// </summary>
  35. /// <param name="disposing"></param>
  36. protected virtual void Dispose(bool disposing)
  37. {
  38. if (!this.disposed)
  39. {
  40. if (disposing)
  41. {
  42. dbContext.Dispose();
  43. }
  44. }
  45. this.disposed = true;
  46. }
  47. /// <summary>
  48. /// Fonction pour détruire proprement la classe après utilisation
  49. /// </summary>
  50. public void Dispose()
  51. {
  52. Dispose(true);
  53. GC.SuppressFinalize(this);
  54. }
  55. #endregion
  56. }
  57. }