Exemplo n.º 1
0
		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;
			}
		}
Exemplo n.º 2
0
        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]);
            }
        }