Пример #1
0
        private void yeniFilmToolStripMenuItem_Click(object sender, EventArgs e)
        {
            NewMovieForm newMovieForm = new NewMovieForm();

            newMovieForm.MdiParent   = this;
            newMovieForm.WindowState = FormWindowState.Maximized;
            newMovieForm.Show();
        }
Пример #2
0
        public IActionResult New()
        {
            var genres = _db.Genres.ToList();



            var viewModel = new NewMovieForm
            {
                Genres = genres
            };

            return(View("NewMovie", viewModel));
        }
Пример #3
0
 public IActionResult CreateNewMovie([FromBody, SwaggerRequestBody("Form New Movie", Required = true)] NewMovieForm newMovie)
 {
     try
     {
         return(Ok(Service.Create(newMovie.ToClient())));
     }
     catch
     {
         return(new BadRequestObjectResult(new ExceptionResponse()
         {
             Status = 400, Value = "Form is invalid"
         }));
     }
 }
Пример #4
0
        public IActionResult Edit(int id)
        {
            int d = id;
            // var movie = _db.Movies.SingleOrDefault(m => m.Id==id);
            var movie = _db.Movies.SingleOrDefault(m => m.Id == id);

            var viewModel = new NewMovieForm
            {
                Genres = _db.Genres.ToList(),
                Movie  = movie
            };

            return(View("NewMovie", viewModel));
        }
Пример #5
0
        public async Task SaveMovieImage(NewMovieForm movie)
        {
            string apiRequest = $"{_settings.ImageUrl}{movie.posterPath}";

            using (HttpClient client = new HttpClient())
                using (HttpResponseMessage response = await client.GetAsync(apiRequest))
                    using (HttpContent content = response.Content)
                    {
                        var imageStream = await content.ReadAsStreamAsync();

                        using (var fileStream = new FileStream(movie.imagePath, FileMode.Create, FileAccess.Write))
                        {
                            imageStream.CopyTo(fileStream);
                        }
                    }
        }
Пример #6
0
        public async Task <IActionResult> MovieUpload(FlowUploadForm flow, NewMovieForm newMovie)
        {
            var userId = TokenManager.ExtractUserId(User.Claims);

            try
            {
                foreach (var formFile in Request.Form.Files)
                {
                    using (var readStream = formFile.OpenReadStream())
                        using (var binaryReader = new BinaryReader(readStream))
                        {
                            var fileContent = binaryReader.ReadBytes((int)formFile.Length);
                            await _uploadService.AddChunkFile(userId, fileContent, flow);
                        }
                    if (_uploadService.AttemptCompleteFileCreation(userId, flow, formFile.FileName, out FileMetadata metadata))
                    {
                        newMovie.ResolveMovieImage(_externalDB);
                        metadata.GetDuration(new MediaManager());

                        var movieEntity = newMovie.MapToEntity(userId, metadata.MapToVideoFileEntity());
                        movieEntity.DateCreated = DateTime.Now;
                        movieEntity             = _movieRpository.Add(movieEntity);

                        //If file is not mp4. it cannot be streamed properly to a browser so convert it
                        //This process takes a while. Consider moveing this out of the flow
                        if (movieEntity.VideoFile.FileExtension != ".mp4")
                        {
                            _videoConverter.AddVideoToQueue(movieEntity.VideoFile);
                        }


                        return(Created($"api/movies/{movieEntity.MovieId}", MovieResponse.MapFromObject(movieEntity)));
                    }
                }
            }
            catch
            {
                return(StatusCode(500, "There was an Error Uploading the File"));
            }
            return(Ok());
        }