public override void ProcessMessage(ParsedMessage parsedMessage)
        {
            base.ProcessMessage(parsedMessage);

            var post = GetPost(parsedMessage);

            post.Title = parsedMessage["TITLE"];

            post.Category = _postCategoryRepository.GetByTitle(parsedMessage["CATEGORY"]);

            post.PublishDate = ParseDateTime(parsedMessage);
            post.DateFrom    = ParseDateTime(parsedMessage, "DATEFROM");
            post.DateTo      = ParseDateTime(parsedMessage, "DATETO");
            post.IsPublished = true;

            SetPosition(parsedMessage, post);
            SetTags(parsedMessage, post);

            var bodyBuilder = new StringBuilder(parsedMessage.Body);

            //try
            //{
            var pictureCount = 0;

            if (parsedMessage.Attachments != null)
            {
                foreach (var attachment in parsedMessage.Attachments)
                {
                    pictureCount++;

                    using (var imageStream = new MemoryStream(attachment.Data))
                    {
                        imageStream.Seek(0, SeekOrigin.Begin);

                        var picture = _pictureRepository.AddPictureToAlbum(
                            MailClientConfiguration.Settings.Pictures.AlbumID,
                            imageStream,
                            attachment.Name,
                            "",
                            "",
                            post.PositionDateTime,
                            post.Position);

                        bodyBuilder.Replace(String.Format("[PICTURE{0}]", pictureCount), CreatePictureHtml(picture));
                    }
                }
            }
            //}
            //catch { ; }

            post.Body = bodyBuilder.ToString();

            if (parsedMessage["POSTID"] == null)
            {
                _postRepository.Save(post);
            }

            _postRepository.SubmitChanges();
        }
Example #2
0
        public override void ProcessMessage(ParsedMessage parsedMessage)
        {
            base.ProcessMessage(parsedMessage);

            var position         = ParsePosition(parsedMessage);
            var positionDateTime = ParseDateTime(parsedMessage);

            using (var imageStream = new MemoryStream(parsedMessage.Attachments.First().Data))
            {
                imageStream.Seek(0, SeekOrigin.Begin);

                _pictureRepository.AddPictureToAlbum(
                    MailClientConfiguration.Settings.Pictures.AlbumID,
                    imageStream,
                    parsedMessage.Attachments.First().Name,
                    parsedMessage["TITLE"],
                    parsedMessage.Body,
                    positionDateTime,
                    position
                    );
            }
        }
 public Picture AddPictureToAlbum(string albumID, Stream image, string imageName, string title, string description, DateTime?positionDateTime, Position position)
 {
     return(_underlyingRepository.AddPictureToAlbum(albumID, image, imageName, title, description, positionDateTime, position));
 }