public bool DeleteDenouncingWithData(int operatorID, int denouncingID) { if (ManagePermission.Can(operatorID, BackendPermissions.Action.Manage_Report) == false) { ThrowError(new NoPermissionDeleteDenouncingError()); return false; } Denouncing denouncing = DenouncingDao.Instance.GetDenouncing(denouncingID); if (denouncing == null) return false; else { DenouncingDao.Instance.DeleteDenouncing(denouncingID); switch (denouncing.Type) { case DenouncingType.Blog: BlogBO.Instance.DeleteBlogArticle(operatorID, denouncing.TargetID, true); break; case DenouncingType.Photo: AlbumBO.Instance.DeletePhoto(operatorID, denouncing.TargetID, true); break; case DenouncingType.Share: ShareBO.Instance.DeleteShare(operatorID, denouncing.TargetID, true); break; case DenouncingType.Space: //老达TODO:怎么搞? break; case DenouncingType.Topic: PostBOV5.Instance.DeleteThreads(UserBO.Instance.GetAuthUser(operatorID), new int[] { denouncing.TargetID }, false, true, false, false, string.Empty); break; case DenouncingType.Reply: PostV5 post = PostBOV5.Instance.GetPost(denouncing.TargetID, false); PostBOV5.Instance.DeletePosts(UserBO.Instance.GetAuthUser(operatorID), post.ForumID, post.ThreadID, new int[] { post.PostID }, false, true, false, string.Empty); break; } //CacheUtil.Remove("Denouncing/Count"); return true; } }
private void FillDenouncingContents(DenouncingCollection denouncings, SqlSession db) { if (denouncings.Count == 0) { return; } DenouncingContentCollection contents = null; using (SqlQuery query = db.CreateQuery()) { query.CommandText = "SELECT * FROM bx_DenouncingContents WHERE DenouncingID IN (@DenouncingIDs) ORDER BY [DenouncingID]"; query.CreateInParameter <int>("@DenouncingIDs", denouncings.GetDenouncingIDs()); using (XSqlDataReader reader = query.ExecuteReader()) { contents = new DenouncingContentCollection(reader); } } db.Connection.Close(); Denouncing denouncing = null; int lastDenouncingID = -1; for (int i = 0; i < contents.Count; i++) { int denouncingID = contents[i].DenouncingID; if (denouncingID != lastDenouncingID) { denouncing = denouncings.GetValue(denouncingID); lastDenouncingID = denouncingID; } denouncing.ContentList.Add(contents[i]); } }