Esempio n. 1
0
        public DenouncingCollection GetDenouncingWithReply(DenouncingFilter filter, int pageNumber)
        {
            if (pageNumber < 1)
                pageNumber = 1;

            DenouncingCollection result = DenouncingDao.Instance.GetDenouncingWithReply(filter, pageNumber);

            return result;
        }
Esempio n. 2
0
		public DenouncingCollection GetDenouncingBySearch(DenouncingFilter filter, int pageNumber)
        {
            if (pageNumber < 1)
                pageNumber = 1;

			DenouncingCollection reports = DenouncingDao.Instance.GetDenouncingBySearch(filter, pageNumber);

            return reports;
        }
Esempio n. 3
0
        public override DenouncingCollection GetDenouncingWithReply(DenouncingFilter filter, int pageNumber)
        {
            using (SqlSession db = new SqlSession())
            {
                DenouncingCollection denouncings = null;

                using (SqlQuery query = db.CreateQuery())
                {
                    query.Pager.PageNumber  = pageNumber;
                    query.Pager.PageSize    = filter.PageSize;
                    query.Pager.TableName   = "bx_Denouncings";
                    query.Pager.SortField   = "DenouncingID";
                    query.Pager.IsDesc      = filter.IsDesc;
                    query.Pager.SelectCount = true;

                    filter.Type = DenouncingType.Reply;

                    GetSearchDenouncingsCondition(query, filter);

                    using (XSqlDataReader reader = query.ExecuteReader())
                    {
                        denouncings = new DenouncingCollection(reader);

                        if (reader.NextResult())
                        {
                            while (reader.Read())
                            {
                                denouncings.TotalRecords = reader.Get <int>(0);
                            }
                        }
                    }
                }

                FillDenouncingContents(denouncings, db);

                if (denouncings.Count > 0)
                {
                    int[] targetIDs = GetTargetIDs(denouncings);

                    PostCollectionV5 posts = PostBOV5.Instance.GetPosts(targetIDs);

                    for (int i = 0; i < denouncings.Count; i++)
                    {
                        for (int j = 0; j < posts.Count; j++)
                        {
                            if (denouncings[i].TargetID == posts[j].ThreadID)
                            {
                                denouncings[i].TargetReply = posts[j];
                                break;
                            }
                        }
                    }
                }
                return(denouncings);
            }
        }
Esempio n. 4
0
        private void GetSearchDenouncingsCondition(SqlQuery query, DenouncingFilter filter)
        {
            StringBuilder condition = new StringBuilder();

            if (filter.Type != DenouncingType.All)
            {
                condition.Append(" AND Type = @Type");
                query.CreateParameter <int>("@Type", (int)filter.Type, SqlDbType.TinyInt);
            }

            if (filter.ReportState != null && filter.ReportState.Value != 2)
            {
                condition.Append(" AND IsIgnore = @IsIgnore");

                bool isIgnore = false;

                if (filter.ReportState.Value == 1)
                {
                    isIgnore = true;
                }
                else
                {
                    isIgnore = false;
                }

                query.CreateParameter <bool>("@IsIgnore", isIgnore, SqlDbType.Bit);
            }

            if (filter.BeginDate != null)
            {
                condition.Append(" AND CreateDate >= @BeginDate");
                query.CreateParameter <DateTime>("@BeginDate", filter.BeginDate.Value, SqlDbType.DateTime);
            }

            if (filter.EndDate != null)
            {
                condition.Append(" AND CreateDate <= @EndDate");
                query.CreateParameter <DateTime>("@EndDate", filter.EndDate.Value, SqlDbType.DateTime);
            }

            if (condition.Length != 0)
            {
                condition = condition.Remove(0, 5);
            }

            query.Pager.Condition = condition.ToString();
        }
