CollegeFactory.cs 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using CD67.FicheCollege.Entity;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Data.Entity;
  7. using System.Reflection;
  8. namespace CD67.FicheCollege.Factory
  9. {
  10. public partial class CollegeFactory : Internal.BaseFactory<Entity.College>
  11. {
  12. public College clone_to_year(College college, int annee_id)
  13. {
  14. if (base.getAll().Where(c => c.Annee_Id == annee_id && c.TokenId == college.TokenId).Count() > 0)
  15. {
  16. throw new InvalidOperationException("Ce collège existe déjà pour l'année cible");
  17. }
  18. College clone = new College();
  19. // Nouvelle année
  20. clone.Annee_Id = annee_id;
  21. // On reprend les valeurs de tous les autres champs
  22. clone.CodeRne = college.CodeRne;
  23. clone.Libelle = college.Libelle;
  24. clone.Adresse = college.Adresse;
  25. clone.Code_Postal = college.Code_Postal;
  26. clone.TypeCollege_Id = college.TypeCollege_Id;
  27. clone.Commune_Insee = college.Commune_Insee;
  28. clone.Commune = college.Commune;
  29. clone.Canton = college.Canton;
  30. clone.Territoire_Id = college.Territoire_Id;
  31. clone.TAD = college.TAD;
  32. clone.CDC = college.CDC;
  33. clone.Tel = college.Tel;
  34. clone.Fax = college.Fax;
  35. clone.Email = college.Email;
  36. clone.PrincipalSid = college.PrincipalSid;
  37. clone.AdjointSid = college.AdjointSid;
  38. clone.Gestionnaire1Sid = college.Gestionnaire1Sid;
  39. clone.Gestionnaire2Sid = college.Gestionnaire2Sid;
  40. clone.TokenId = college.TokenId;
  41. clone.RestaurationType_Id = college.RestaurationType_Id;
  42. // enregistre le clone en base
  43. base.add(ref clone);
  44. return clone;
  45. }
  46. }
  47. }