Ejemplo n.º 1
0
        internal CatalogController(DatabaseContext dbCtx = null)
        {
            InitializeRepositories(dbCtx);

            moviesGridViewModel = new MoviesGridViewModel();
            searchViewModel     = new SearchViewModel();

            getMovies = new GetMoviesAsyncHelper(movieRepository, directorRepository, actorRepository);
        }
Ejemplo n.º 2
0
        private void UpdateGridView(MoviesGridViewModel data)
        {
            int             moviesRowHeight = 200;
            DataGridViewRow currentRow      = null;
            var             cells           = new List <DataGridViewImageCell>();

            foreach (DataGridViewRow row in dataGridView1.Rows)
            {
                ImagesHelper.DisposeImage((row.Cells[0] as DataGridViewImageCell).Value as Image);
            }
            dataGridView1.Rows.Clear();

            data.Movies.ForEach(movie =>
            {
                currentRow        = new DataGridViewRow();
                currentRow.Height = moviesRowHeight;
                currentRow.Tag    = movie;

                var imageCell = new DataGridViewImageCell();
                var nameCell  = new DataGridViewTextBoxCell()
                {
                    Value = movie.Name
                };
                var yearCell = new DataGridViewTextBoxCell()
                {
                    Value = movie.Year
                };

                imageCell.ImageLayout = DataGridViewImageCellLayout.Zoom;

                cells.Add(imageCell);

                currentRow.Cells.Add(imageCell);
                currentRow.Cells.Add(nameCell);
                currentRow.Cells.Add(yearCell);

                dataGridView1.Rows.Add(currentRow);
                currentRow = null;
            });

            if (currentRow != null)
            {
                dataGridView1.Rows.Add(currentRow);
            }

            for (int i = 0; i < cells.Count; i++)
            {
                var image = ImagesHelper.FromFile(data.Movies[i].Image);
                cells[i].Value = image;
            }
        }
Ejemplo n.º 3
0
        internal CatalogView(
            MoviesGridViewModel data,
            IAutocompleteSource directorsAutocompleteSource,
            IAutocompleteSource actorsAutocompleteSource)
        {
            InitializeComponent();

            dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

            var imageColumn = new DataGridViewImageColumn();
            var nameColumn  = new DataGridViewTextBoxColumn();
            var yearColumn  = new DataGridViewTextBoxColumn();

            imageColumn.ImageLayout = DataGridViewImageCellLayout.Zoom;

            dataGridView1.Columns.Add(imageColumn);
            dataGridView1.Columns.Add(nameColumn);
            dataGridView1.Columns.Add(yearColumn);



            imageColumn.Resizable = DataGridViewTriState.False;
            nameColumn.Resizable  = DataGridViewTriState.False;
            yearColumn.Resizable  = DataGridViewTriState.False;

            imageColumn.ReadOnly = true;
            nameColumn.ReadOnly  = true;
            yearColumn.ReadOnly  = true;

            editFormYear.SetErrorProvider(editMovieFormErrorProvider);
            editFormNameText.SetErrorProvider(editMovieFormErrorProvider);
            editFormCountryText.SetErrorProvider(editMovieFormErrorProvider);

            editFormDirector.SetSource(directorsAutocompleteSource);
            editFormAddActor.SetSource(actorsAutocompleteSource);

            editMovieFormHelpProvider.SetShowHelp(editFormNameText, true);
            editMovieFormHelpProvider.SetHelpString(editFormNameText, "Название фильма");

            data.Changed += UpdateGridView;
            UpdateGridView(data);
            ShowMovieGrid();

            OnCatalogViewResize(null, null);
        }