public static void DeleteArticle(int ArticleID) { ForumArticle mArticle = new ForumArticle(); mArticle.ArticleID = ArticleID; mArticle.CustomDelete(); }
public void AddWatch(int Id) { ForumArticle data = Find(Id); data.Watch++; repo.UnitOfWork.Commit(); }
public async Task <bool> CreateAnswerAsync (string title, string content, string authorId, DateTime publishedDate, int motherArticleId) { if (content == null || motherArticleId == 0) { return(false); } var article = new ForumArticle { Title = "Re: " + title, Content = content, AuthorId = authorId, MotherArticleId = motherArticleId, PublishedDate = publishedDate }; this.db.Add(article); await this.db.SaveChangesAsync(); return(true); }
public ActionResult Article(int Id) { ForumArticle data = service.Find(Id); // 將觀看人數+1 service.AddWatch(Id); return(View()); }
public ActionResult AddForum(ForumArticle data) { var service = new ForumService(); service.Add(data); return(View("Contact")); }
public static DataTable GetArticle(int ArticleID) { ForumArticle mArticle = new ForumArticle(); mArticle.ArticleID = ArticleID; return(mArticle.LoadByParams().Tables[0]); }
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 static void UpdateArticleStatus(int ArticleID, ArticleStatus status) { ForumArticle mArticle = new ForumArticle(); mArticle.Load(ArticleID); mArticle.ArticleStatus = (int)status; mArticle.Save(); }
public static int InsertArticleItem(int CategoryID, int ArticleID, string Subject, string Reply, ArticleItemStatus status, int UserID, string NickName) { SqlConnection conn = CARETTA.DBI.DBHelper.getConnection(); conn.Open(); SqlTransaction Tran = conn.BeginTransaction(IsolationLevel.Serializable); int ArticleItemID; try { DateTime CreateDate = DateTime.Now; string LastPost = LastPostTemplate.Replace("||MemberID||", UserID.ToString()).Replace("||NickName||", NickName).Replace("||Date||", CreateDate.ToShortDateString() + " " + CreateDate.ToShortTimeString()); ForumArticleItems mArticleItem = new ForumArticleItems(); mArticleItem.ArticleID = ArticleID; mArticleItem.CreateDate = CreateDate; mArticleItem.CreatedBy = UserID; mArticleItem.Reply = Reply; mArticleItem.Score = 0; mArticleItem.ScoreCount = 0; mArticleItem.Status = (int)status; mArticleItem.Subject = Subject; mArticleItem.Save(); ArticleItemID = mArticleItem.ArticleItemID; ForumArticle mArticle = new ForumArticle(); mArticle.Load(ArticleID); mArticle.LastPost = LastPost; mArticle.LastPostDate = CreateDate; mArticle.Replies += 1; mArticle.Save(); ForumCategory mCategory = new ForumCategory(); mCategory.Load(CategoryID); mCategory.LastPost = LastPost; mCategory.LastPostDate = CreateDate; mCategory.Save(); Tran.Commit(); } catch (Exception ex) { Tran.Rollback(); throw; } finally { conn.Close(); } return(ArticleItemID); }
public static ArticleStatus GetArticleStatus(int ArticleID) { ForumArticle mArticle = new ForumArticle(); if (mArticle.Load(ArticleID)) { return((ArticleStatus)mArticle.ArticleStatus); } return(ArticleStatus.Active); }
//public ActionResult Create([Bind(Include = "Title,Content")]ForumArticle Data) //{ // Data.Account = User.Identity.Name; // service.Insert(Data); // return RedirectToAction("Index"); //} public ActionResult Create(FormCollection form)//[Bind(Include = "Title, Content")]ForumArticle Data { ForumArticle Data = new ForumArticle(); if (TryUpdateModel(Data, new string[] { "Title", "Content" })) { Data.Account = User.Identity.Name; service.Insert(Data); return(RedirectToAction("Index")); } return(View(form)); }
public ActionResult Edit(int Id, FormCollection Form) { if (service.CheckUpdate(Id)) { ForumArticle data = service.Find(Id); if (TryUpdateModel(data, new string[] { "Content" })) { service.Save(); } } return(RedirectToAction("Index", new { Id = Id })); }
public async Task ByThemeIdAsyncShouldReturnCorrectAnswerAndOrderCorrectly() { //Arrange var dbOptions = new DbContextOptionsBuilder <UndergroundStationDbContext>() .UseInMemoryDatabase("UndergroundStationTestDb") .Options; var db = new UndergroundStationDbContext(dbOptions); var articleService = new ArticleService(db); var firstArticle = new ForumArticle { Id = 2, PublishedDate = DateTime.UtcNow, ForumThemeId = 1 }; var secondArticle = new ForumArticle { Id = 3, PublishedDate = DateTime.UtcNow.AddDays(-1), ForumThemeId = 1 }; var thirdArticle = new ForumArticle { Id = 4, PublishedDate = DateTime.UtcNow, ForumThemeId = 2 }; db.AddRange(firstArticle, secondArticle, thirdArticle); await db.SaveChangesAsync(); //Act var result = await articleService.ByThemeIdAsync(1, 1); //Assert result .Should() .Match (r => r.ElementAt(0).Id == 3 && r.ElementAt(1).Id == 2) .And .HaveCount(2); }
public static void UpdateArticleItem(int ArticleItemID, int ArticleID, string Subject, string Reply, ArticleItemStatus status) { SqlConnection conn = CARETTA.DBI.DBHelper.getConnection(); conn.Open(); SqlTransaction Tran = conn.BeginTransaction(IsolationLevel.Serializable); try { ForumArticleItems mArticleItem = new ForumArticleItems(); mArticleItem.Load(ArticleItemID); bool StatusChanged = false; if (mArticleItem.Status != (int)status) { StatusChanged = true; } mArticleItem.Reply = Reply; mArticleItem.Status = (int)status; mArticleItem.Subject = Subject; mArticleItem.Save(); ForumArticle mArticle = new ForumArticle(); mArticle.Load(ArticleID); mArticle.ArticleMessage = Reply; mArticle.ArticleSubject = Subject; mArticle.Save(); if (StatusChanged) { ForumArticle.ArrangeArticle(mArticleItem.ArticleID); } Tran.Commit(); } catch (Exception ex) { Tran.Rollback(); throw; } finally { conn.Close(); } }
public void Delete(int Id) { ForumArticle data = Find(Id); if (data != null) { // 先刪除文章內留言 List <ForumMessage> MsgList = data.ForumMessage.ToList(); foreach (var item in MsgList) { repo_Msg.Delete(item); } repo_Msg.UnitOfWork.Commit(); // 再刪除文章 repo.Delete(data); repo.UnitOfWork.Commit(); } }
public void Add(ForumArticle data) { if (data == null) { return; } data.RecId = Guid.NewGuid(); data.CreateTime = DateTime.Now; data.LikeCount = 0; data.UnlikeCount = 0; try { HomePageEntities db = new HomePageEntities(); db.ForumArticle.Add(data); db.SaveChanges(); } catch { throw new ApplicationException(); } }
public bool CheckUpdate(int Id) { ForumArticle data = Find(Id); return(data != null && data.ForumMessage.Count == 0); }
public void Insert(ForumArticle FArticle) { FArticle.CreateTime = DateTime.Now; repo.Add(FArticle); repo.UnitOfWork.Commit(); }
public ActionResult Edit(int Id) { ForumArticle data = service.Find(Id); return(PartialView(data)); }
public static void UpdateArticle(int ArticleID, string Subject, string Message, ArticleStatus status, int CategoryID) { SqlConnection conn = CARETTA.DBI.DBHelper.getConnection(); conn.Open(); SqlTransaction Tran = conn.BeginTransaction(IsolationLevel.Serializable); try { ForumArticle mArticle = new ForumArticle(); if (mArticle.Load(ArticleID)) { bool CategoryChanged = false; int OldCategoryID = 0; if (mArticle.CategoryID != CategoryID) { CategoryChanged = true; OldCategoryID = mArticle.CategoryID; } bool StatusChanged = false; if (mArticle.ArticleStatus != (int)status) { StatusChanged = true; } bool SyncNeeded = false; if (mArticle.ArticleSubject != Subject || mArticle.ArticleMessage != Message) { SyncNeeded = true; } mArticle.ArticleSubject = Subject; mArticle.ArticleMessage = Message; mArticle.ArticleStatus = (int)status; mArticle.CategoryID = CategoryID; mArticle.Save(); if (CategoryChanged) { ForumArticle.CategoryChange(OldCategoryID, CategoryID); } if (SyncNeeded) { ForumArticle.SyncMainItem(ArticleID, Subject, Message); } if (StatusChanged && (!CategoryChanged)) { ForumCategory.ArrangeCategory(CategoryID); } Tran.Commit(); } } catch (Exception ex) { Tran.Rollback(); throw; } finally { conn.Close(); } }
public static DataTable GetArticleTitles(int ArticleID) { return(ForumArticle.GetArticlesTitles(ArticleID)); }