public async Task <PostDto> CreateAsync(QuotePostCreateDto postCreateDto)
        {
            var quotePost = new QuotePost()
            {
                Text   = postCreateDto.Content,
                UserId = postCreateDto.User.Id
            };

            await _context.Posts.AddAsync(quotePost);

            await _context.SaveChangesAsync();

            return(quotePost.ToDto());
        }
Exemplo n.º 2
0
        private QuotePost ParseQuotePost(JObject jObject, HashSet <string> checkedProperties)
        {
            QuotePost newPost = new QuotePost();
            JToken    current;

            if (CheckProperty(jObject, "text", checkedProperties, out current))
            {
                newPost.Text = (string)current;
            }
            if (CheckProperty(jObject, "source", checkedProperties, out current))
            {
                newPost.Source = (string)current;
            }
            return(newPost);
        }
Exemplo n.º 3
0
        public static PostDto ToDto(this QuotePost qPost)
        {
            var returnDto = new PostDto()
            {
                Id               = qPost.Id,
                CreatedBy        = qPost.User.ToDto(),
                UserId           = qPost.Id,
                CreatedTime      = qPost.CreatedTime,
                Likes            = qPost.Likes,
                Content          = qPost.Text,
                Type             = PostType.ImagePost,
                NumberOfComments = qPost.Comments.Count,
            };

            return(returnDto);
        }
Exemplo n.º 4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="post"></param>
        /// <param name="jPost"></param>
        public static void GenerateQuotePost(ref TumblrPost post, dynamic jPost)
        {
            if (post == null)
            {
                throw new ArgumentNullException(nameof(post));
            }
            if (jPost == null)
            {
                throw new ArgumentNullException(nameof(jPost));
            }

            post = new QuotePost
            {
                Text   = !string.IsNullOrEmpty((string)jPost.text) ? jPost.text : null,
                Source = !string.IsNullOrEmpty((string)jPost.source) ? jPost.source : null
            };
            IncludeCommonPostFields(ref post, jPost);
        }
Exemplo n.º 5
0
        public static PostThreadDto ToPostThreadDto(this QuotePost qPost)
        {
            var threadDto = new PostThreadDto()
            {
                Id               = qPost.Id,
                CreatedBy        = qPost.User?.ToDto(),
                UserId           = qPost.Id,
                CreatedTime      = qPost.CreatedTime,
                Likes            = qPost.Likes,
                Comments         = qPost.Comments.ToDto().ToList(),
                Content          = qPost.Text,
                NumberOfComments = qPost.Comments.Count,
                Type             = PostType.QuotePost,
            };


            return(threadDto);
        }
Exemplo n.º 6
0
        public static void EnsurePopulated(IApplicationBuilder app)
        {
            var context = app.ApplicationServices.GetRequiredService <WhiteBoardContext>();

            context.Database.Migrate();

            if (DbIsEmpty(context))
            {
                var user1 = new User()
                {
                    FirstName = "Samwise",
                    LastName  = "Gamgee",
                    Alias     = "Sam",
                    Email     = "*****@*****.**",
                    Password  = "******",
                };

                var user2 = new User()
                {
                    FirstName = "Bertha",
                    LastName  = "Baggins",
                    Alias     = "Bertha",
                    Email     = "*****@*****.**",
                    Password  = "******"
                };

                var quotePost1 = new QuotePost()
                {
                    UserId = 1,
                    //CreatedBy = user1,
                    Text  = "We have a business strategy around here -  it's called getting shit done",
                    Likes = 5,
                };

                var quotePost2 = new QuotePost()
                {
                    UserId = 2,
                    //CreatedBy = user2,
                    Text  = "If you can think it, you can build it",
                    Likes = 2
                };

                user1.QuotePosts.Add(quotePost1);
                user2.QuotePosts.Add(quotePost2);


                var imagePost = new ImagePost()
                {
                    UserId = 1,
                    Url    = "https://upload.wikimedia.org/wikipedia/commons/thumb/e/e7/Everest_North_Face_toward_Base_Camp_Tibet_Luca_Galuzzi_2006.jpg/560px-Everest_North_Face_toward_Base_Camp_Tibet_Luca_Galuzzi_2006.jpg"
                };

                var videoPost = new VideoPost()
                {
                    UserId = 2,
                    Url    = "https://youtu.be/fFRVFHP4GLE"
                };

                user1.ImagePosts.Add(imagePost);

                user2.VideoPosts.Add(videoPost);

                var comment1 = new Comment()
                {
                    UserId = 1,
                    User   = user1,
                    PostId = 1,
                    Body   = "You are so right!"
                };

                imagePost.Comments.Add(comment1);

                var comment2 = new Comment()
                {
                    UserId = 2,
                    User   = user2,
                    PostId = 2,
                    Body   = "Lovely Video! So motivating :) "
                };

                videoPost.Comments.Add(comment2);

                Console.WriteLine("DB is being updated");

                var comment3 = new Comment()
                {
                    UserId = 2,
                    User   = user2,
                    PostId = 2,
                    Body   = "What a strategy!"
                };

                quotePost1.Comments.Add(comment3);

                context.Users.AddRange(
                    user1, user2
                    );
                context.Posts.AddRange(videoPost, imagePost, quotePost1, quotePost2);

                context.SaveChanges();
            }
        }