Exemple #1
0
        static public List <ArticleUserPair> GetUserArticlePair(IRepositoryWrapper repositoryWrapper,
                                                                List <Article> articleList)
        {
            if (repositoryWrapper == null || articleList == null)
            {
                return(null);
            }

            List <ArticleUserPair> articleUserPairList = new List <ArticleUserPair>();
            UserArticles           userArticle         = null;
            User tempUser = null;

            foreach (var article in articleList)
            {
                article.ArticleCategory = repositoryWrapper.ArticlesCategory.GetCategory(article.ArticleCategoryRefId);
                userArticle             = repositoryWrapper.UserArticles.GetUserArticle(article);

                if (userArticle != null)
                {
                    tempUser = repositoryWrapper.Account.GetUser(userArticle.UserRefId);

                    if (tempUser != null)
                    {
                        articleUserPairList.Add(new ArticleUserPair()
                        {
                            Article = article,
                            User    = tempUser
                        });
                    }
                }
            }

            return(articleUserPairList);
        }
        private User GetUserFromArticle(Article article)
        {
            UserArticles userArticle     = _repositoryWrapper.UserArticles.GetUserArticle(article);
            User         userFromArticle = _repositoryWrapper.Account.GetUser(userArticle.UserRefId);

            return(userFromArticle);
        }
        private void FillConcreteArticleModel(ConcreteArticleModel concreteArticleModel, long lArticleId, long lUserId)
        {
            Article      conreteArticle      = _repositoryWrapper.Articles.GetArticle(lArticleId);
            UserArticles concreteUserArticle = new UserArticles();

            if (lUserId > -1)
            {
                concreteUserArticle = _repositoryWrapper.UserArticles
                                      .GetUserArticle(lArticleId, lUserId);
            }
            else
            {
                concreteUserArticle = _repositoryWrapper.UserArticles
                                      .GetUserArticle(lArticleId);
            }

            conreteArticle.ArticleCategory = _repositoryWrapper.ArticlesCategory
                                             .GetCategory(conreteArticle.ArticleCategoryRefId);
            if (lUserId > -1)
            {
                concreteUserArticle.User = _repositoryWrapper.Account.GetUser(lUserId);
            }
            else
            {
                concreteUserArticle.User = _repositoryWrapper.Account.GetUser(concreteUserArticle.UserRefId);
            }

            concreteArticleModel.Article     = conreteArticle;
            concreteArticleModel.UserArticle = concreteUserArticle;
        }
Exemple #4
0
        public bool AddToFavourites(string userId, int articleId)
        {
            var user = this.DbContext
                       .Users
                       .FirstOrDefault(x => x.Id == userId);

            var article = this.DbContext
                          .Articles
                          .FirstOrDefault(x => x.Id == articleId);

            if (user == null || article == null)
            {
                return(false);
            }

            var userArticle = new UserArticles()
            {
                UserId              = userId,
                ArticleId           = articleId,
                AddedToFavouritesOn = DateTime.UtcNow
            };

            bool alreadyInFavourites = this.DbContext.FavouriteUserArticles
                                       .Any(x => x.UserId == userId && x.ArticleId == articleId);

            if (alreadyInFavourites)
            {
                return(false);
            }

            user.FavouriteArticles.Add(userArticle);
            this.DbContext.SaveChanges();

            return(true);
        }
        private UserArticles GetNewUserArticle(User user, Article article)
        {
            UserArticles userArticles = new UserArticles();

            userArticles.ArticleRefId = article.Id;
            userArticles.UserRefId    = user.Id;

            return(userArticles);
        }
        private void DeleteUserArticleDb(long lLoggedUserId, long lArticleId)
        {
            User         user              = _repositoryWrapper.Account.GetUser(lLoggedUserId);
            Article      articleFromDb     = _repositoryWrapper.Articles.GetArticle(lArticleId);
            UserArticles userArticleFromDb = _repositoryWrapper.UserArticles.GetUserArticle(articleFromDb.Id, user.Id);

            if (user != null && articleFromDb != null && userArticleFromDb != null)
            {
                _repositoryWrapper.UserArticles.Delete(userArticleFromDb);
                _repositoryWrapper.Articles.Delete(articleFromDb);
                _repositoryWrapper.Save();
            }
        }