예제 #1
0
        public ActionResult Details(int id)
        {
            var             database = new FakeDatabase();
            MovieProperties movie    = database.GetById(id);

            return(View("Details", movie));
        }
예제 #2
0
        public MainPage()
        {
            this.InitializeComponent();

            var Service     = new KodiService();
            var movieParams = new GetMoviesParams()
            {
                Properties = MovieProperties.All()
            };
            var movies = Service.GetMovies(movieParams);

            for (int i = 0; i < 50; i++)
            {
                var row = movies.Result.Movies[i];

                ListViewItem item = new ListViewItem();
                item.Content = new Grid();
                Grid grid = (Grid)item.Content;
                grid.Height = 100;
                grid.Margin = new Thickness(0, 0, 0, 0);

                ColumnDefinition col1 = new ColumnDefinition();
                ColumnDefinition col2 = new ColumnDefinition();
                col1.Width = new GridLength(0, GridUnitType.Auto);
                col2.Width = new GridLength(1, GridUnitType.Star);
                grid.ColumnDefinitions.Add(col1);
                grid.ColumnDefinitions.Add(col2);

                Image       image       = new Image();
                BitmapImage bitmap      = new BitmapImage();
                string      uriUnescape = Uri.UnescapeDataString(row.Art.Poster).ToString();
                bitmap.UriSource = new Uri(uriUnescape.Substring(8, uriUnescape.Length - 9));
                image.Source     = bitmap;
                image.Margin     = new Thickness(0, 0, 5, 0);

                RichTextBlock richTextBlock = new RichTextBlock();
                richTextBlock.TextWrapping = TextWrapping.Wrap;
                Paragraph paragraph1 = new Paragraph();
                Paragraph paragraph2 = new Paragraph();
                Run       title      = new Run();
                Run       plot       = new Run();
                title.Text       = $"{row.Title} ({row.Year})";
                title.FontWeight = FontWeights.Bold;
                plot.Text        = row.Plot;
                paragraph1.Inlines.Add(title);
                paragraph2.Inlines.Add(plot);
                richTextBlock.Blocks.Add(paragraph1);
                richTextBlock.Blocks.Add(paragraph2);

                grid.Children.Add(image);
                grid.Children.Add(richTextBlock);

                Grid.SetColumn(image, 0);
                Grid.SetColumn(richTextBlock, 1);

                MediaList.Items.Add(item);
            }
        }
예제 #3
0
 public ActionResult EditMovie(MovieProperties newMovie)
 {
     if (ModelState.IsValid)
     {
         var database = new FakeDatabase();
         database.Edit(newMovie);
         return(RedirectToAction("Index"));
     }
     return(View("Edit", newMovie));
 }
예제 #4
0
        public DisplayView()
        {
            this.InitializeComponent();

            var Service     = new KodiService();
            var movieParams = new GetMoviesParams()
            {
                Properties = MovieProperties.All()
            };
            var movies = Service.GetMovies(movieParams);
        }
예제 #5
0
        public void GivenAJsonString_WhenGettingAMovieByMovieId_WithAValidMovieId_ItShouldReturnAMovie()
        {
            const Movies.TestSet id = Movies.TestSet.Spy;

            var parameters = new GetMovieDetailsParams
            {
                MovieId    = (int)id,
                Properties = MovieProperties.All()
            };

            var mock    = GetKodiServiceMock(parameters);
            var service = mock.Object;

            var actual   = service.GetMovieDetails(parameters, "UnitTests");
            var expected = Movies.GetMovie(id);

            Assert.IsInstanceOf <JsonRpcResponse <GetMovieDetailsResponse> >(actual);
            Assert.That(actual.Result.MovieDetails.MovieId, Is.EqualTo(expected.MovieDetails.MovieId));
            AssertThatPropertyValuesAreEquals(actual.Result.MovieDetails, expected.MovieDetails);
        }
예제 #6
0
        public ActionResult Add()
        {
            var model = new MovieProperties();

            return(View(model));
        }