public void addCharacterActor(CharacterActor ca)
 {
     _movies_context.TabCharacterActors.Add(ca);
     _movies_context.SaveChanges();
 }
Beispiel #2
0
        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 ");
            }
        }