Esempio n. 5
0
        public override DenouncingCollection GetDenouncingWithUser(DenouncingFilter filter, int pageNumber)
        {
            using (SqlSession db = new SqlSession())
            {
                DenouncingCollection denouncings = null;

                using (SqlQuery query = db.CreateQuery())
                {
                    query.Pager.PageNumber  = pageNumber;
                    query.Pager.PageSize    = filter.PageSize;
                    query.Pager.TableName   = "bx_Denouncings";
                    query.Pager.SortField   = "DenouncingID";
                    query.Pager.IsDesc      = filter.IsDesc;
                    query.Pager.SelectCount = true;

                    filter.Type = DenouncingType.Space;

                    GetSearchDenouncingsCondition(query, filter);

                    using (XSqlDataReader reader = query.ExecuteReader())
                    {
                        denouncings = new DenouncingCollection(reader);

                        if (reader.NextResult())
                        {
                            while (reader.Read())
                            {
                                denouncings.TotalRecords = reader.Get <int>(0);
                            }
                        }
                    }
                }

                FillDenouncingContents(denouncings, db);

                if (denouncings.Count > 0)
                {
                    UserBO.Instance.WaitForFillSimpleUsers <Denouncing>(denouncings);
                }

                return(denouncings);
            }
        }
Esempio n. 6
0
        public override DenouncingCollection GetDenouncingWithReply(DenouncingFilter filter, int pageNumber)
        {
            using (SqlSession db = new SqlSession())
            {
                DenouncingCollection denouncings = null;

                using (SqlQuery query = db.CreateQuery())
                {
                    query.Pager.PageNumber = pageNumber;
                    query.Pager.PageSize = filter.PageSize;
                    query.Pager.TableName = "bx_Denouncings";
                    query.Pager.SortField = "DenouncingID";
                    query.Pager.IsDesc = filter.IsDesc;
                    query.Pager.SelectCount = true;

                    filter.Type = DenouncingType.Reply;

                    GetSearchDenouncingsCondition(query, filter);

                    using (XSqlDataReader reader = query.ExecuteReader())
                    {
                        denouncings = new DenouncingCollection(reader);

                        if (reader.NextResult())
                        {
                            while (reader.Read())
                                denouncings.TotalRecords = reader.Get<int>(0);
                        }
                    }
                }

                FillDenouncingContents(denouncings, db);

                if (denouncings.Count > 0)
                {
                    int[] targetIDs = GetTargetIDs(denouncings);

                    PostCollectionV5 posts = PostBOV5.Instance.GetPosts(targetIDs);

                    for (int i = 0; i < denouncings.Count; i++)
                    {
                        for (int j = 0; j < posts.Count; j++)
                        {
                            if (denouncings[i].TargetID == posts[j].ThreadID)
                            {
                                denouncings[i].TargetReply = posts[j];
                                break;
                            }
                        }
                    }

                }
                return denouncings;
            }
        }
Esempio n. 7
0
        public override DenouncingCollection GetDenouncingWithUser(DenouncingFilter filter, int pageNumber)
        {
            using (SqlSession db = new SqlSession())
            {
                DenouncingCollection denouncings = null;

                using (SqlQuery query = db.CreateQuery())
                {
                    query.Pager.PageNumber = pageNumber;
                    query.Pager.PageSize = filter.PageSize;
                    query.Pager.TableName = "bx_Denouncings";
                    query.Pager.SortField = "DenouncingID";
                    query.Pager.IsDesc = filter.IsDesc;
                    query.Pager.SelectCount = true;

                    filter.Type = DenouncingType.Space;

                    GetSearchDenouncingsCondition(query, filter);

                    using (XSqlDataReader reader = query.ExecuteReader())
                    {
                        denouncings = new DenouncingCollection(reader);

                        if (reader.NextResult())
                        {
                            while (reader.Read())
                                denouncings.TotalRecords = reader.Get<int>(0);
                        }
                    }
                }

                FillDenouncingContents(denouncings, db);

                if (denouncings.Count > 0)
                {
                    UserBO.Instance.WaitForFillSimpleUsers<Denouncing>(denouncings);
                }

                return denouncings;
            }
        }
