public List <CustomFormat> ParseCustomFormat(MovieHistory history) { var movie = _movieService.GetMovie(history.MovieId); var parsed = _parsingService.ParseMovieInfo(history.SourceTitle, null); Enum.TryParse(history.Data.GetValueOrDefault("indexerFlags"), true, out IndexerFlags flags); long.TryParse(history.Data.GetValueOrDefault("size"), out var size); var info = new ParsedMovieInfo { MovieTitle = movie.Title, SimpleReleaseTitle = parsed?.SimpleReleaseTitle ?? history.SourceTitle.SimplifyReleaseTitle(), Quality = history.Quality, Languages = history.Languages, ReleaseGroup = parsed?.ReleaseGroup, Edition = parsed?.Edition, Year = movie.Year, ImdbId = movie.ImdbId, ExtraInfo = new Dictionary <string, object> { { "IndexerFlags", flags }, { "Size", size } } }; return(ParseCustomFormat(info)); }
public static HistoryResource ToResource(this MovieHistory model, ICustomFormatCalculationService formatCalculator) { if (model == null) { return(null); } return(new HistoryResource { Id = model.Id, MovieId = model.MovieId, SourceTitle = model.SourceTitle, Languages = model.Languages, Quality = model.Quality, CustomFormats = formatCalculator.ParseCustomFormat(model).ToResource(), //QualityCutoffNotMet Date = model.Date, DownloadId = model.DownloadId, EventType = model.EventType, Data = model.Data }); }
protected HistoryResource MapToResource(MovieHistory model) { var resource = model.ToResource(); resource.Movie = model.Movie.ToResource(); if (model.Movie != null) { resource.QualityCutoffNotMet = _qualityUpgradableSpecification.QualityCutoffNotMet(model.Movie.Profile, model.Quality); } return(resource); }
public MovieHistory Save(int idMovie, MovieHistory history) { history.DtCreation = DateTime.Now; history.IdMovie = idMovie; if (history.IdMovieHistory == 0) { history.IdMovieHistory = (int)db.InsertEntity(history); } else { throw new Exception($"Already have an ID for this movieHistory: {history.IdMovieHistory}"); } return(history); }
// --------------------------------------------------------------------------- public void Write(Stream stream) { MovieLinks1 ml = new MovieLinks1(); MovieHistory mh = new MovieHistory(); List <byte[]> pdf = new List <byte[]>() { Utility.PdfBytes(ml), Utility.PdfBytes(mh) }; string[] names = { ml.ToString(), mh.ToString() }; using (ZipFile zip = new ZipFile()) { using (MemoryStream ms = new MemoryStream()) { // step 1 using (Document document = new Document()) { // step 2 using (PdfCopy copy = new PdfCopy(document, ms)) { // step 3 document.Open(); // step 4 for (int i = 0; i < pdf.Count; ++i) { zip.AddEntry(Utility.ResultFileName(names[i] + ".pdf"), pdf[i]); PdfReader reader = new PdfReader(pdf[i]); // loop over the pages in that document int n = reader.NumberOfPages; for (int page = 0; page < n;) { copy.AddPage(copy.GetImportedPage(reader, ++page)); } copy.FreeReader(reader); reader.Close(); } } } zip.AddEntry(RESULT, ms.ToArray()); } zip.Save(stream); } }
// --------------------------------------------------------------------------- public void Write(Stream stream) { using (ZipFile zip = new ZipFile()) { MovieTemplates m = new MovieTemplates(); byte[] pdf = Utility.PdfBytes(m); BookmarkedTimeTable b = new BookmarkedTimeTable(); byte[] bttBytes = b.ManipulatePdf(pdf); MovieHistory mh = new MovieHistory(); byte[] mhBytes = Utility.PdfBytes(mh); List <byte[]> src = new List <byte[]>() { bttBytes, mhBytes }; ConcatenateBookmarks cb = new ConcatenateBookmarks(); zip.AddEntry(RESULT, cb.ManipulatePdf(src)); zip.AddEntry(Utility.ResultFileName(b.ToString() + ".pdf"), bttBytes); zip.AddEntry(Utility.ResultFileName(mh.ToString() + ".pdf"), mhBytes); zip.Save(stream); } }
protected HistoryResource MapToResource(MovieHistory model, bool includeMovie) { if (model.Movie == null) { model.Movie = _movieService.GetMovie(model.MovieId); } var resource = model.ToResource(_formatCalculator); if (includeMovie) { resource.Movie = model.Movie.ToResource(0); } if (model.Movie != null) { resource.QualityCutoffNotMet = _upgradableSpecification.QualityCutoffNotMet(model.Movie.Profile, model.Quality); } return(resource); }
public static HistoryResource ToResource(this MovieHistory model) { if (model == null) { return(null); } return(new HistoryResource { Id = model.Id, MovieId = model.MovieId, SourceTitle = model.SourceTitle, Quality = model.Quality, //QualityCutoffNotMet Date = model.Date, DownloadId = model.DownloadId, EventType = model.EventType, Data = model.Data }); }
// --------------------------------------------------------------------------- public void Write(Stream stream) { using (ZipFile zip = new ZipFile()) { MovieLinks1 ml = new MovieLinks1(); byte[] r1 = Utility.PdfBytes(ml); MovieHistory mh = new MovieHistory(); byte[] r2 = Utility.PdfBytes(mh); using (MemoryStream ms = new MemoryStream()) { // step 1 using (Document document = new Document()) { // step 2 using (PdfCopy copy = new PdfCopy(document, ms)) { // step 3 document.Open(); // step 4 // reader for document 1 PdfReader reader1 = new PdfReader(r1); int n1 = reader1.NumberOfPages; // reader for document 2 PdfReader reader2 = new PdfReader(r2); int n2 = reader2.NumberOfPages; // initializations PdfImportedPage page; PdfCopy.PageStamp stamp; // Loop over the pages of document 1 for (int i = 0; i < n1;) { page = copy.GetImportedPage(reader1, ++i); stamp = copy.CreatePageStamp(page); // add page numbers ColumnText.ShowTextAligned( stamp.GetUnderContent(), Element.ALIGN_CENTER, new Phrase(string.Format("page {0} of {1}", i, n1 + n2)), 297.5f, 28, 0 ); stamp.AlterContents(); copy.AddPage(page); } // Loop over the pages of document 2 for (int i = 0; i < n2;) { page = copy.GetImportedPage(reader2, ++i); stamp = copy.CreatePageStamp(page); // add page numbers ColumnText.ShowTextAligned( stamp.GetUnderContent(), Element.ALIGN_CENTER, new Phrase(string.Format("page {0} of {1}", n1 + i, n1 + n2)), 297.5f, 28, 0 ); stamp.AlterContents(); copy.AddPage(page); } } } zip.AddEntry(RESULT, ms.ToArray()); zip.AddEntry(Utility.ResultFileName(ml.ToString() + ".pdf"), r1); zip.AddEntry(Utility.ResultFileName(mh.ToString() + ".pdf"), r2); } zip.Save(stream); } }
private ActionResult SaveMovie(int?id, RegisterEditMovieViewModel formData) { if (!ModelState.IsValid) { PopulateViewBag(); return(View()); } var userId = User.Identity.GetUserId(); if (MoviesHelper.CheckIfMovieAlreadyExists(id, formData.MovieName, userId)) { ModelState.AddModelError(nameof(RegisterEditMovieViewModel.MovieName), "Movie name should be unique"); PopulateViewBag(); return(View()); } string fileExtension; //Validating file upload if (formData.Media != null) { fileExtension = Path.GetExtension(formData.Media.FileName); if (!Constants.AllowedFileExtensions.Contains(fileExtension)) { ModelState.AddModelError("", "File extension is not allowed."); PopulateViewBag(); return(View()); } } Movie movie; if (!id.HasValue) { movie = new Movie(); movie.UserId = userId; DbContext.Movies.Add(movie); } else { movie = MoviesHelper.GetMovieById(id.Value, userId); if (movie == null) { return(RedirectToAction(nameof(MovieController.Index))); } movie.DateUpdated = DateTime.Now; } movie.Name = formData.MovieName; movie.Rating = formData.Rating.Value; movie.Category = formData.Category; movie.Description = formData.Description; //Handling file upload if (formData.Media != null) { if (!Directory.Exists(Constants.MappedUploadFolder)) { Directory.CreateDirectory(Constants.MappedUploadFolder); } var fileName = formData.Media.FileName; var fullPathWithName = Constants.MappedUploadFolder + fileName; formData.Media.SaveAs(fullPathWithName); movie.MediaUrl = Constants.UploadFolder + fileName; } if (id.HasValue) { var originalValues = DbContext.Entry(movie).OriginalValues; var currentValues = DbContext.Entry(movie).CurrentValues; foreach (var property in originalValues.PropertyNames) { if (property == nameof(Movie.DateUpdated)) { continue; } var originalValue = originalValues[property]?.ToString(); var currentValue = currentValues[property]?.ToString(); if (originalValue != currentValue) { var history = new MovieHistory(); history.OldValue = originalValue; history.NewValue = currentValue; history.DateCreated = DateTime.Now; history.Property = property; history.MovieId = id.Value; DbContext.MovieHistories.Add(history); } } } DbContext.SaveChanges(); return(RedirectToAction(nameof(MovieController.Index))); }