public PublicationService() { UnitOfWork = new CoreUnitOfWork(); BlogBiz = new BlogBiz(UnitOfWork); PublicationBiz = new PublicationBiz(UnitOfWork); ContentBiz = new ContentBiz(UnitOfWork); }
public ViewBlogPostModelContainer ReadPostForViewByVisitor(string publicationName, int postId) { var content = BlogBiz.ReadPostForViewByVisitor(publicationName, postId); VisitBiz.IncrementContentVisits(content.Id); UnitOfWork.SaveChanges(); return(new ViewBlogPostModelContainer() { BlogInfo = BlogBiz.Read(b => b.Id == content.PublicationId).MapTo <BlogInfoPM>().Single(), Post = content.GetContentInfoWithTextPM(), Tags = content.Tags.Select(tag => tag.GetPresentationModel()).ToList(), ArchiveItems = PublicationBiz.ReadPublicationArchivedItemsCalendar(content.PublicationId.Value, ContentType.BlogPost) .Select(item => new ContentArchiveItemPM(item.Item1, item.Item2)), Links = BlogBiz.ReadBlogLinks(content.PublicationId.Value) .MapTo <BlogLinkPM>() .ToList(), Comments = content.Comments .Where(comment => !comment.IsPrivate) .Select(comment => comment.GetCommentInfoPM()).ToList(), LatestPosts = BlogBiz.ReadUserPublishedPostsForViewByVisitor(content.Publication.CreatorId) .Take(10) .MapTo <ContentInfoWithTextPM>() .ToList() }); }
public IEnumerable <BlogInfoForGenerateLinkPM> ReadBlogs(int pageIndex, int pageSize) { return(BlogBiz.Read() .OrderBy(blog => blog.Title) .Skip((pageIndex - 1) * pageSize) .Take(pageSize) .MapTo <BlogInfoForGenerateLinkPM>() .ToList()); }
public void UpdateBlogGeneralSettings(int blogId, BlogGeneralSettingsPM generalSettings) { var blog = BlogBiz.ReadSingle(b => b.Id == blogId); var updatedBlog = generalSettings.GetBlog(); blog.Title = updatedBlog.Title; blog.Description = updatedBlog.Description; blog.Email = updatedBlog.Email; UnitOfWork.SaveChanges(); }
public AppStatisticsService() { UnitOfWork = new CoreUnitOfWork(); ArticleBiz = new ArticleBiz(UnitOfWork); BlogBiz = new BlogBiz(UnitOfWork); VisitBiz = new VisitBiz(UnitOfWork); UserBiz = new UserBiz(UnitOfWork); CommentBiz = new CommentBiz(UnitOfWork); MessageBiz = new MessageBiz(UnitOfWork); FeaturedContentBiz = new FeaturedContentBiz(UnitOfWork); }
public BlogService(IPushNotificationProvider pushNotificationProvider) { UnitOfWork = new CoreUnitOfWork(); BlogBiz = new BlogBiz(UnitOfWork); PublicationBiz = new PublicationBiz(UnitOfWork); TagBiz = new TagBiz(UnitOfWork); FriendBiz = new BlogLinkBiz(UnitOfWork); ContentBiz = new ContentBiz(UnitOfWork); VisitBiz = new VisitBiz(UnitOfWork); PushNotificationProvider = pushNotificationProvider; }
public ViewBlogPostModelContainer ReadPostForPreview(string publicationName, int postId) { var content = BlogBiz.ReadPostForPreview(publicationName, postId); VisitBiz.IncrementContentVisits(content.Id); UnitOfWork.SaveChanges(); return(new ViewBlogPostModelContainer() { BlogInfo = BlogBiz.Read(b => b.Id == content.PublicationId).MapTo <BlogInfoPM>().Single(), Post = content.GetContentInfoWithTextPM(), Tags = content.Tags.Select(tag => tag.GetPresentationModel()).ToList(), }); }
public UserProfileService() { UnitOfWork = new CoreUnitOfWork(); UserBiz = new UserBiz(UnitOfWork); MembershipBiz = new MembershipBiz(UnitOfWork); ProfileBiz = new ProfileBiz(UnitOfWork); ArticleBiz = new ArticleBiz(UnitOfWork); BlogBiz = new BlogBiz(UnitOfWork); EducationalResumeBiz = new EducationalResumeBiz(UnitOfWork); VisitBiz = new VisitBiz(UnitOfWork); JobResumeBiz = new JobResumeBiz(UnitOfWork); FollowBiz = new FollowBiz(UnitOfWork); }
public DashboardModelContainer GetUserDashboardData(int userId) { var today = DateTime.Now.Date; return(new DashboardModelContainer() { PendingComments = CommentBiz.ReadNotConfirmedComments(userId).Take(4).MapTo <CommentInfoPM>().ToList(), ArticlesCount = ArticleBiz.ReadUserPublishedContents(userId, ContentType.Article).Count(), BlogPostsCount = BlogBiz.ReadUserTotalPublishedPostsCount(userId), TodayTotallVisits = VisitBiz.ReadUserTodayTotalVisits(userId), LatestMessages = MessageBiz.ReadUserMessages(userId, 4).MapTo <MessagePM>().ToList() }); }
private BlogHomePageModelContainer ReadBlogHomePageData(Blog blog) { return(new BlogHomePageModelContainer() { BlogInfo = blog.GetBlogInfo(), ArchiveItems = PublicationBiz.ReadPublicationArchivedItemsCalendar(blog.Id, ContentType.BlogPost) .Select(item => new ContentArchiveItemPM(item.Item1, item.Item2)), Links = BlogBiz.ReadBlogLinks(blog.Id) .MapTo <BlogLinkPM>() .ToList(), LatestPosts = BlogBiz.ReadUserPublishedPostsForViewByVisitor(blog.CreatorId) .Take(100) .MapTo <ContentInfoWithTextPM>() .ToList() }); }
public int CreateBlog(UserIdentity UserIdentity, BlogGeneralSettingsPM blogRegisterationPM) { var blog = blogRegisterationPM.GetBlog(); blog.CreatorId = UserIdentity.UserId; BlogBiz.CreateBlog(blog); UnitOfWork.SaveChanges(); UserIdentity.HasBlog = true; UserIdentity.Blogs.Add(new ShortBlogInfoPM() { Id = blog.Id, Name = blog.Name, Title = blog.Title }); return(blog.Id); }
public ViewBlogArchiveModelContainer ReadArchiveForViewByVisitor(string publicationName, int?year, int?month) { var blog = BlogBiz.Read(b => b.Name == publicationName) .Include(b => b.Links) .Single(); var postTitles = year.HasValue && month.HasValue ? BlogBiz.ReadBlogPublishedPosts(blog.Id, year.Value, month.Value) : BlogBiz.ReadBlogPublishedPosts(blog.Id); return(new ViewBlogArchiveModelContainer() { Year = year, Month = month, BlogInfo = blog.GetBlogInfo(), Links = blog.Links.Select(link => link.GetLinkPM()).ToList(), PostTitles = postTitles.MapTo <ContentInfo2PM>().ToList(), ArchiveItems = PublicationBiz.ReadPublicationArchivedItemsCalendar(blog.Id, ContentType.BlogPost) .Select(item => new ContentArchiveItemPM(item.Item1, item.Item2)), }); }
public UserInfoForHomePageModelContainer ReadUserInfoForProfilePage(int userId, UserIdentity userIdentity) { var user = UserBiz.Read(u => u.Id == userId) .Include(u => u.Membership) .Include(u => u.EducationalResumes.Select(x => x.Organization)) .Include(u => u.EducationalResumes.Select(x => x.UniversityField)) .Include(u => u.JobResumes.Select(x => x.Organization)) .Include(u => u.JobResumes.Select(x => x.Job)) .Single(); var profileKeyValues = ProfileBiz.ReadUserProfileValues(userId, ProfileKeyValueType.WebSiteUrl, ProfileKeyValueType.FacebookUrl, ProfileKeyValueType.TwitterUrl, ProfileKeyValueType.LinkedInUrl, ProfileKeyValueType.AboutMe); var userBlog = BlogBiz.ReadSingleOrDefault(b => b.CreatorId == userId); return(new UserInfoForHomePageModelContainer() { UserId = userId, FirstName = user.FirstName, LastName = user.LastName, AboutMe = profileKeyValues.SingleOrDefault(kv => kv.Type == ProfileKeyValueType.AboutMe)?.Value, WebSiteUrl = profileKeyValues.SingleOrDefault(kv => kv.Type == ProfileKeyValueType.WebSiteUrl)?.Value, FacebookUrl = profileKeyValues.SingleOrDefault(kv => kv.Type == ProfileKeyValueType.FacebookUrl)?.Value, TwitterUrl = profileKeyValues.SingleOrDefault(kv => kv.Type == ProfileKeyValueType.TwitterUrl)?.Value, LinkedInUrl = profileKeyValues.SingleOrDefault(kv => kv.Type == ProfileKeyValueType.LinkedInUrl)?.Value, TotalArticles = ArticleBiz.ReadUserPublishedContents(userId, ContentType.Article).Count(), TotalBlogPosts = ArticleBiz.ReadUserPublishedContents(userId, ContentType.BlogPost).Count(), TotalVisits = VisitBiz.ReadUserTodayTotalVisits(userId), LatestArticles = ArticleBiz.ReadUserLatestPublishedArticles(userId, 200).MapTo <ContentInfo2PM>().ToList(), LatestBlogPosts = BlogBiz.ReadUserLatestPosts(userId, 5).MapTo <ContentInfo2PM>().ToList(), EducationalResumes = user.EducationalResumes.OrderByDescending(x => x.EducationGrade).Select(x => x.GetPresentationModel()).ToList(), JobResumes = user.JobResumes.OrderByDescending(x => x.StartYear).Select(x => x.GetPresentationModel()).ToList(), WeblogName = userBlog?.Name, RegistrationDateString = user.Membership.CreateDate.ToPersianDate(), CurrentUserFollowsThisUser = userIdentity != null?FollowBiz.AnyFollow(userIdentity.UserId, userId) : false, Followers = FollowBiz.ReadFollowersCount(userId) }); }
public BlogGeneralSettingsPM ReadBlogGeneralSettings(int blogId) { return(BlogBiz.ReadSingle(b => b.Id == blogId).GetGeneralSettingsPM()); }
public SetupBlogService() { UnitOfWork = new CoreUnitOfWork(); BlogBiz = new BlogBiz(UnitOfWork); TagBiz = new TagBiz(UnitOfWork); }
public int ReadTotallBlogsCount() { return(BlogBiz.ReadTotallBlogsCount()); }
public DataSourceResult ReadUserPosts(UserIdentity user, DataSourceRequest request) { return(BlogBiz.ReadUserLatestPosts(user.UserId) .MapTo <ContentInfo5PM>() .ToDataSourceResult(request)); }