/// <summary> /// Seeds the data early on as some parts are used for lookups / updating /// Failed ingest will have the row data deleted /// </summary> private void SeedItvData() { try { using (ITVConversionContext seedDb = new ITVConversionContext()) { seedDb.ItvConversionData.Add(new ItvConversionData { Paid = ITVParser.ITV_PAID, Title = ProgramTitle, VersionMajor = Version_Major, LicenseStartDate = LicenseStart, LicenseEndDate = LicenseEnd, ProviderName = ProviderName, ProviderId = ProviderId, OriginalItv = ITVParser.ITV_Data.ToString(), //updated to check for illegal chars MediaFileName = MediaFileName, MediaFileLocation = MediaLocation, ProcessedDateTime = DateTime.Now, PublicationDate = Publication_Date }); int count = seedDb.SaveChanges(); ItvConversionData rowId = seedDb.ItvConversionData.Local.FirstOrDefault(); ItvData_RowId = rowId.Id; log.Info($"{count} record(s) saved to the database with Row ID: {ItvData_RowId}"); } } catch (Exception SID_EX) { throw new Exception($"Error encountered Seeding Data: {SID_EX.Message}"); } }
/// <summary> /// Function to update the db data upon successful parsing of the package /// </summary> private void UpdateItvData() { try { using (ITVConversionContext upDb = new ITVConversionContext()) { ItvConversionData entity = upDb.ItvConversionData.FirstOrDefault(i => i.Id == ItvData_RowId); string adi = Path.Combine(WorkingDirectory, "ADI.xml"); AdiMapping.LoadXDocument(adi); entity.IsTvod = AdiMapping.IsTVOD; entity.IsAdult = iTVConversion.IsAdult.ToLower() == "y" ? true : false; entity.PublicationDate = Publication_Date; if (!IsUpdate) { entity.OriginalAdi = AdiMapping.ADI_XDOC.ToString(); entity.MediaFileLocation = MediaLocation; entity.MediaChecksum = MediaChecksum; } else { entity.VersionMajor = Version_Major; entity.UpdateAdi = AdiMapping.ADI_XDOC.ToString(); entity.UpdatedDateTime = DateTime.Now; //entity.UpdatedFileLocation = MediaLocation; //entity.UpdatedFileName = MediaFileName; entity.UpdatedItv = ITVParser.ITV_Data.ToString(); //entity.UpdatedMediaChecksum = MediaChecksum; } int count = upDb.SaveChanges(); ItvConversionData rowId = upDb.ItvConversionData.Local.FirstOrDefault(); log.Info($"{count} record(s) updated in the database with Row ID: {ItvData_RowId}"); } } catch (Exception UID_EX) { throw new Exception($"Error encountered Updating DB Data: {UID_EX.Message}"); } }