Exemplo n.º 1
0
        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));
                }
            }
        }
Exemplo n.º 2
0
        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);
            }
        }