Ejemplo n.º 1
0
        private ArticleFeedback SetArticleCommentsFields(string comments, Article article, User user, ArticleFeedback articleFeedback)
        {
            if (articleFeedback == null)
            {
                articleFeedback = new ArticleFeedback();
                dbContext.Set <ArticleFeedback>().Add(articleFeedback);
            }

            articleFeedback.Article     = article;
            articleFeedback.User        = user;
            articleFeedback.Comments    = comments;
            articleFeedback.CommentDate = DateTime.UtcNow;
            return(articleFeedback);
        }
Ejemplo n.º 2
0
        public static void Seed(DbContext dbContext)
        {
            Random random = new Random();

            CreatePublishers(dbContext);
            CreateEmployers(dbContext);

            for (int i = 0; i < articles.Count; i++)
            {
                var randomId = random.Next(1, maxPublishers);
                var user     = dbContext.Set <User>().Where(it => it.Id == randomId).Single();

                var article = articles[i];

                article.AddedByUserId = user.Id;
                article.Author        = user.Name;
                article.IsPublished   = random.Next(1, maxPublishers * randomId) % 2 == 0;

                if (article.IsPublished)
                {
                    article.PublishDate = new DateTime(random.Next(2000, 2017), random.Next(1, 12), random.Next(1, 25));
                }

                dbContext.Set <Article>().Add(article);

                dbContext.SaveChanges();

                for (int j = 0; j < maxEmployers; j++)
                {
                    if (random.Next(1, 10000) % 2 == 0 && random.Next(1, 10000) % 2 == 0)
                    {
                        var articleFeedback = new ArticleFeedback();
                        articleFeedback.Article      = article;
                        articleFeedback.Comments     = Guid.NewGuid().ToString("N");
                        articleFeedback.FeedbackDate = new DateTime(2018, random.Next(1, 8), random.Next(1, 25));
                        articleFeedback.UserId       = user.Id;
                        articleFeedback.Status       = random.Next(1, 10000) % 2 == 0 ?
                                                       random.Next(1, 10000) % 2 == 0 ? ArticleStatus.Like : ArticleStatus.None : ArticleStatus.UnLike;
                        dbContext.Set <ArticleFeedback>().Add(articleFeedback);
                    }
                }
            }

            dbContext.SaveChanges();
        }
Ejemplo n.º 3
0
        private ArticleFeedback SetArticleFeedbackFields(ArticleStatus articleStatus, Article article, User user, ArticleFeedback articleFeedback)
        {
            if (articleFeedback == null)
            {
                articleFeedback = new ArticleFeedback();
                dbContext.Set <ArticleFeedback>().Add(articleFeedback);
            }

            articleFeedback.FeedbackCount++;

            // check max no. of feedback attempts
            if (articleFeedback.FeedbackCount > applicationSettingsService.MaxArticleFeedbackAttempts)
            {
                throw new InvalidOperationException(UserFeedbackMessages.InvalidArticleFeedbackOperation);
            }

            articleFeedback.Article      = article;
            articleFeedback.User         = user;
            articleFeedback.Status       = articleStatus;
            articleFeedback.FeedbackDate = DateTime.UtcNow;

            return(articleFeedback);
        }
Ejemplo n.º 4
0
        public HttpResponseMessage Feedback([FromBody] ArticleFeedback value)
        {
            var result = _frameworkManager.FeedbackArticle(value);

            return(Request.CreateResponse(HttpStatusCode.OK, result));
        }