public async Task AddPost(PostModel post) { var newPost = new Post { Content = post.Content, Id = Guid.NewGuid(), AuthorId = post.AuthorId, CreationDate = DateTime.Now }; if (post.TopicId.HasValue) { newPost.TopicId = post.TopicId.Value; } else if (post.ParentPostId.HasValue) { newPost.ParentPostId = post.TopicId; } else { throw new ValidationException("У поста должен быть задан идентификатор темы или родительского поста"); } if (post.AttachedFiles != null && post.AttachedFiles.Any()) { await FileManager.AddPostFilesAsync(newPost.Id, post.AttachedFiles); } Posts.Insert(newPost); await UnitOfWork.SaveAsync(); }