예제 #1
0
        public ArticleViewModel(Article Article)
        {
            this.Comments       = CommentCore.GetCommentByArticleId(Article.ID);
            this.LatestArticles = new List <LatestArticleRow>();
            foreach (Article article in ArticleCore.GetMostRecentArticles(5))
            {
                LatestArticles.Add(new LatestArticleRow(article.ID, article.Title, article.CreationDate));
            }

            this.LatestContributors = new List <LatestContributorsRow>();
            foreach (Contributor latestContributor in ContributorCore.GetLatestContributors(5))
            {
                LatestContributors.Add(new LatestContributorsRow(latestContributor.ID, latestContributor.Name, latestContributor.TotalContributions, latestContributor.ImageURL));
            }
            this.Affiliate = new Affiliate();
            this.Affiliate = AffiliateCore.GetAffiliatesById(Article.AffiliateID);


            Article.ViewCount = Article.ViewCount + 1;
            ID           = Article.ID;
            Title        = Article.Title;
            CreationDate = Article.CreationDate;
            ViewCount    = Article.ViewCount;//todo dbden arttır
            ArticleBody  = GetArticleBody(ArticleCore.GetArticlePiecesByArticleId(Article.ID));

            Contributor contributor = ContributorCore.GetContributorsById(Article.ContributorID);

            ContributorName  = contributor.Name;
            ContributorImage = contributor.ImageURL;
            ContributorID    = contributor.ID;
        }
예제 #2
0
 public ArticlesViewModel(string keyword, string practice, string contributor, string country, string city, string page, List <City> cities, List <Country> countries)
 {
     this.FoundArticles       = ArticleCore.GetFilteredArticles(keyword, practice, contributor, country, city, page);
     this.RelatedContributors = ContributorCore.GetContributorsById(FoundArticles.Select(x => x.ContributorID).ToList());
     this.RelatedAreas        = PracticeAreaCore.GetPracticeAreasById(FoundArticles.Select(x => x.PracticeAreaID).ToList());
     this.Cities    = cities;
     this.Countries = countries;
     this.Keyword   = keyword;
 }
예제 #3
0
        public IActionResult RemoveArticle(string id, string page = "1")
        {
            Result result = new Result("Makale silindi", true, "");

            try
            {
                ArticleCore.RemoveArticle(id);
            }
            catch (Exception ex)
            {
                result = new Result("Makale silinirken bir hata oluştu", false, ex.Message);
            }
            return(RedirectToAction("Articles", new { id = id, page = page }));
        }
예제 #4
0
        public IActionResult RemoveArticlePiece(string id)
        {
            Result result = new Result("Parça silindi", true, "");

            try
            {
                ArticleCore.RemoveArticlePiece(id);
            }
            catch (Exception ex)
            {
                result = new Result("Parça silinirken bir hata oluştu", false, ex.Message);
            }
            return(Json(result));
        }
예제 #5
0
        public IActionResult AddArticlePost(ArticleAddEditModel model)
        {
            Result result = new Result("Makale kaydedildi", true, "");

            try
            {
                ArticleCore.AddEditArticle(model);
            }
            catch (Exception ex)
            {
                result = new Result("Makale kaydedilirken bir hata oluştu", false, ex.Message);
            }
            return(Json(result));
        }
예제 #6
0
 public IActionResult AddArticle(string id)
 {
     if (!string.IsNullOrEmpty(id))
     {
         Article article = ArticleCore.GetArticleByArticleId(id);
         if (article != null)
         {
             Contributor         contributor  = ContributorCore.GetContributorsById(article.ContributorID);
             PracticeArea        practiceArea = PracticeAreaCore.GetPracticeAreasById(article.PracticeAreaID);
             List <ArticlePiece> pieces       = ArticleCore.GetArticlePiecesByArticleId(article.ID);
             return(View(new ArticleAddEditModel(article, pieces, contributor, practiceArea)));
         }
     }
     return(View(new ArticleAddEditModel()));
 }
예제 #7
0
        public IActionResult Index()
        {
            IndexViewModel model = new IndexViewModel()
            {
                TotalAffiliates         = AffiliateCore.GetAffiliateCount().ToString(),
                TotalArticles           = ArticleCore.GetArticleCount().ToString(),
                TotalContributors       = ContributorCore.GetContributorCount().ToString(),
                TotalViews              = ArticleCore.GetArticleCount().ToString(),
                MostReadArticles        = ArticleCore.GetMostReadArticles(5),
                MostReadContributors    = ContributorCore.GetMostReadContributors(5),
                MostWrittenContributors = ContributorCore.GetMostWrittenContributors(5)
            };

            return(View(model));
        }
예제 #8
0
        public ContributorViewModel(Contributor contributor)
        {
            this.ContributorBio      = contributor.Bio;
            this.ContributorName     = contributor.Name;
            this.Affiliate           = AffiliateCore.GetAffiliatesById(contributor.AffiliateID).Name;
            this.ContributorImageURL = contributor.ImageURL;
            this.Email = contributor.Email;

            this.ContributorArticles = new List <ContributorArticleRow>();
            foreach (Article contributorArticle in ArticleCore.GetArticleByContributorId(contributor.ID, 5, 0))
            {
                ContributorArticles.Add(new ContributorArticleRow(contributorArticle));
            }

            this.TotalContributions = contributor.TotalContributions;
        }
예제 #9
0
        public IndexViewModel(FilterModel FilterModel)
        {
            this.FilterModel = FilterModel;

            Article article = new Article();

            //ArticleCore.GetMostPopularArticles()
            PopularArticles    = ArticleCore.GetMostPopularArticles(5);
            RecentArticles     = ArticleCore.GetMostRecentArticles(12);
            RecentContributors = ContributorCore.GetMostRecentContributors(10);

            List <string> ContributorIds = RecentArticles.Select(x => x.ContributorID).ToList();

            ContributorIds.AddRange(PopularArticles.Select(x => x.ContributorID).ToList());
            //Recent Articles'teki referans edilmiş adamları da ekliyorum
            RecentContributors.AddRange(ContributorCore.GetContributorsById(ContributorIds));

            //Referans edilmiş şiretleri ekliyorum
            Affiliates = AffiliateCore.GetAffiliatesById(RecentContributors.Select(x => x.AffiliateID).ToList());
        }
예제 #10
0
        public ArticleSearchViewModel(FilterModel FilterModel, string affiliate, string practice, string contributor, string country, string city, string page)
        {
            this.FilterModel = FilterModel;
            if (!string.IsNullOrWhiteSpace(country))
            {
                this.FilterModel.Cities = Common.GetCitiesByCountry(country);
            }

            if (!string.IsNullOrWhiteSpace(contributor))
            {
                this.FilterModel.Contributors = Common.GetContributors();
            }

            FilterModel.selectedCity        = city;
            FilterModel.selectedContributor = contributor;
            FilterModel.selectedPractice    = practice;
            FilterModel.selectedCountry     = country;
            FilterModel.selectedAffiliate   = affiliate;

            this.FoundArticles       = ArticleCore.GetFilteredArticles(affiliate, practice, contributor, country, city, page);
            this.RelatedContributors = ContributorCore.GetContributorsById(FoundArticles.Select(x => x.ContributorID).ToList());
            this.RelatedAffiliates   = AffiliateCore.GetAffiliatesById(FoundArticles.Select(x => x.AffiliateID).ToList());
        }
예제 #11
0
 public IActionResult Article(string id)
 {
     return(View(new ArticleViewModel(ArticleCore.GetArticleByArticleId(id))));
 }