Esempio n. 8
0
        public override DenouncingCollection GetDenouncingWithShare(DenouncingFilter filter, int pageNumber)
        {
            using (SqlSession db = new SqlSession())
            {
                DenouncingCollection denouncings = null;

                using (SqlQuery query = db.CreateQuery())
                {
                    query.Pager.PageNumber = pageNumber;
                    query.Pager.PageSize = filter.PageSize;
                    query.Pager.TableName = "bx_Denouncings";
                    query.Pager.SortField = "DenouncingID";
                    query.Pager.IsDesc = filter.IsDesc;
                    query.Pager.SelectCount = true;

                    filter.Type = DenouncingType.Share;

                    GetSearchDenouncingsCondition(query, filter);

                    using (XSqlDataReader reader = query.ExecuteReader())
                    {
                        denouncings = new DenouncingCollection(reader);

                        if (reader.NextResult())
                        {
                            while (reader.Read())
                                denouncings.TotalRecords = reader.Get<int>(0);
                        }
                    }
                }

                FillDenouncingContents(denouncings, db);

                if (denouncings.Count > 0)
                {
                    int[] targetIDs = GetTargetIDs(denouncings);

                    ShareCollection shares = null;

                    using (SqlQuery query = db.CreateQuery())
                    {
                        query.CommandText = "SELECT * FROM bx_SharesView WHERE ShareID IN (@IDs)";

                        query.CreateInParameter<int>("@IDs", targetIDs);

                        using (XSqlDataReader reader = query.ExecuteReader())
                        {
                            shares = new ShareCollection(reader);
                        }
                    }

                    ShareBO.Instance.ProcessKeyword(shares, ProcessKeywordMode.FillOriginalText);

                    for (int i = 0; i < denouncings.Count; i++)
                    {
                        for (int j = 0; j < shares.Count; j++)
                        {
                            if (denouncings[i].TargetID == shares[j].ShareID)
                            {
                                denouncings[i].TargetShare = shares[j];
                                break;
                            }
                        }
                    }
                }
                return denouncings;
            }
        }
Esempio n. 9
0
		private void GetSearchDenouncingsCondition(SqlQuery query, DenouncingFilter filter)
        {
            StringBuilder condition = new StringBuilder();

			if (filter.Type != DenouncingType.All)
			{
				condition.Append(" AND Type = @Type");
				query.CreateParameter<int>("@Type", (int)filter.Type, SqlDbType.TinyInt);
			}
			
			if (filter.ReportState != null && filter.ReportState.Value != 2)
			{
				condition.Append(" AND IsIgnore = @IsIgnore");

				bool isIgnore = false;

				if (filter.ReportState.Value == 1)
					isIgnore = true;
				else
					isIgnore = false;

				query.CreateParameter<bool>("@IsIgnore", isIgnore, SqlDbType.Bit);
			}

			if (filter.BeginDate != null)
			{
				condition.Append(" AND CreateDate >= @BeginDate");
				query.CreateParameter<DateTime>("@BeginDate", filter.BeginDate.Value, SqlDbType.DateTime);
			}

			if (filter.EndDate != null)
			{
				condition.Append(" AND CreateDate <= @EndDate");
				query.CreateParameter<DateTime>("@EndDate", filter.EndDate.Value, SqlDbType.DateTime);
			}

            if (condition.Length != 0)
                condition = condition.Remove(0, 5);

            query.Pager.Condition = condition.ToString();
        }
Esempio n. 10
0
 public abstract DenouncingCollection GetDenouncingWithReply(DenouncingFilter filter, int pageNumber);
Esempio n. 11
0
 public abstract DenouncingCollection GetDenouncingBySearch(DenouncingFilter filter, int pageNumber);
