Example #1
0
        public void TagCompression()
        {
            TagModel frameModel = new TagModel();

            FrameHelper frameHelper = new FrameHelper(frameModel.Header);

            FrameText originalFrame = (FrameText)FrameFactory.Build("TALB");

            originalFrame.Text        = "Hello World!!!";
            originalFrame.Compression = true;

            ushort flags;

            byte[] body = frameHelper.Make(originalFrame, out flags);

            FrameText resultFrame = (FrameText)frameHelper.Build("TALB", flags, body);

            Assert.AreEqual(resultFrame.Text, originalFrame.Text);
        }
Example #2
0
        public void PublishFrames(string fileName)
        {
            using (Stream stream = File.Open(fileName, FileMode.Open, FileAccess.Read))
            {
                try
                {
                    var        tagModel   = TagManager.Deserialize(stream);
                    SourceFile sourceFile = new SourceFile()
                    {
                        FileName = Path.GetFileName(fileName),
                        FilePath = Path.GetDirectoryName(fileName)
                    };

                    foreach (var frame in tagModel)
                    {
                        SourceFileTag fileTag = new SourceFileTag()
                        {
                            Tag = frame.FrameId
                        };
                        sourceFile.SourceFileTag.Add(fileTag);

                        if (frame is FrameText)
                        {
                            FrameText frameType = (FrameText)frame;
                            fileTag.TagText = new TagText()
                            {
                                Text           = frameType.Text,
                                TextEncodingId = (byte)frameType.TextCode
                            };
                            continue;
                        }

                        if (frame is FrameTextUserDef)
                        {
                            FrameTextUserDef frameType = (FrameTextUserDef)frame;
                            fileTag.TagText = new TagText()
                            {
                                Text           = frameType.Text,
                                Description    = frameType.Description,
                                TextEncodingId = (byte)frameType.TextCode
                            };
                            continue;
                        }

                        if (frame is FrameUrl)
                        {
                            FrameUrl frameType = (FrameUrl)frame;
                            fileTag.TagText = new TagText()
                            {
                                Text = frameType.Url
                            };
                            continue;
                        }

                        if (frame is FrameUrlUserDef)
                        {
                            FrameUrlUserDef frameType = (FrameUrlUserDef)frame;
                            fileTag.TagText = new TagText()
                            {
                                Text           = frameType.URL,
                                Description    = frameType.Description,
                                TextEncodingId = (byte)frameType.TextCode
                            };
                            continue;
                        }

                        if (frame is FrameFullText)
                        {
                            FrameFullText frameType = (FrameFullText)frame;
                            fileTag.TagFullText = new TagFullText()
                            {
                                TextEncodingId = (byte)frameType.TextCode,
                                Description    = frameType.Description,
                                TextLanguage   = frameType.Language,
                                Comment        = frameType.Text
                            };
                            continue;
                        }

                        if (frame is FramePicture)
                        {
                            FramePicture frameType = (FramePicture)frame;
                            fileTag.TagPicture = new TagPicture()
                            {
                                PictureTypeId = (byte)frameType.PictureType,
                                MimeType      = frameType.Mime,
                                Description   = frameType.Description,
                                BinaryImage   = frameType.PictureData
                            };
                            continue;
                        }

                        if (frame is FrameBinary)
                        {
                            FrameBinary frameType = (FrameBinary)frame;
                            fileTag.TagBinary = new TagBinary()
                            {
                                TextEncodingId = (byte)frameType.TextEncoding,
                                MimeType       = frameType.Mime,
                                Description    = frameType.Description,
                                BinaryObject   = frameType.ObjectData
                            };
                            continue;
                        }
                    }
                    _dataContext.SourceFile.InsertOnSubmit(sourceFile);
                    _dataContext.SubmitChanges();
                }
                catch (NotImplementedException e)
                {
                    Console.WriteLine("{0}:{1}", fileName, e.Message);
                }
            }
        }