static void Main(string[] args)
 {
     Console.WriteLine(NetFloxEntities.DbFilePath);
     using (var context = new NetFloxEntities())
     {
         var query  = "stan";
         var result = context.Celebrites
                      .Where(c => EF.Functions.Like(c.Nom, $"%{query}%"))
                      .OrderByDescending(c => c.RoleCelebriteFilms.Count)
                      .ThenBy(c => c.Nom)
                      .ToList();
     }
 }
Exemple #2
0
 static void Main(string[] args)
 {
     Console.WriteLine(NetFloxEntities.DbFilePath);
     using (var context = new NetFloxEntities())
     {
         var query  = "stan";
         var result = context.Celebrites
                      //.Where(c => c.DateNaissance.HasValue && c.DateNaissance.Value.Year == 1983)
                      .Where(c => EF.Functions.Like(c.Nom, "%" + query + "%"))
                      .OrderByDescending(c => c.RoleCelebriteFilms.Count)
                      .ThenByDescending(c => c.Nom)
                      .Select(c => c.Nom)
                      .ToList();
     }
 }
Exemple #3
0
 public FilmsController(NetFloxEntities context)
 {
     _context = context;
 }
 public CelebritesController(NetFloxEntities context)
 {
     _context = context;
 }
        public static async Task SeedDatabase(ImdbMovie[] movies, ImdbPerson[] persons)
        {
            using (var entities = new NetFloxEntities())
            {
                await entities.Database.EnsureDeletedAsync();

                await entities.Database.EnsureCreatedAsync();

                entities.Utilisateurs.Add(new Utilisateur
                {
                    Nom             = "Demo",
                    Prenom          = "demo",
                    AdresseEmail    = "*****@*****.**",
                    DateInscription = DateTime.Now,
                });

                var actorRole = new Role {
                    Id = 1, Libelle = "Acteur"
                };
                var directorRole = new Role {
                    Id = 2, Libelle = "Réalisateur"
                };
                var creatorRole = new Role {
                    Id = 3, Libelle = "Créateur"
                };
                entities.Roles.Add(actorRole);
                entities.Roles.Add(directorRole);
                entities.Roles.Add(creatorRole);

                var celebrites = persons.ToDictionary(p => p.Url, p => new Celebrite
                {
                    Nom           = p.Name,
                    UrlPhoto      = p.Image?.ToString(),
                    DateNaissance = p.BirthDate,
                });
                entities.Celebrites.AddRange(celebrites.Values);
                foreach (var movie in movies)
                {
                    var film = new Film
                    {
                        Titre       = movie.Name,
                        Description = movie.Description,
                        UrlAffiche  = movie.Image?.ToString(),
                        Pays        = movie.Countries.FirstOrDefault(),
                        Annee       = movie.DatePublished.Year,
                    };
                    entities.Films.Add(film);
                    var actors = movie.Actor
                                 ?.Where(p => celebrites.ContainsKey(p.Url))
                                 .Select(p => new RoleCelebriteFilm {
                        Film = film, Celebrite = celebrites[p.Url], Role = actorRole
                    })
                                 .ToList();
                    var directors = movie.Director
                                    ?.Where(p => celebrites.ContainsKey(p.Url))
                                    .Select(p => new RoleCelebriteFilm {
                        Film = film, Celebrite = celebrites[p.Url], Role = directorRole
                    })
                                    .ToList();
                    var creators = movie.Creator
                                   ?.Where(p => celebrites.ContainsKey(p.Url))
                                   .Select(p => new RoleCelebriteFilm {
                        Film = film, Celebrite = celebrites[p.Url], Role = creatorRole
                    })
                                   .ToList();
                    if (actors != null)
                    {
                        entities.RoleCelebriteFilms.AddRange(actors);
                    }
                    if (directors != null)
                    {
                        entities.RoleCelebriteFilms.AddRange(directors);
                    }
                    if (creators != null)
                    {
                        entities.RoleCelebriteFilms.AddRange(creators);
                    }
                }
                await entities.SaveChangesAsync();
            }
        }