Esempio n. 1
0
    protected void UploadClick(object sender, EventArgs e)
    {
        if (!SelectedMovieId.HasValue)
        {
            lblSelectedMovie.Text = "Please select a movie";
            return;
        }

        if (!FileUpload1.HasFiles)
        {
            return;
        }

        var movie = Movies[SelectedMovieId.Value];

        AzureContainer azureContainer = new AzureContainer("StorageConnectionString");

        azureContainer.SetContainer(GetMovieContainerName(movie));

        bool isNewMoviePhotosAvailable = false;
        var  files = FileUpload1.PostedFiles;

        using (var dataContext = new ProjectManhattanEntities1())
        {
            foreach (var file in files)
            {
                var photoURL = azureContainer.StoreFile(file.FileName, file.InputStream);

                MoviePhoto moviePhoto = dataContext.MoviePhotoes
                                        .Where(m => m.MovieId == SelectedMovieId.Value).ToList()
                                        .FirstOrDefault(m =>
                                                        string.Equals(Path.GetFileName(m.MoviePhotoURL),
                                                                      Path.GetFileName(photoURL),
                                                                      StringComparison.CurrentCultureIgnoreCase));

                if (moviePhoto == null)
                {
                    moviePhoto = new MoviePhoto()
                    {
                        MovieId       = movie.MovieId,
                        MoviePhotoURL = photoURL,
                    };

                    dataContext.MoviePhotoes.AddObject(moviePhoto);
                    isNewMoviePhotosAvailable = true;
                }
            }

            if (isNewMoviePhotosAvailable)
            {
                dataContext.SaveChanges();
                RefreshPhotos();
            }
        }
    }
Esempio n. 2
0
    protected void btnCreateContainers_OnClick(object sender, EventArgs e)
    {
        AzureContainer azureContainer = new AzureContainer("StorageConnectionString");

        using (var dataContext = new ProjectManhattanEntities1())
        {
            var movies = dataContext.Movies.ToList();
            foreach (var movie in movies)
            {
                var containerName = GetMovieContainerName(movie);
                azureContainer.GetOrCreateContainer(containerName);
            }
        }
    }
Esempio n. 3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Movies == null || !Movies.Any())
        {
            using (var dataContext = new ProjectManhattanEntities1())
            {
                Movies = dataContext.Movies
                         .Include("Language").ToDictionary(m => m.MovieId, m => m);
            }
        }


        if (!IsPostBack)
        {
            RadioButtonList1.DataSource = Movies.Values.ToList();
            RadioButtonList1.DataBind();
        }
    }
Esempio n. 4
0
    protected void btnSyncMoviePhotos_OnClick(object sender, EventArgs e)
    {
        AzureContainer azureContainer = new AzureContainer("StorageConnectionString");

        using (var dataContext = new ProjectManhattanEntities1())
        {
            var movies = dataContext.Movies
                         .Include("MoviePhotoes")
                         .ToList();
            bool isNewMoviePhotosAvailable = false;
            foreach (var movie in movies)
            {
                var containerName      = GetMovieContainerName(movie);
                var existingPhotosInDB = new HashSet <string>(movie.MoviePhotoes.Select(m => m.MoviePhotoURL));

                foreach (var uri in azureContainer.GetListFiles(containerName))
                {
                    var photoURL = uri.OriginalString;
                    if (!existingPhotosInDB.Contains(photoURL))
                    {
                        //Insert the missing movie photo
                        MoviePhoto moviePhoto = new MoviePhoto()
                        {
                            MovieId       = movie.MovieId,
                            MoviePhotoURL = photoURL,
                        };
                        dataContext.MoviePhotoes.AddObject(moviePhoto);
                        isNewMoviePhotosAvailable = true;
                    }
                }
            }
            if (isNewMoviePhotosAvailable)
            {
                dataContext.SaveChanges();
            }
        }
    }
Esempio n. 5
0
    protected void btnDeleteSelectedFiles_OnClick(object sender, EventArgs e)
    {
        if (!SelectedMovieId.HasValue)
        {
            lblSelectedMovie.Text = "Please select a movie";
            return;
        }

        var            movie          = Movies[SelectedMovieId.Value];
        AzureContainer azureContainer = new AzureContainer("StorageConnectionString");

        azureContainer.SetContainer(GetMovieContainerName(movie));

        var items = CheckBoxList1.Items;

        using (var dataContext = new ProjectManhattanEntities1())
        {
            foreach (ListItem item in items)
            {
                if (item.Selected)
                {
                    azureContainer.DeleteFile(item.Text);

                    var moviePhoto = dataContext.MoviePhotoes
                                     .Where(m => m.MovieId == SelectedMovieId.Value).ToList()
                                     .FirstOrDefault(m =>
                                                     string.Equals(Path.GetFileName(m.MoviePhotoURL),
                                                                   item.Text,
                                                                   StringComparison.CurrentCultureIgnoreCase));

                    dataContext.MoviePhotoes.DeleteObject(moviePhoto);
                    dataContext.SaveChanges();
                }
            }
            RefreshPhotos();
        }
    }