public static List<SituationAccident> GetCirconstances(SituationVehicule sit) { var lst = new List<SituationAccident>(); switch (sit) { case SituationVehicule.MemeDirectionMemeChaussee: lst.Add(SituationAccident.CirculantMemeVoie); lst.Add(SituationAccident.VirageChausseeLaterale); lst.Add(SituationAccident.VehiculePrenantStationnement); lst.Add(SituationAccident.VehiculeQuittantStationnement); lst.Add(SituationAccident.VehiculeEnStationnement); lst.Add(SituationAccident.VehiculeEnStationnementIllegal); break; case SituationVehicule.MemeDirectionVoieDifferente: lst.Add(SituationAccident.CollisionLaterale); lst.Add(SituationAccident.ChangementVoie); lst.Add(SituationAccident.DepassementChausseeLaterale); lst.Add(SituationAccident.DepassementChausseeLateraleIntersection); break; case SituationVehicule.SensInverse: lst.Add(SituationAccident.VehiculeChevauchantAxeMediant); lst.Add(SituationAccident.VehiculesPositionIndeterminee); lst.Add(SituationAccident.VehiculeChevauchantLigneContinue); break; case SituationVehicule.ProvenanceTransversaleOuLaterales: lst.Add(SituationAccident.PrioriteADroite); lst.Add(SituationAccident.PrioriteDePassage); lst.Add(SituationAccident.ArretOuFeuDefectueux); lst.Add(SituationAccident.VehiculeQuittantChausseeLaterale); break; case SituationVehicule.Autres: lst.Add(SituationAccident.NonRespectSignalisation); lst.Add(SituationAccident.VirageSurFlecheVerte); lst.Add(SituationAccident.VirageADroiteSurFeuRouge); lst.Add(SituationAccident.MarcheArriereDemiTour); lst.Add(SituationAccident.OuvertureDunePortiere); lst.Add(SituationAccident.CollisionEnChaine); lst.Add(SituationAccident.Carambolage); lst.Add(SituationAccident.CollisionParcStationnementSansSignalisation); lst.Add(SituationAccident.Autre); break; default: break; } return lst; }
public string ExportCirconstanceJson(SituationVehicule sit) { var values = Accident.GetCirconstances(sit); var dict = new Dictionary<string, List<String>>(); foreach(var circ in values) { dict.Add(circ.ToString(), Accident.GetExamplesPath(circ)); dict[circ.ToString()].Insert(0, GetDisplayName(circ)); } var json = new JavaScriptSerializer().Serialize(dict); return json; }