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(); }
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)); }