public void addCharacterActor(CharacterActor ca) { _movies_context.TabCharacterActors.Add(ca); _movies_context.SaveChanges(); }
private static void DecodeFilmText(DALManager dm, string filmtext) { //decomposition du film Char[] delimiterChars = { '\u2023' }; filmdetailwords = filmtext.Split(delimiterChars); delimiterChars[0] = '\u2016'; // Initialisation des champs de base du film Movie m = new Movie(); m.MovieID = Int32.Parse(filmdetailwords[0]); m.Title = filmdetailwords[1]; m.Releasedate = DateTime.ParseExact(filmdetailwords[3], "yyyy-MM-dd", CultureInfo.InvariantCulture); m.Voteaverage = float.Parse(filmdetailwords[5], CultureInfo.InvariantCulture.NumberFormat);; m.Runtime = Int32.Parse(filmdetailwords[7]); m.Posterpath = filmdetailwords[9]; //verifier si il existe déja dans la BD if (dm.GetMovieById(m.MovieID) == null) { // Initialisation des champs détails du film if (filmdetailwords.Length == 15) { acteurs = filmdetailwords[14].Split(delimiterChars); foreach (string s in acteurs) { if (s.Length > 0) { string[] acteurs_details, characterdetail; Actor a = new Actor(); //recuperation des details de l'acteur delimiterChars[0] = '\u2024'; acteurs_details = s.Split(delimiterChars); //cretion de l'acteur et/ou verif si l'acteur existe deja a.ActorID = Int32.Parse(acteurs_details[0]); a.add_name_firstname(acteurs_details[1]); var tmpActor = dm.GetActorById(a.ActorID); if (tmpActor != null) { a = tmpActor; } //liaison du film avec l'acteur et vice versa a.Movies.Add(m); m.Actors.Add(a); //decomposition des différentes caractères pour un meme acteur characterdetail = acteurs_details[2].Split('/'); //creation des différents characteres pour un meme acteur foreach (string charac in characterdetail) { Character c = new Character(charac); var tmpCharacter = dm.GetCharacter_by_name(c.Charactername); if (tmpCharacter != null) { c = tmpCharacter; } CharacterActor CA = new CharacterActor(m, c, a); dm.addCharacterActor(CA); } } } } } else { Console.WriteLine("Film existe deja "); } }