Esempio n. 12
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (_Request.IsClick("btn_delete"))
            {
                string[] denouncingIDs = _Request.Get("denouncingIDs", Method.Post, string.Empty).Split(',');

                if (denouncingIDs[0] != string.Empty)
                {
                    int[] ids = ParseIntArray(denouncingIDs);

                    DenouncingBO.Instance.DeleteDenouncings(MyUserID, ids);
                }
                string filter = _Request.Get("filter");

                if (filter != null)
                {
                    BbsRouter.JumpToCurrentUrl(true, "filter=" + HttpUtility.UrlEncode(filter));
                }
                //BbsRouter.JumpToUrl(BbsRouter.GetCurrentUrlScheme().ToString(false, false), "filter=" + HttpUtility.UrlEncode(filter));
                else
                {
                    BbsRouter.JumpToCurrentUrl(true);
                }
                //BbsRouter.JumpToUrl(BbsRouter.GetCurrentUrlScheme().ToString(false, false), "");
            }
            else if (_Request.IsClick("btn_ignore"))
            {
                string[] denouncingIDs = _Request.Get("denouncingIDs", Method.Post, string.Empty).Split(',');

                if (denouncingIDs[0] != string.Empty)
                {
                    int[] ids = ParseIntArray(denouncingIDs);

                    DenouncingBO.Instance.DeleteDenouncings(MyUserID, ids);
                    //DenouncingBO.Instance.IgnoreDenouncings(MyUserID, ids);
                }
                string filter = _Request.Get("filter");

                if (filter != null)
                {
                    BbsRouter.JumpToCurrentUrl(true, "filter=" + HttpUtility.UrlEncode(filter));
                }
                //BbsRouter.JumpToUrl(BbsRouter.GetCurrentUrlScheme().ToString(false, false), "filter=" + HttpUtility.UrlEncode(filter));
                else
                {
                    BbsRouter.JumpToCurrentUrl(true);
                }
                //BbsRouter.JumpToUrl(BbsRouter.GetCurrentUrlScheme().ToString(false, false), "");
            }
            else if (_Request.IsClick("btn_deleteboth"))
            {
                string[] denouncingIDs = _Request.Get("denouncingIDs", Method.Post, string.Empty).Split(',');

                if (denouncingIDs[0] != string.Empty)
                {
                    int[] ids = ParseIntArray(denouncingIDs);

                    for (int i = 0; i < denouncingIDs.Length; i++)
                    {
                        DenouncingBO.Instance.DeleteDenouncingWithData(MyUserID, ids[i]);
                    }
                }
                string filter = _Request.Get("filter");

                if (filter != null)
                {
                    BbsRouter.JumpToCurrentUrl(true, "filter=" + HttpUtility.UrlEncode(filter));
                }
                else
                {
                    BbsRouter.JumpToCurrentUrl(true);
                }
            }
            else if (_Request.IsClick("searchreport"))
            {
                DenouncingFilter filter = DenouncingFilter.GetFromForm();
                filter.Apply("filter", "page");
            }
            else if (_Request.Get("delete") != null)
            {
                int?denouncingID = _Request.Get <int>("delete");

                if (denouncingID != null)
                {
                    DenouncingBO.Instance.DeleteDenouncingWithData(MyUserID, denouncingID.Value);

                    string filter = _Request.Get("filter");

                    if (filter != null)
                    {
                        BbsRouter.JumpToCurrentUrl(true, "filter=" + HttpUtility.UrlEncode(filter));
                    }
                    else
                    {
                        BbsRouter.JumpToCurrentUrl(true);
                    }
                }
            }
            else if (_Request.Get("delete2") != null)
            {
                int?denouncingID = _Request.Get <int>("delete2");

                if (denouncingID != null)
                {
                    DenouncingBO.Instance.DeleteDenouncings(MyUserID, new int[] { denouncingID.Value });

                    string filter = _Request.Get("filter");

                    if (filter != null)
                    {
                        BbsRouter.JumpToCurrentUrl(true, "filter=" + HttpUtility.UrlEncode(filter));
                    }
                    else
                    {
                        BbsRouter.JumpToCurrentUrl(true);
                    }
                }
            }
            else if (_Request.Get("ignore") != null)
            {
                int?denouncingID = _Request.Get <int>("ignore");

                if (denouncingID != null)
                {
                    DenouncingBO.Instance.DeleteDenouncings(MyUserID, new int[] { denouncingID.Value });

                    //DenouncingBO.Instance.IgnoreDenouncing(MyUserID, denouncingID.Value);

                    string filter = _Request.Get("filter");

                    if (filter != null)
                    {
                        BbsRouter.JumpToCurrentUrl(true, "filter=" + HttpUtility.UrlEncode(filter));
                    }
                    else
                    {
                        BbsRouter.JumpToCurrentUrl(true);
                    }
                }
            }

            m_Filter = DenouncingFilter.GetFromFilter("filter");

            int page = _Request.Get <int>("page", 1);

            string view = _Request.Get("view");


            if (m_Filter.IsNull && view != null)
            {
                switch (view)
                {
                case "blog":
                    m_DenouncingList = DenouncingBO.Instance.GetDenouncingWithArticle(m_Filter, page);

                    break;

                case "photo":
                    m_DenouncingList = DenouncingBO.Instance.GetDenouncingWithPhoto(m_Filter, page);
                    break;

                case "share":
                    m_DenouncingList = DenouncingBO.Instance.GetDenouncingWithShare(m_Filter, page);
                    break;

                case "user":
                    m_DenouncingList = DenouncingBO.Instance.GetDenouncingWithUser(m_Filter, page);
                    break;

                case "topic":
                    m_DenouncingList = DenouncingBO.Instance.GetDenouncingWithTopic(m_Filter, page);
                    break;

                case "reply":
                    m_DenouncingList = DenouncingBO.Instance.GetDenouncingWithReply(m_Filter, page);
                    break;
                }
                //ShowError("缺少必要的页面参数");
                //return;
            }
            else
            {
                m_DenouncingList = DenouncingBO.Instance.GetDenouncingBySearch(m_Filter, page);
            }



            if (m_DenouncingList != null)
            {
                m_DenouncingTotalCount = m_DenouncingList.TotalRecords;

                foreach (Denouncing denouncing in m_DenouncingList)
                {
                    if (denouncing.Type == DenouncingType.Topic)
                    {
                        denouncing.TargetTopic = Threads.GetValue(denouncing.TargetID);
                    }
                    else if (denouncing.Type == DenouncingType.Reply)
                    {
                        denouncing.TargetReply = Posts.GetValue(denouncing.TargetID);
                    }
                    UserBO.Instance.WaitForFillSimpleUsers <DenouncingContent>(denouncing.ContentList);
                }

                UserBO.Instance.WaitForFillSimpleUsers <Denouncing>(m_DenouncingList);
            }
        }
