Example #1
0
        public async Task <IActionResult> CreatePost([FromBody] PostViewModel Post)
        {
            try
            {
                //сформировать и вставить пост
                var author = await _accountService.GetAccount(new User { Nickname = Post.nickname, Password = Post.password });

                var post = Post.ToPostObject();
                post.AuthorId = author.Id;
                await _postService.InsertPost(post);

                //получить пост с id
                post = await _postService.GetSingle(post.Title, author.Nickname);

                //сформировать теги и получит теги с id
                foreach (var i in Post.tags)
                {
                    await _postTagService.CreateTag(i);
                }
                List <Tag> tags = new List <Tag>();
                foreach (var b in Post.tags)
                {
                    tags.Add(await _postTagService.GetSingleTag(b));
                }

                //сформировать пары ключей пост-тег
                foreach (var c in tags)
                {
                    await _postTagService.CreatePostTagNode(post.Id, c.Id);
                }

                return(Ok());
            }
            catch (Exception e)
            {
                return(BadRequest(e.ToString()));
            }
        }