/// <summary> /// Ajoute un nouveau suivi /// </summary> /// <param name="p"></param> public static void nouveauSuivi(Suivi suivi) { int idPatient = suivi.PatientId; int idSpecialiste = suivi.SpecialisteId; DateTime debut = suivi.Debut; DateTime fin = suivi.Fin; bool adressage = suivi.Adressage; using (IDbConnection connection = new SQLiteConnection(DBAccess.connectionString())) { connection.Execute("INSERT INTO SUIVI (PatientId, SpecialisteId, Debut, Fin, Adressage) VALUES (@idPatient, @idSpecialiste, @debut, @fin, @adressage)", new { idPatient, idSpecialiste, debut, fin, adressage }); } }
// To protect from overposting attacks, please enable the specific properties you want to bind to, for // more details see http://go.microsoft.com/fwlink/?LinkId=317598. public async Task <IActionResult> Create(int?id) { if (id == null) { return(NotFound()); } else { Patient patient = await _context.Patient.Where(x => x.Id == id).SingleAsync(); var listeDomaines = await _context.Domaine.ToListAsync(); PatientUser patientUserAjoute = new PatientUser { Patient = patient, ApplicationUser = await _userManager.GetUserAsync(User) }; _context.Add(patientUserAjoute); foreach (Domaine d in listeDomaines) { Suivi suiviAjoute = new Suivi { Patient = patient, Domaine = d }; _context.Add(suiviAjoute); await _context.SaveChangesAsync(); var listeDomaineCompetences = await _context.DomaineCompetence.Where(x => x.Domaine == d) .Include(domaineComp => domaineComp.Competence) .ToListAsync(); foreach (DomaineCompetence dc in listeDomaineCompetences) { var uneCompetence = dc.Competence; SuiviCompetence suiviCompetenceAjoute = new SuiviCompetence { Competence = uneCompetence, Suivi = suiviAjoute, Etat = EtatEnum.e1 }; _context.Add(suiviCompetenceAjoute); await _context.SaveChangesAsync(); var listeCompetencePrerequis = await _context.CompetencePrerequis.Where(x => x.Competence == uneCompetence) .Include(compPrerequis => compPrerequis.Prerequis) .ToListAsync(); foreach (CompetencePrerequis cp in listeCompetencePrerequis) { var unPrerequis = cp.Prerequis; SuiviPrerequis suiviPrerequisAjoute = new SuiviPrerequis { Prerequis = unPrerequis, SuiviCompetence = suiviCompetenceAjoute, Etat = EtatEnum.e1 }; _context.Add(suiviPrerequisAjoute); await _context.SaveChangesAsync(); var listePrerequisNiveaux = await _context.PrerequisNiveau.Where(x => x.Prerequis == unPrerequis) .Include(prerequisNiv => prerequisNiv.Niveau) .ToListAsync(); foreach (PrerequisNiveau pn in listePrerequisNiveaux) { var unNiveau = pn.Niveau; SuiviNiveau suiviNiveauAjoute = new SuiviNiveau { Niveau = unNiveau, SuiviPrerequis = suiviPrerequisAjoute, Etat = EtatEnum.e1 }; _context.Add(suiviNiveauAjoute); int nbSuiviExercicesDefaut = 5; for (int i = 0; i < nbSuiviExercicesDefaut; i++) { SuiviExercice suiviExerciceAjoute = new SuiviExercice { Valide = false, SuiviNiveau = suiviNiveauAjoute, }; _context.Add(suiviExerciceAjoute); } await _context.SaveChangesAsync(); } } } } ; await _context.SaveChangesAsync(); return(RedirectToAction("Index", "Patients")); } }