Esempio n. 13
0
        public override DenouncingCollection GetDenouncingWithShare(DenouncingFilter filter, int pageNumber)
        {
            using (SqlSession db = new SqlSession())
            {
                DenouncingCollection denouncings = null;

                using (SqlQuery query = db.CreateQuery())
                {
                    query.Pager.PageNumber  = pageNumber;
                    query.Pager.PageSize    = filter.PageSize;
                    query.Pager.TableName   = "bx_Denouncings";
                    query.Pager.SortField   = "DenouncingID";
                    query.Pager.IsDesc      = filter.IsDesc;
                    query.Pager.SelectCount = true;

                    filter.Type = DenouncingType.Share;

                    GetSearchDenouncingsCondition(query, filter);

                    using (XSqlDataReader reader = query.ExecuteReader())
                    {
                        denouncings = new DenouncingCollection(reader);

                        if (reader.NextResult())
                        {
                            while (reader.Read())
                            {
                                denouncings.TotalRecords = reader.Get <int>(0);
                            }
                        }
                    }
                }

                FillDenouncingContents(denouncings, db);

                if (denouncings.Count > 0)
                {
                    int[] targetIDs = GetTargetIDs(denouncings);

                    ShareCollection shares = null;

                    using (SqlQuery query = db.CreateQuery())
                    {
                        query.CommandText = "SELECT * FROM bx_SharesView WHERE ShareID IN (@IDs)";

                        query.CreateInParameter <int>("@IDs", targetIDs);

                        using (XSqlDataReader reader = query.ExecuteReader())
                        {
                            shares = new ShareCollection(reader);
                        }
                    }

                    ShareBO.Instance.ProcessKeyword(shares, ProcessKeywordMode.FillOriginalText);

                    for (int i = 0; i < denouncings.Count; i++)
                    {
                        for (int j = 0; j < shares.Count; j++)
                        {
                            if (denouncings[i].TargetID == shares[j].ShareID)
                            {
                                denouncings[i].TargetShare = shares[j];
                                break;
                            }
                        }
                    }
                }
                return(denouncings);
            }
        }