private void AddOneclickMetadata(ProcessItem <MediaTitle> item, OneclickMetadata found) { if (!String.IsNullOrWhiteSpace(found.S3Foldername)) { if (!String.IsNullOrWhiteSpace(found.PreviewFilename)) { //string path = String.Format("{0}/{1}", found.S3Foldername, found.PreviewFilename).Replace('\\', '/'); if (item.SimpleProperties.Contains((String.Intern(Constants.PreviewFile)))) { item.SimpleProperties[Constants.PreviewFile].Value = found.PreviewFilename; } else { item.SimpleProperties.Add(new TypedItem(String.Intern(Constants.PreviewFile), found.PreviewFilename)); } } } if (item.SimpleProperties.Contains((Constants.Facets.IsComingSoon))) { item.SimpleProperties[Constants.Facets.IsComingSoon].Value = found.IsPreRelease; } else { item.SimpleProperties.Add(new TypedItem(Constants.Facets.IsComingSoon, found.IsPreRelease)); } if (found.ActivationTimeStamp > DateTime.MinValue) { if (item.SimpleProperties.Contains((String.Intern(Constants.Activation)))) { item.SimpleProperties[Constants.Activation].Value = found.ActivationTimeStamp; } else { item.SimpleProperties.Add(new TypedItem(String.Intern(Constants.Activation), found.ActivationTimeStamp)); } } if (found.ActualDuration > 0.0M) { if (item.SimpleProperties.Contains((String.Intern(Constants.Duration)))) { item.SimpleProperties[Constants.Duration].Value = found.ActualDuration; } else { item.SimpleProperties.Add(new TypedItem(String.Intern(Constants.Duration), found.ActualDuration)); } } if (found.AudioFileSize > 0) { if (item.SimpleProperties.Contains((String.Intern(Constants.AudioFileSize)))) { item.SimpleProperties[Constants.AudioFileSize].Value = found.AudioFileSize; } else { item.SimpleProperties.Add(new TypedItem(String.Intern(Constants.AudioFileSize), found.AudioFileSize)); } } if (found.ActivationTimeStamp > DateTime.MinValue) { if (item.SimpleProperties.Contains((String.Intern(Constants.Facets.ReleaseDate)))) { item.SimpleProperties[Constants.Facets.ReleaseDate].Value = found.ActivationTimeStamp; } else { item.SimpleProperties.Add(new TypedItem(String.Intern(Constants.Facets.ReleaseDate), found.ActivationTimeStamp.Date)); } } if (found.HasDrm) { if (item.SimpleProperties.Contains((String.Intern(Constants.Facets.HasDrm)))) { item.SimpleProperties[Constants.Facets.HasDrm].Value = found.HasDrm; } else { item.SimpleProperties.Add(new TypedItem(String.Intern(Constants.Facets.HasDrm), found.HasDrm)); } } if (found.HasAttachments) { if (item.SimpleProperties.Contains((String.Intern(Constants.Facets.HasAttachments)))) { item.SimpleProperties[Constants.Facets.HasDrm].Value = found.HasAttachments; } else { item.SimpleProperties.Add(new TypedItem(String.Intern(Constants.Facets.HasAttachments), found.HasAttachments)); } } }
private void BorrowReader(SqlDataReader reader) { Data = new Dictionary <string, IEnumerable <OneclickMetadata> >(); var list = new Collection <OneclickMetadata>(); while (reader.Read()) { OneclickMetadata item = new OneclickMetadata(); //item.Id = reader.GetInt32(0); item.SourceItemId = reader.GetString(0); item.Isbn = String.Intern(reader.GetString(1)); //item.HasImages = reader.GetBoolean(3); item.S3Foldername = reader.GetString(reader.GetOrdinal("S3Foldername")); if (!reader.IsDBNull(reader.GetOrdinal("ActivationTimeStamp"))) { item.ActivationTimeStamp = reader.GetDateTime(reader.GetOrdinal("ActivationTimeStamp")); } //if (!reader.IsDBNull(reader.GetOrdinal("ReleaseDate"))) //{ // item.ReleaseDate = reader.GetDateTime(reader.GetOrdinal("ReleaseDate")); //} //if (!reader.IsDBNull(reader.GetOrdinal("PublicationDate"))) //{ // item.PublicationDate = reader.GetDateTime(reader.GetOrdinal("PublicationDate")); //} //if (!reader.IsDBNull(reader.GetOrdinal("ScheduledReleaseDate"))) //{ // item.ScheduledReleaseDate = reader.GetDateTime(reader.GetOrdinal("ScheduledReleaseDate")); //} //if (!reader.IsDBNull(reader.GetOrdinal("PreReleaseDate"))) //{ // item.PreReleaseDate = reader.GetDateTime(reader.GetOrdinal("PreReleaseDate")); //} item.IsPreRelease = reader.GetBoolean(reader.GetOrdinal("IsPreRelease")); item.Imprint = reader.GetString(reader.GetOrdinal("Imprint")); if (!reader.IsDBNull(reader.GetOrdinal("PreviewFileName"))) { item.PreviewFilename = reader.GetString(reader.GetOrdinal("PreviewFileName")); } item.HasDrm = reader.GetBoolean(reader.GetOrdinal("HasDrm")); if (!reader.IsDBNull(reader.GetOrdinal("ActualDurationMinutes"))) { item.ActualDuration = reader.GetDecimal(reader.GetOrdinal("ActualDurationMinutes")); } //if (!reader.IsDBNull(reader.GetOrdinal("DeclaredDurationMinutes"))) //{ // item.DeclaredDuration = reader.GetDecimal(reader.GetOrdinal("DeclaredDurationMinutes")); //} //if (!reader.IsDBNull(reader.GetOrdinal("MediaQty"))) //{ // item.MediaQuantity = reader.GetInt32(reader.GetOrdinal("MediaQty")); //} //if (!reader.IsDBNull(reader.GetOrdinal("FileSize"))) //{ // item.AudioFileSize = reader.GetInt64(reader.GetOrdinal("FileSize")); //} item.HasAttachments = reader.GetBoolean(reader.GetOrdinal("HasAttachments")); list.Add(item); } var groupedItems = list.GroupBy(t => t.Isbn); foreach (var metadata in groupedItems) { Data.Add(metadata.Key, metadata); } }