public static void LoadFromFile(string sauvegarde) { ScoringSysteme scs = new ScoringSysteme(); scs.Nom = "Default"; scs.backMoins = 4; scs.frontMoins = 5; scs.gunMoins = scs.shoulderMoins = 3; scs.gunPlus = scs.frontPlus = scs.backPlus = scs.shoulderPlus = 10; scs.ratioMax = 20; scs.ratioPts = 10; LQModelLight.Entrainement entr = new LQModelLight.Entrainement(); // on charge les fiches existantes si elles existent if (File.Exists(sauvegarde)) { XmlSerializer xload = new XmlSerializer(typeof(LQModelLight.Entrainement)); using (StreamReader rd = new StreamReader(sauvegarde)) { entr = xload.Deserialize(rd) as LQModelLight.Entrainement; } } using (var db = new LQDMEntities()) { Centre c = new Centre(); c.CentreId = 0; c.Nom = "Maurepas"; Evenement ev = new Evenement(); ev.Nom = "Entrainement"; ev.Centre = c; ev.ScoringSysteme = scs; // on passe par une List<ScoreCard> pour que le Contains utilise le Equals perso List <ScoreCard> lstSc = ev.ScoreCard.ToList(); foreach (LQModelLight.ScoreCard s in entr.lstScores) { ScoreCard sd = copySc(s); if (!lstSc.Contains(sd)) { lstSc.Add(sd); } } ev.ScoreCard = lstSc; db.Evenement.Add(ev); db.Centre.Add(c); try { db.SaveChanges(); } catch (Exception ex) { throw ex; } } }
public bool AddScoreCard(ScoreCardEnveloppe enveloppe) { // connection bdd using (var context = new LQDMEntities()) { // on trouve le centre de rattachement Centre centre = context.Centre.Where(_ => _.CleExterne == enveloppe.CentreCle).FirstOrDefault(); if (centre == null) { // on essaye d'enregistrer une feuille sans identifier le centre return(false); } // on prends l'évenement (par défaut l'évenement Standard) Evenement e = context.Evenement.Where(_ => _.CentreCentreId == centre.CentreId && _.TypeEvenement == typeEvenement.Standard).FirstOrDefault(); LQModel.ScoreCard sc = new LQModel.ScoreCard(enveloppe.scoreCard, e); context.ScoreCard.Add(sc); context.SaveChanges(); } return(true); }