public ArticleRelatedToEditedArticleModel(int articleId, ArticleStatus status, DateTime changedOn, string changedBy) { ArticleId = articleId; Status = status; ChangedOn = changedOn; ChangedBy = changedBy; }
public List <ArticleStatus> GetAll() { ArticleStatusDAC _articleStatusComponent = new ArticleStatusDAC(); IDataReader reader = _articleStatusComponent.GetAllArticleStatus().CreateDataReader(); List <ArticleStatus> _articleStatusList = new List <ArticleStatus>(); while (reader.Read()) { if (_articleStatusList == null) { _articleStatusList = new List <ArticleStatus>(); } ArticleStatus _articleStatus = new ArticleStatus(); if (reader["ArticleStatusId"] != DBNull.Value) { _articleStatus.ArticleStatusId = Convert.ToInt32(reader["ArticleStatusId"]); } if (reader["Name"] != DBNull.Value) { _articleStatus.Name = Convert.ToString(reader["Name"]); } if (reader["RowGuid"] != DBNull.Value) { _articleStatus.RowGuid = new Guid(reader["RowGuid"].ToString()); } if (reader["ModifiedDate"] != DBNull.Value) { _articleStatus.ModifiedDate = Convert.ToDateTime(reader["ModifiedDate"]); } _articleStatus.NewRecord = false; _articleStatusList.Add(_articleStatus); } reader.Close(); return(_articleStatusList); }
public void When(ArticleCreated articleCreated) { Id = articleCreated.Id; Title = articleCreated.Title; Content = articleCreated.Content; Status = ArticleStatus.Creating; }
public ArticleStatus GetByID(int _articleStatusId) { ArticleStatusDAC _articleStatusComponent = new ArticleStatusDAC(); IDataReader reader = _articleStatusComponent.GetByIDArticleStatus(_articleStatusId); ArticleStatus _articleStatus = null; while (reader.Read()) { _articleStatus = new ArticleStatus(); if (reader["ArticleStatusId"] != DBNull.Value) { _articleStatus.ArticleStatusId = Convert.ToInt32(reader["ArticleStatusId"]); } if (reader["Name"] != DBNull.Value) { _articleStatus.Name = Convert.ToString(reader["Name"]); } if (reader["RowGuid"] != DBNull.Value) { _articleStatus.RowGuid = new Guid(reader["RowGuid"].ToString()); } if (reader["ModifiedDate"] != DBNull.Value) { _articleStatus.ModifiedDate = Convert.ToDateTime(reader["ModifiedDate"]); } _articleStatus.NewRecord = false; } reader.Close(); return(_articleStatus); }
private void UpdateStatus(ArticleUser reading, ArticleStatus newStatus) { if (reading.Status >= newStatus) { // cant downgrade status return; } switch (newStatus) { case ArticleStatus.New: reading.CreatedAt = DateTime.UtcNow; break; case ArticleStatus.Sent: reading.SentAt = DateTime.UtcNow; break; case ArticleStatus.Read: reading.ReadAt = DateTime.UtcNow; break; default: throw new Exception($"Unknown status: {newStatus}"); } reading.Status = newStatus; }
public Article(ArticleContent content, ArticleStatus status, ArticleSettings settings, uint ownerId) : this(content, status, settings) { this.Author = new ArticleUser() { Id = ownerId }; }
/// <summary> /// 更新文章状态 /// </summary> /// <param name="articleId">文章Id</param> /// <param name="status">状态值</param> /// <returns></returns> public async Task <Article> UpdateArticleStatus(int articleId, ArticleStatus status) { var updateArticle = await discoveryDbContext.Article.FirstOrDefaultAsync(article => article.PKID == articleId); if (updateArticle == null) { throw new Exception("文章不存在"); } updateArticle.Status = status.ToString(); updateArticle.LastUpdateDateTime = DateTime.Now; //如果将文章撤回,并且当前文章为置顶状态,则设置为非置顶 if (status == ArticleStatus.Withdrew && updateArticle.IsTopMost.HasValue && updateArticle.IsTopMost.Value == true) { updateArticle.IsTopMost = false; } await discoveryDbContext.SaveChangesAsync(); if (status == ArticleStatus.Withdrew) { await InsertDataChangeRecord(updateArticle, DataOperationEnum.Withdrew); } return(updateArticle); }
public Article(string Subject, DateTime Date, string Poster, string[] Groups, string ImportFile) : this() { m_Subject = Subject; m_Date = Date; m_Poster = Poster; m_Groups = Groups; m_Segments = new ArrayList(); m_Status = ArticleStatus.Loading; m_Filename = ""; m_Size = 0; m_FinishedParts = 0; m_DownloadCnt = 0; m_ImportFile = ImportFile; m_StatusItem = new System.Windows.Forms.ListViewItem(); while (m_StatusItem.SubItems.Count < Global.ArticleListCols) { m_StatusItem.SubItems.Add(""); } m_StatusItem.Tag = this; UpdateStatus(); OnDownloadedHandler = new OnDownloadedDelegate(DownloadedHandler); }
public override IList <Article> GetArticles(Category category, ArticleStatus status, bool recursive) { IList <Article> articles = null; using (TransactionScope transaction = new TransactionScope(mConfiguration)) { ArticleDataStore dataStore = new ArticleDataStore(transaction); articles = dataStore.FindByCategoryAndOwner(category, null, status); if (recursive) { // Find children of this parent category. CategoryDataStore ds = new CategoryDataStore(transaction); IList <Category> childCategories = ds.FindByChildOfCategory(category.Id); foreach (Category subCategory in childCategories) { IList <Article> subArticles = dataStore.FindByCategoryAndOwner(subCategory, null, status); foreach (Article subArticle in subArticles) { articles.Add(subArticle); } } } } return(articles); }
public virtual IQueryable <ArticleFeedback> GetArticleStatQuery(ArticleStatus status) { var query = from it in dbContext.Set <ArticleFeedback>() where it.Status == status select it; return(query); }
/// <summary> /// 搜索文章 /// </summary> /// <param name="status">文章状态</param> /// <param name="keyword">文章标题</param> /// <param name="startCreateDateTime">创建开始时间</param> /// <param name="endCreateDateTime">创建结束时间</param> /// <param name="pager">分页模型</param> /// <returns>文章列表</returns> public static async Task <List <Article> > SearchArticle(ArticleStatus status, PagerModel pager, DateTime?startCreateDateTime, DateTime?endCreateDateTime, string pkid = null, string keyword = null, int type = 5, int category = -1) { if (string.IsNullOrWhiteSpace(keyword) || string.IsNullOrEmpty(keyword)) { keyword = string.Empty; } return(await articleDal.SearchArticle(ProcessConnection.OpenMarketingReadOnly, status, pager, startCreateDateTime, endCreateDateTime, pkid, keyword, type, category)); }
public abstract IList <Article> FindArticles(Filter <string> categoryName, Filter <string> searchFor, Filter <string> author, Filter <string> owner, Filter <string> tag, DateTime?fromDate, DateTime?toDate, ArticleStatus status, PagingInfo paging);
public CreateArticleRequest(string title, string description, ArticleStatus status, SeoData?seoData = null, string[]?tags = null) { Title = title; Description = description; Status = status; SeoData = seoData; Tags = tags; }
public abstract IList<Article> FindArticles(Filter<string> categoryName, Filter<string> searchFor, Filter<string> author, Filter<string> owner, Filter<string> tag, DateTime? fromDate, DateTime? toDate, ArticleStatus status, PagingInfo paging);
public async Task <PaginationEntity <ArticleFavorite> > GetUserFavoriteArticleAsync(int pageIndex, int pageSize, int userId) { ArticleStatus[] status = new ArticleStatus[] { ArticleStatus.Confirmed }; var result = (from f in DnaCoreContext.ArticleFavorite join a in DnaCoreContext.Article on f.ArticleId equals a.Id join c in DnaCoreContext.ArticleCategory on a.CategoryId equals c.Id join user in DnaCoreContext.UserDetail on a.CreatedById equals user.UserId where status.Contains(a.Status) && c.IsVisible == true orderby f.CreatedDate descending select new ArticleFavorite { Id = f.Id, Article = new Article { Id = a.Id, ShortDescription = a.ShortDescription, Slug = a.Slug, Title = a.Title, CategoryId = a.CategoryId, CreatedById = a.CreatedById, CreatedDate = a.CreatedDate, Author = new UserDetail { FirstName = user.FirstName, LastName = user.LastName }, Category = new ArticleCategory { Id = c.Id, Name = c.Name }, ImageMaps = (from i in DnaCoreContext.Image join map in DnaCoreContext.ArticleImage on i.Id equals map.ImageId where map.ArticleId == a.Id && i.IsPrimary == true select new ArticleImage { Id = map.Id, Image = new Image { Id = i.Id, FileName = i.FileName, FileExtension = i.FileExtension, ImageUrl = i.ImageUrl, IsPrimary = true } }).ToList() } }); return(new PaginationEntity <ArticleFavorite> { Page = pageIndex, PageSize = pageSize, TotalCount = await result.CountAsync(), Items = await result.Skip((pageIndex - 1) *pageSize).Take(pageSize).ToListAsync() }); }
public IList<Entities.Article> GetArticlesByStatus(ArticleStatus articleStatus) { var articles = (from a in DbContext().Article .Include(y => y.Comments) //// where (a.Status == articleStatus) select a) .OrderByDescending(x => x.CreatedDate).ToList(); return articles; }
public static DataTable GetArticles(int CategoryID, ArticleStatus status) { ForumArticle mArticles = new ForumArticle(); mArticles.CategoryID = CategoryID; mArticles.ArticleStatus = (int)status; return(mArticles.LoadArticlesByParams().Tables[0]); }
public override IList <Article> GetAllArticlesByOwner(string owner, ArticleStatus status) { using (TransactionScope transaction = new TransactionScope(mConfiguration)) { ArticleDataStore dataStore = new ArticleDataStore(transaction); return(dataStore.FindByOwner(owner, status)); } }
public static void UpdateArticleStatus(int ArticleID, ArticleStatus status) { ForumArticle mArticle = new ForumArticle(); mArticle.Load(ArticleID); mArticle.ArticleStatus = (int)status; mArticle.Save(); }
private async Task <IHttpActionResult> SaveArticleFeedbackAsync(int id, ArticleStatus status) { var user = membershipService.GetCurrentLoggedInUser(); if (user.UserType == UserType.Employer) { await articleService.SaveArticleFeedbackAsync(id, user.Id, status); } return(Ok(await articleService.GetArticleWithStatQuery(id).SingleOrDefaultAsync())); }
public IList <Entities.Article> GetArticlesByStatus(ArticleStatus articleStatus) { var articles = (from a in DbContext().Article .Include(y => y.Comments) //// where (a.Status == articleStatus) select a) .OrderByDescending(x => x.CreatedDate).ToList(); return(articles); }
private Article(ArticleContent content, ArticleStatus status, ArticleSettings settings) { if (status.CreatedTime == null) { Status.CreatedTime = DateTime.UtcNow; Status.ModifyTime = DateTime.UtcNow; } this.Content = content; this.Status = status; this.Settings = settings; }
public bool Insert(ArticleStatus articlestatus) { int autonumber = 0; ArticleStatusDAC articlestatusComponent = new ArticleStatusDAC(); bool endedSuccessfuly = articlestatusComponent.InsertNewArticleStatus(ref autonumber, articlestatus.Name, articlestatus.RowGuid, articlestatus.ModifiedDate); if (endedSuccessfuly) { articlestatus.ArticleStatusId = autonumber; } return(endedSuccessfuly); }
public ArticleDisplayForEditModel(string body, Language language, ArticleStatus status, string code, int id, bool disableBodyEdit, IEnumerable<ArticleRelatedToEditedArticleModel> relatedToEdited, ICollection<Language> articleLanguages, ICollection<SupportedLanguage> supportedLanguages ) { Body = body; Language = language; Status = status; Code = code; ArticleId = id; DisableBodyEdit = disableBodyEdit; RelatedAricles = relatedToEdited; ExistingArticleLanguages = articleLanguages; SupportedLanguages = supportedLanguages; }
/// <summary> /// Search for articles with the specified filters. /// The filters are aggregated with an AND expression. /// </summary> /// <param name="categoryName"></param> /// <param name="searchFor"></param> /// <param name="author"></param> /// <param name="owner"></param> /// <param name="tag"></param> /// <param name="fromDate"></param> /// <param name="toDate"></param> /// <param name="status"></param> /// <param name="paging"></param> /// <returns></returns> public IList <Article> FindByFields(Filter <string> categoryName, Filter <string> searchFor, Filter <string> author, Filter <string> owner, Filter <string> tag, DateTime?fromDate, DateTime?toDate, ArticleStatus status, PagingInfo paging) { ICriteria criteria = CreateCriteria(); if (author != null) { criteria.Add(author.ToCriterion("Author")); } if (owner != null) { criteria.Add(owner.ToCriterion("Owner")); } if (tag != null) { criteria.Add(tag.ToCriterion("Tag")); } if (searchFor != null) { criteria.Add(Expression.Or(searchFor.ToCriterion("Body"), searchFor.ToCriterion("Title"))); } if (fromDate != null) { criteria.Add(Expression.Ge("UpdateDate", fromDate)); } if (toDate != null) { criteria.Add(Expression.Le("UpdateDate", toDate)); } if (categoryName != null) { ICriteria categoryCriteria = criteria.CreateCriteria("Category"); categoryCriteria.Add(categoryName.ToCriterion("Name")); } AddCriteriaForStatus(criteria, status); criteria.AddOrder(Order.Desc("UpdateDate")); return(Find(criteria, paging, false)); }
public async Task <IActionResult> GetAllArticleAsync(int page, int pageSize) { ArticleStatus[] status = new ArticleStatus[] { ArticleStatus.Confirmed, ArticleStatus.UnConfirmed }; var response = await _articleService.FindByStatus(page, pageSize, status); if (response.Success) { return(Ok(response.Item)); } else { return(BadRequest(response.Message)); } }
public ArticleModel( int articleId , int articleGroupThreadId , int articleGroupId , string friendlyName , DateTime dateCreatedUtc , int totalComments , XElement extraInfo , int authorUserId , ArticleStatus articleStatus , string subject , string formattedBody , int messageBoardThreadId , bool isMessageBoardEnabled , int?contentLevelNodeId , string breadCrumbs , string breadCrumbsSplitIndexes ) : base( articleId , articleGroupThreadId , articleGroupId , friendlyName , dateCreatedUtc , totalComments , extraInfo) { this.ArticleStatus = articleStatus; this.AuthorUserId = authorUserId; this.Subject = subject; this.FormattedBody = formattedBody; this.MessageBoardThreadId = messageBoardThreadId; this.IsMessageBoardEnabled = isMessageBoardEnabled; this.Attachments = new List <IArticleAttachmentModel>(); this.ContentLevelNodeId = contentLevelNodeId; this.ContentLevelNodes = new List <string>(); if (!string.IsNullOrEmpty(breadCrumbs) && !string.IsNullOrEmpty(breadCrumbsSplitIndexes)) { int index; int lastIndex = 0; foreach (string split in breadCrumbsSplitIndexes.Split(',')) { index = int.Parse(split); this.ContentLevelNodes.Add(breadCrumbs.Substring(lastIndex, index)); lastIndex += index; } } }
public async Task <IActionResult> ChangeArticleStatusAsync(int id, [FromBody] ArticleStatus status) { AssignModelState(); var response = await _articleService.ChangeStatusAsync(id, status); if (response.Success) { return(Ok(response.Item)); } else { return(BadRequest(response.Message)); } }
public static bool UpdateArticleStatus(SqlConnection conn, int articleId, ArticleStatus status, int isShow) { using (conn) { const string sql = @"UPDATE Marketing..tbl_Article SET Status=@Status,IsShow=@IsShow,LastUpdateDateTime=GETDATE() WHERE PKID=@PKID"; var parameter = new SqlParameter[] { new SqlParameter("@PKID", articleId), new SqlParameter("@Status", status.ToString()), new SqlParameter("@IsShow", isShow) }; return(SqlHelper.ExecuteNonQuery(conn, CommandType.Text, sql, parameter) > 0); } }
public IList <Article> FindByOwner(string owner, ArticleStatus status) { ICriteria criteria = CreateCriteria(); criteria.AddOrder(Order.Asc("Title")); AddCriteriaForStatus(criteria, status); if (owner != null) { criteria.Add(Expression.Eq("Owner", owner)); } return(Find(criteria, false)); }
public ArticleMetadataModel( ArticleStatus status, Version version, NodaTime.LocalDate firstRevision, NodaTime.LocalDate lastRevision, NodaTime.LocalDate lastReview, NodaTime.LocalDate nextReview) { Status = status; Version = version; FirstRevision = firstRevision; LastRevision = lastRevision; LastReview = lastReview; NextReview = nextReview; }
public ArticleAddCommand(ArticleContent content, ArticleSettings settings, ArticleStatus status, uint authorId) { this.Content = content; this.Settings = settings; this.Status = status; this.AuthorId = authorId; if (this.Status != null) { Status.CreatedTime = DateTime.UtcNow; if (Status.IsPublished) { Status.PublishTime = DateTime.UtcNow; } } }
public async Task <IActionResult> Details(int id, ArticleStatus status) { var articleToUpdate = await _context.Article.SingleOrDefaultAsync(a => a.ArticleID == id); if (articleToUpdate == null) { return(NotFound()); } var opeartion = (status == ArticleStatus.Approved ? ArticleOperations.Approve : ArticleOperations.Reject); var isAuthorized = await _aus.AuthorizeAsync( User, articleToUpdate, opeartion); if (!isAuthorized.Succeeded) { return(new ChallengeResult()); } if (ModelState.IsValid) { try { await TryUpdateModelAsync <Article>(articleToUpdate, "", a => a.Status ); await _context.SaveChangesAsync(); _toaster.ToastSuccess("文章审核成功"); } catch (DbUpdateConcurrencyException) { _toaster.ToastError("文章审核失败"); if (!ArticleExists(id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(articleToUpdate)); }
public static IList <Article> FindArticles(Filter <string> categoryName, Filter <string> searchFor, Filter <string> author, Filter <string> owner, Filter <string> tag, DateTime?fromDate, DateTime?toDate, ArticleStatus status, PagingInfo paging) { return(Provider.FindArticles(categoryName, searchFor, author, owner, tag, fromDate, toDate, status, paging)); }
public Article( string Subject, DateTime Date, string Poster, string[] Groups, string ImportFile) { m_Subject = Subject; m_Date = Date; m_Poster = Poster; m_Groups = Groups; m_Segments = new ArrayList(); m_Status = ArticleStatus.Loading; m_Filename = ""; m_Size = 0; m_FinishedParts = 0; m_DownloadCnt = 0; m_ImportFile = ImportFile; m_StatusItem = new System.Windows.Forms.ListViewItem(); while(m_StatusItem.SubItems.Count < Global.ArticleListCols) m_StatusItem.SubItems.Add(""); m_StatusItem.Tag = this; UpdateStatus(); OnDownloadedHandler = new OnDownloadedDelegate(DownloadedHandler); }
/// <summary> /// Constructor. /// </summary> /// <param name="id">The ID of the article.</param> /// <param name="title">The title of the article.</param> /// <param name="type">The type of the article.</param> /// <param name="originalDate">The creation date of the article.</param> /// <param name="originalUser">The user that created the article.</param> /// <param name="lastModifiedDate">The last modification date of the article.</param> /// <param name="lastModifiedUser">The last user to modify the article.</param> /// <param name="status">The status of the article.</param> /// <param name="lockedBy">The acronym of the user that has locked the article (if any).</param> /// <param name="lockedAt">The date and time at which the article was locked.</param> /// <param name="validationDate">The date at which the last change of status was made.</param> /// <param name="validationUser">The user that made the last change on the status of the article.</param> /// <param name="summary">The summary of the article.</param> /// <param name="text">The text of the article.</param> public WikiArticle(int id, string title, ArticleType type, DateTime originalDate, string originalUser, DateTime lastModifiedDate, string lastModifiedUser, ArticleStatus status, string lockedBy, DateTime lockedAt, DateTime validationDate, string validationUser, string summary, string text) : base(id, title, type, originalDate, originalUser, lastModifiedDate, lastModifiedUser, status, lockedBy, lockedAt, validationDate, validationUser, summary) { this.m_Text = text; }
public void IncreaseFinishedParts() { lock( this) { m_FinishedParts++; } if(m_FinishedParts == m_Segments.Count) if(m_Status != ArticleStatus.Loading) { m_Status = ArticleStatus.DecodeQueued; Decoder.DecodeQueue.Enqueue(this); } UpdateStatus(); }
/// <summary> /// Constructor. /// </summary> /// <param name="baseArticle">A BaseArticle upon which this object is created.</param> /// <param name="id">The id of the article.</param> /// <param name="originalDate">The date at which the article was created.</param> /// <param name="originalUser">The user that created the article.</param> /// <param name="lastModifiedDate">The date at which the article was last modified.</param> /// <param name="lastModifiedUser">The user that made the last modifications to the article.</param> /// <param name="status">The status of the article.</param> /// <param name="lockedBy">The user that currently has locked the article (if any).</param> /// <param name="lockedAt">The date and time at which the article was locked (if it is locked).</param> /// <param name="validationDate">The date at which the last change of status was made.</param> /// <param name="validationUser">The user that made the last change on the status of the article.</param> /// <param name="summary">The summary of the article.</param> public WikiArticleInfo(BaseArticle baseArticle, int id, DateTime originalDate, string originalUser, DateTime lastModifiedDate, string lastModifiedUser, ArticleStatus status, string lockedBy, DateTime lockedAt, DateTime validationDate, string validationUser, string summary) : this(id, baseArticle.Title, baseArticle.Type, originalDate, originalUser, lastModifiedDate, lastModifiedUser, status, lockedBy, lockedAt, validationDate, validationUser, summary) { }
public static IList<Article> FindArticles(Filter<string> categoryName, Filter<string> searchFor, Filter<string> author, Filter<string> owner, Filter<string> tag, DateTime? fromDate, DateTime? toDate, ArticleStatus status, PagingInfo paging) { return Provider.FindArticles(categoryName, searchFor, author, owner, tag, fromDate, toDate, status, paging); }
public static IList<Article> GetArticles(Category category, ArticleStatus status) { return Provider.GetArticles(category, status); }
public override IList<Article> GetArticlesByOwner(Category category, string owner, ArticleStatus status) { using (TransactionScope transaction = new TransactionScope(mConfiguration)) { ArticleDataStore dataStore = new ArticleDataStore(transaction); return dataStore.FindByCategoryAndOwner(category, owner, status); } }
/// <summary> /// Constructor. /// </summary> /// <param name="id">The id of the article.</param> /// <param name="title">The title of the article.</param> /// <param name="type">The type of the article.</param> /// <param name="creationDate">The date at which the article was created.</param> /// <param name="creationUser">The user that created the article.</param> /// <param name="lastModifiedDate">The date at which the article was last modified.</param> /// <param name="lastModifiedUser">The user that made the last modifications to the article.</param> /// <param name="status">The status of the article.</param> /// <param name="lockedBy">The user that currently has locked the article (if any).</param> /// <param name="lockedAt">The date and time at which the article was locked (if it is locked).</param> /// <param name="validationDate">The date at which the last change of status was made.</param> /// <param name="validationUser">The user that made the last change on the status of the article.</param> /// <param name="summary">The summary of the article.</param> public WikiArticleInfo(int id, string title, ArticleType type, DateTime creationDate, string creationUser, DateTime lastModifiedDate, string lastModifiedUser, ArticleStatus status, string lockedBy, DateTime lockedAt, DateTime validationDate, string validationUser, string summary) : base(title, type) { this.m_Id = id; this.m_CreationDate = creationDate; this.m_CreationUser = creationUser; this.m_LastModificationDate = lastModifiedDate; this.m_LastModificationUser = lastModifiedUser; this.m_Status = status; this.m_LockedBy = lockedBy; this.m_LockedAt = lockedAt; this.m_Summary = summary; this.m_ValidationDate = validationDate; this.m_ValidationUser = validationUser; }
public abstract IList<Article> GetArticles(Category category, ArticleStatus status);
public override IList<Article> FindArticles(Filter<string> categoryName, Filter<string> searchFor, Filter<string> author, Filter<string> owner, Filter<string> tag, DateTime? fromDate, DateTime? toDate, ArticleStatus status, PagingInfo paging) { using (TransactionScope transaction = new TransactionScope(mConfiguration)) { ArticleDataStore dataStore = new ArticleDataStore(transaction); return dataStore.FindByFields(categoryName, searchFor, author, owner, tag, fromDate, toDate, status, paging); } }
/// <summary> /// Update the status of an article. /// This method is private because it does not perform any user rights checks, which must be thus done before calling it. /// </summary> /// <param name="article">An article whose status is updated.</param> /// <param name="user">The user updating the status of an article.</param> /// <param name="articleStatus">The new status of the article.</param> /// <param name="mustReleaseLock">Indicates that the lock that user has on the article must be released.</param> /// <returns>True if the query was successful.</returns> private static bool UpdateArticleStatus(WikiArticle article, User user, ArticleStatus articleStatus, bool mustReleaseLock) { // No user rights are checked except that the article is not locked by another user. // The last modification user is also updated so that we can check whether the user can undo the article afterwards. string query = string.Format(@"UPDATE tbl_articles SET art_status = {2}, art_modification_user = '******', art_validation_date = GETDATE(), art_validation_user = '******', art_locked_by = '{3}' WHERE art_id_pkey = {0} AND (art_locked_by = '{1}' OR art_locked_by = '')", article.Id, user.UserLogin, (int)articleStatus, mustReleaseLock ? string.Empty : user.UserLogin); bool isSuccessful = Convert.ToBoolean(DataAccess.ExecuteOwnStatement(query)); if (isSuccessful) { // If the query was successful, update the current article. article.Status = articleStatus; if (mustReleaseLock) article.LockedBy = string.Empty; else article.LockedBy = user.UserLogin; } return isSuccessful; }
public static IList<Article> GetArticlesByOwner(Category category, string owner, ArticleStatus status) { return Provider.GetArticlesByOwner(category, owner, status); }
/// <summary> /// Gets a list of all the articles that are currently in a given status. /// </summary> /// <param name="articleStatus">An article status.</param> /// <returns>A list of articles in the given status.</returns> public static List<WikiArticleInfo> GetArticles(ArticleStatus articleStatus) { // Approved articles originate from a different source. if (articleStatus == ArticleStatus.Approved) return GetApprovedArticles(); string query = string.Format(@"SELECT {1} FROM tbl_articles WHERE art_status = '{0}' ORDER BY art_title", (int)articleStatus, ARTICLE_INFO_FIELDS); return GetArticleInfosFromQuery(query); }
public abstract IList<Article> GetArticlesByOwner(Category category, string owner, ArticleStatus status);
/// <summary> /// Copy constructor. /// </summary> /// <param name="info">The underlying WikiArticleInfo from which this object is constructed.</param> public WikiArticleInfo(WikiArticleInfo info) : base(info.Title, info.Type) { this.m_Id = info.Id; this.m_CreationDate = info.CreationDate; this.m_CreationUser = info.CreationUser; this.m_LastModificationDate = info.LastModificationDate; this.m_LastModificationUser = info.LastModificationUser; this.m_Status = info.Status; this.m_LockedBy = info.LockedBy; this.m_LockedAt = info.LockedAt; this.m_ValidationDate = info.ValidationDate; this.m_ValidationUser = info.ValidationUser; this.m_ParentCategories = info.ParentCategories; this.m_ParentApprovedCategories = info.ParentApprovedCategories; this.m_ChildPortals = info.ChildPortals; this.m_ChildCategories = info.ChildCategories; this.m_ChildArticles = info.ChildArticles; this.m_ChildHowTo = info.ChildHowTo; this.m_ChildSamples = info.ChildSamples; this.m_ChildApprovedPortals = info.ChildApprovedPortals; this.m_ChildApprovedCategories = info.ChildApprovedCategories; this.m_ChildApprovedArticles = info.ChildApprovedArticles; this.m_ChildApprovedHowTo = info.ChildApprovedHowTo; this.m_ChildApprovedSamples = info.ChildApprovedSamples; this.m_Summary = info.Summary; }