using System; using Yavsc.Model.Blogs; using Yavsc.Model.RolesAndMembers; using System.Web; using System.Web.Security; using Yavsc.Model.Circles; using System.Web.Mvc; namespace Yavsc.Model.Blogs { /// /// Blog manager. /// public static class BlogManager { /// /// Removes the comment. /// /// The comment. /// Cmtid. public static long RemoveComment (long cmtid) { return Provider.RemoveComment (cmtid); } /// /// Comment the specified from, postid, content and visible. /// /// From. /// Postid. /// Content. /// If set to true visible. public static void Comment (string from, long postid, string content, bool visible) { provider.Comment (from, postid, content); } static BlogProvider provider; /// /// Gets the provider. /// /// The provider. public static BlogProvider Provider { get { if (provider == null) provider = BlogHelper.GetProvider (); return provider; } } /// /// Gets the post. /// /// The post. /// Username. /// Title. public static BlogEntry GetPost (string username, string title) { return Provider.GetPost (username, title); } /// /// Gets the post. /// /// The post. /// Postid. public static BlogEntry GetPost (long postid) { return Provider.GetPost (postid); } /// /// Post the specified username, title, content and visible. /// /// Username. /// Title. /// Content. /// If set to true visible. /// sets the circles. public static long Post (string username, string title, string content, bool visible, long [] cids) { return Provider.Post (username, title, content, visible, cids); } /// /// Updates the post. /// /// Postid. /// Title. /// Content. /// If set to true visible. /// sets the circles. public static void UpdatePost (long postid, string title, string content, bool visible,long [] cids) { Provider.UpdatePost (postid, title, content, visible,cids); } /// /// Finds the post. /// /// The post. /// Pattern. /// Searchflags. /// Page index. /// Page size. /// Total records. public static BlogEntryCollection FindPost (string readersName, string pattern, FindBlogEntryFlags searchflags, int pageIndex, int pageSize, out int totalRecords) { return Provider.FindPost (readersName, pattern, searchflags, pageIndex, pageSize, out totalRecords); } /// /// Removes the post. /// /// Username. /// Title. public static void RemovePost (string username, string title) { if (!Roles.IsUserInRole ("Admin")) { string rguser = Membership.GetUser ().UserName; if (rguser != username) { throw new AccessViolationException ( string.Format ( "{1}, Vous n'avez pas le droit de suprimer des billets du Blog de {0}", username, rguser)); } } Provider.RemovePost (username, title); } /// /// Lasts the posts. /// /// The posts. /// Page index. /// Page size. /// Total records. public static BlogEntryCollection LastPosts (int pageIndex, int pageSize, out int totalRecords) { return Provider.LastPosts (pageIndex, pageSize, out totalRecords); } /// /// Gets the comments. /// /// The comments. /// Postid. /// If set to true get hidden. public static Comment[] GetComments (long postid, bool getHidden = true) { return Provider.GetComments (postid, getHidden); } /// /// Tag the specified post by postid. /// /// Postid. /// Tag. /// The tag identifier public static long Tag (long postid, string tag) { return Provider.Tag (postid, tag); } } }