public Post CreatePost(int threadID, int userID, string message, bool useSignature, HttpPostedFileBase[] files) { string parsedText = _parseServices.ParseBBCodeText(message); Post post = new Post() { Date = DateTime.UtcNow, ParsedText = parsedText, Text = message, TextOnly = _parseServices.GetTextOnly(message), ThreadID = threadID, UserID = userID, UseSignature = useSignature }; _postRepository.Add(post); if (files != null) { _fileServices.CreateAttachments(files, post.PostID); } _unitOfWork.Commit(); return(post); }
public Thread CreateThread( int forumID, int userID, string threadTitle, ThreadType threadType, string threadImage, string message, string pollText, string[] pollOptions, HttpPostedFileBase[] files) { Thread thread = new Thread { ForumID = forumID, Type = (int)threadType, Image = threadImage, Title = threadTitle, HasPoll = false }; string parsedMessage = _parseServices.ParseBBCodeText(message); var firstPost = new Post() { UserID = userID, Date = DateTime.UtcNow, ThreadID = thread.ThreadID, TextOnly = _parseServices.GetTextOnly(message), Text = message, ParsedText = parsedMessage }; thread.Posts.Add(firstPost); if (!string.IsNullOrWhiteSpace(pollText)) { Poll poll = new Poll { Question = pollText, PollID = thread.ThreadID }; thread.Poll = poll; var options = new System.Data.Objects.DataClasses.EntityCollection <PollOption>(); foreach (string po in pollOptions) { poll.PollOptions.Add(new PollOption { Text = po }); } thread.HasPoll = true; } if (files != null) { foreach (var file in files) { string savedName = _fileServices.UploadFile(file); firstPost.Attachments.Add(new Attachment() { Downloaded = 0, SavedName = savedName, DownloadName = file.FileName, Size = file.ContentLength, Type = file.ContentType }); } } _threadRepository.Add(thread); _unitOfWork.Commit(); return(thread); }