Beispiel #1
0
        public static Account GetCurrentUserNetflixUserInfo()
        {
            Object netflixuserid = HttpContext.Current.Session["netflixuserid"];
            if (netflixuserid == null)
            {
                if (WebMatrix.WebData.WebSecurity.IsAuthenticated)
                    using (FilmTroveContext ftc = new FilmTroveContext())
                    {
                        UserProfile profile = ftc.UserProfiles.Find(WebSecurity.CurrentUserId);

                        Account na = new Account()
                        {
                            Token = profile.NetflixAccount.Token,
                            TokenSecret = profile.NetflixAccount.TokenSecret,
                            UserId = profile.NetflixAccount.UserId
                        };
                        HttpContext.Current.Session["netflixuserid"] = na;

                        return na;
                    }
                else
                    return null;
            }
            else
                return (Account)netflixuserid;
        }
Beispiel #2
0
        public static Account GetCurrentUserNetflixUserInfo()
        {
            Object netflixuserid = HttpContext.Current.Session["netflixuserid"];

            if (netflixuserid == null)
            {
                if (WebMatrix.WebData.WebSecurity.IsAuthenticated)
                {
                    using (FilmTroveContext ftc = new FilmTroveContext())
                    {
                        UserProfile profile = ftc.UserProfiles.Find(WebSecurity.CurrentUserId);

                        Account na = new Account()
                        {
                            Token       = profile.NetflixAccount.Token,
                            TokenSecret = profile.NetflixAccount.TokenSecret,
                            UserId      = profile.NetflixAccount.UserId
                        };
                        HttpContext.Current.Session["netflixuserid"] = na;

                        return(na);
                    }
                }
                else
                {
                    return(null);
                }
            }
            else
            {
                return((Account)netflixuserid);
            }
        }
            public SimpleMembershipInitializer()
            {
                Database.SetInitializer<FilmTroveContext>(null);

                try
                {
                    using (var context = new FilmTroveContext())
                    {
                        if (!context.Database.Exists())
                        {
                            // Create the SimpleMembership database without Entity Framework migration schema
                            ((IObjectContextAdapter)context).ObjectContext.CreateDatabase();
                        }
                    }

                    WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true);
                }
                catch (Exception ex)
                {
                    throw new InvalidOperationException("The ASP.NET Simple Membership database could not be initialized. For more information, please see http://go.microsoft.com/fwlink/?LinkId=256588", ex);
                }
            }
Beispiel #4
0
        public static List<Models.Movie> GetDatabaseMovies(Titles results)
        {
            var netflixids = results.Select((m) => m.Id + (m.SeasonId != "" ? ";" + m.SeasonId : ""));
            using (FilmTroveContext ftc = new FilmTroveContext())
            {

                ///1) find the matching records from the database
                var matchedmovies = ftc.Movies.Where(m => netflixids.Contains(m.Netflix.Id));
                ///2) find the records that don't have a match
                ///select the ids and get the netflix Ids that aren't in the FT database
                var ftnfids = matchedmovies.Select(m => m.Netflix.Id);
                var netflixidsunmatched = netflixids.Where(m => !ftnfids.Contains(m));
                //Int32 count = 0;
                foreach (String nid in netflixidsunmatched)
                {
                    ///create FT database records for each of these with the movies basic information for now
                    FilmTrove.Models.Movie newmovie = ftc.Movies.Create();
                    FlixSharp.Holders.Title netflixmovie = results.Find(nid);
                    FillBasicTitle(newmovie, netflixmovie);

                    var dbgenreslocal = ftc.Genres.Local.Where(g => netflixmovie.Genres.Contains(g.Name));
                    var dbgenres = ftc.Genres.Where(g => netflixmovie.Genres.Contains(g.Name));
                    HashSet<Genre> genres = new HashSet<Genre>();
                    genres.AddRange(dbgenres);
                    genres.AddRange(dbgenreslocal);

                    var genrenames = genres.Select(g => g.Name);
                    var missinggenres = netflixmovie.Genres.Where(g => !genrenames.Contains(g));
                    foreach (String genre in missinggenres)
                    {
                        Genre g = new Genre() { Name = genre };
                        genres.Add(g);
                        ftc.Genres.Add(g);
                    }
                    //newmovie.Genres = netflixmovie.Genres;
                    foreach (Genre g in genres)
                    {
                        MovieGenre gi = ftc.GenreItems.Create();
                        gi.Genre = g;
                        gi.Movie = newmovie;
                        ftc.GenreItems.Add(gi);
                    }
                    ftc.Movies.Add(newmovie);
                }

                //try
                //{
                    //count =
                ftc.SaveChanges();
                //}
                //catch (Exception ex)
                //{
                //    ///need to add some sort of logging?

                //}
                //if (count > 0)
                if (matchedmovies.Count() < results.Count())
                    matchedmovies = ftc.Movies.Where(m => netflixids.Contains(m.Netflix.Id));
                //else
                //    return matchedmovies.ToList();

                return results.Select(m =>
                    matchedmovies.First(f =>
                        f.Netflix.Id == (m.Id + (m.SeasonId != "" ? ";" + m.SeasonId : "")))).ToList();
            }
        }
Beispiel #5
0
        public static List<Models.Person> GetDatabasePeople(People results)
        {
            var netflixids = results.Select(p => p.Id);
            using (FilmTroveContext ftc = new FilmTroveContext())
            {
                ///1) find the matching records from the database
                var matchedpeople = ftc.People.Where(m => netflixids.Contains(m.Netflix.Id));
                ///2) find the records that don't have a match
                ///select the ids and get the netflix Ids that aren't in the FT database
                var ftnfids = matchedpeople.Select(m => m.Netflix.Id);
                var netflixidsunmatched = netflixids.Where(m => !ftnfids.Contains(m));
                //Int32 count = 0;
                foreach (String nid in netflixidsunmatched)
                {
                    ///create FT database records for each of these with the movies basic information for now
                    FilmTrove.Models.Person newperson = ftc.People.Create();
                    FlixSharp.Holders.Person netflixperson = results.Find(nid);
                    FillBasicPerson(newperson, netflixperson);
                    //newperson.Name = netflixperson.Name;
                    //newperson.Bio = netflixperson.Bio;
                    //newperson.Netflix = new NetflixPersonInfo();
                    //newperson.Netflix.Id = netflixperson.Id;
                    //newperson.Netflix.IdUrl = netflixperson.IdUrl;
                    //newperson.Netflix.Url = netflixperson.NetflixSiteUrl;

                    ftc.People.Add(newperson);
                }

                try
                {
                    //count =
                    ftc.SaveChanges();
                }
                catch (Exception)
                {
                    throw;
                    ///need to add some sort of logging?
                }
                //if (count > 0)
                if (matchedpeople.Count() < results.Count())
                    matchedpeople = ftc.People.Where(m => netflixids.Contains(m.Netflix.Id));
                //else
                //    return matchedpeople.ToList();

                return results.Select(p =>
                    matchedpeople.First(f =>
                        f.Netflix.Id == p.Id)).ToList();
            }
        }