/// <summary>
        /// 删除一个部门信息
        /// </summary>
        /// <param name="departmentID">部门ID</param>
        public void DeleteDepartment(string departmentID)
        {
            List <Department> sub = GetDepartments(string.Empty, departmentID, string.Empty, new string[] { "ID", "ParentID" });

            foreach (Department d in sub)
            {
                DeleteDepartment(d.ID);
            }

            Criteria c = new Criteria(CriteriaType.Equals, "DepartmentID", departmentID);

            if (Assistant.Count <Account>(c) > 0)
            {
                List <Account> list = Assistant.List <Account>(c, null);
                if (list != null)
                {
                    foreach (Account a in list)
                    {
                        DeleteAccont(a.ID);
                    }
                }
            }

            Department dpt = new Department();

            dpt.ID = departmentID;
            Assistant.Delete(dpt);
        }
        public StatisticsArticle GetStatisticsArticleCount()
        {
            StatisticsArticle sa = new StatisticsArticle();

            sa.TotalArticles = Assistant.Count <Article>(null);
            sa.TotalComments = Assistant.Count <Comments>(null);

            int      year      = DateTime.Now.Year;
            int      month     = DateTime.Now.Month;
            DateTime thisMonth = Convert.ToDateTime(year.ToString() + "-" + month.ToString() + "-01");
            Criteria c         = new Criteria(CriteriaType.MoreThanEquals, "Created", thisMonth);

            sa.MonthArticles = Assistant.Count <Article>(c);
            sa.MonthComments = Assistant.Count <Comments>(c);

            DateTime currentTime = DateTime.Now;
            string   currentWeek = currentTime.DayOfWeek.ToString();
            int      dayCount    = DayInWeek(currentWeek);
            DateTime thisWeek    = Convert.ToDateTime(currentTime.ToShortDateString()).AddDays(-(dayCount - 1));

            c = new Criteria(CriteriaType.MoreThanEquals, "Created", thisWeek);

            sa.WeekArticles = Assistant.Count <Article>(c);
            sa.WeekComments = Assistant.Count <Comments>(c);

            return(sa);
        }
Example #3
0
        /// <summary>
        /// 取得某一位访问者某段时间以来的访问数
        /// </summary>
        /// <param name="visitorId">访问者</param>
        /// <param name="startTime">开始时间</param>
        /// <returns></returns>
        public int GetStatisticsCount(string visitorId, DateTime startTime)
        {
            Criteria c = new Criteria(CriteriaType.Equals, "VisitorID", visitorId);

            c.Add(CriteriaType.MoreThanEquals, "VisitDate", startTime);
            return(Assistant.Count <StatisticsHistory>(c));
        }
Example #4
0
        /// <summary>
        /// 取得某一篇文章的访问数
        /// </summary>
        /// <param name="articleid"></param>
        /// <returns></returns>
        public int GetArticleStatisticsCount(string articleid)
        {
            Criteria c = new Criteria(CriteriaType.None);

            c.Criterias.Add(new Criteria(CriteriaType.Equals, "ArticleID", articleid));
            return(Assistant.Count <StatisticsHistory>(c));
        }
Example #5
0
        /// <summary>
        /// 取得文章的访问数
        /// </summary>
        /// <returns></returns>
        public int GetArticleStatisticsCount()
        {
            Criteria c = new Criteria(CriteriaType.None);

            c.Criterias.Add(new Criteria(CriteriaType.Like, "ArticleID", "{%"));
            return(Assistant.Count <StatisticsHistory>(c));
        }
Example #6
0
        /// <summary>
        /// 取得某段时间内的点击信息
        /// </summary>
        /// <param name="startTime">开始时间</param>
        /// <param name="endTime">结束时间</param>
        /// <returns></returns>
        public int GetPVCountByTime(DateTime startTime, DateTime endTime)
        {
            Criteria c    = new Criteria(CriteriaType.MoreThanEquals, "VisitDate", startTime);
            Criteria subc = new Criteria(CriteriaType.LessThanEquals, "VisitDate", endTime);

            c.Criterias.Add(subc);
            return(Assistant.Count <StatisticsHistory>(c));
        }
Example #7
0
 /// <summary>
 /// 得到评论总条数
 /// </summary>
 /// <returns></returns>
 public int QueryAllCommentsCount(bool OnlyInUser)
 {
     if (OnlyInUser)
     {
         Criteria c = new Criteria(CriteriaType.Equals, "State", 1);
     }
     return(Assistant.Count <Comments>(null));
 }
Example #8
0
        /// <summary>
        /// 判断该物品是否已被添加到当前用户的收藏夹
        /// </summary>
        /// <param name="accountID"></param>
        /// <param name="articleID"></param>
        /// <returns></returns>
        public bool IsAddFavorite(string accountID, string articleID)
        {
            Criteria c = new Criteria(CriteriaType.Equals, "AccountID", accountID);

            c.Add(CriteriaType.Equals, "ArticleID", articleID);
            int count = Assistant.Count <Favorite>(c);

            return(count != 0 ? true : false);
        }
Example #9
0
 /// <summary>
 /// 页面加载
 /// </summary>
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         InitCriteria();
         //计算出总记录数
         Pager.RecordCount = Assistant.Count <Article>(criteria);
     }
 }
Example #10
0
        /// <summary>
        /// 检测名称是否重复
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        public bool CheckNameRepeat(string name)
        {
            if (String.IsNullOrEmpty(name) || String.IsNullOrEmpty(name.Trim()))
            {
                return(false);
            }

            Criteria c = new Criteria(CriteriaType.Equals, "Name", name.Trim());

            return(Assistant.Count <Category>(c) > 0);
        }
Example #11
0
        /// <summary>
        /// 通过登录名获取一个用户
        /// </summary>
        /// <param name="loginName">登录名</param>
        /// <returns>用户对象</returns>
        public Account GetAccountByLoginName(string loginName)
        {
            Criteria c = new Criteria(CriteriaType.Equals, "LoginName", loginName);

            if (Assistant.Count <Account>(c) > 0)
            {
                List <Account> act = Assistant.List <Account>(c, null);
                return(act[0]);
            }
            return(null);
        }
Example #12
0
        /// <summary>
        /// 检测关键字是否重复
        /// </summary>
        /// <param name="keyword"></param>
        /// <returns></returns>
        public bool CheckKeywordRepeat(string keyword)
        {
            if (String.IsNullOrEmpty(keyword) || String.IsNullOrEmpty(keyword.Trim()))
            {
                return(false);
            }

            Criteria c = new Criteria(CriteriaType.Equals, "KeyWord", keyword.Trim());

            return(Assistant.Count <Category>(c) > 0);
        }
Example #13
0
        //2007-9-25 zjq
        /// <summary>
        /// 得到一篇文章的所有评论条数
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public int ArticleIDQueryCommentsCount(string ArticleID, bool OnlyInUser)
        {
            Criteria c = new Criteria(CriteriaType.Equals, "ArticleID", ArticleID);

            if (OnlyInUser)
            {
                c.Add(CriteriaType.Equals, "State", 1);
            }

            return(Assistant.Count <Comments>(c));
        }
Example #14
0
        /// <summary>
        /// 检测同父名称是否重复(不同父可以重复)
        /// </summary>
        /// <param name="name">名称</param>
        /// <param name="parentID">父ID</param>
        /// <param name="newAdd">是否新添</param>
        /// <returns></returns>
        public bool CheckNameRepeat(string name, string parentID, bool newAdd)
        {
            if (String.IsNullOrEmpty(name) || String.IsNullOrEmpty(name.Trim()))
            {
                return(false);
            }

            Criteria c = new Criteria(CriteriaType.Equals, "Name", name.Trim());

            c.Add(CriteriaType.Equals, "ParentID", parentID);
            return(newAdd ? Assistant.Count <Category>(c) > 0 : Assistant.Count <Category>(c) > 1);
        }
Example #15
0
        /// <summary>
        /// 获取一个留言类别
        /// </summary>
        /// <param name="title">留言列表名称</param>
        /// <returns></returns>
        public string GetAdviceTypeID(string title)
        {
            Criteria c = new Criteria(CriteriaType.Equals, "Title", title);

            if (Assistant.Count <AdviceType>(c) > 0)
            {
                return(Assistant.List <AdviceType>(c, null)[0].ID);
            }
            else
            {
                return("");
            }
        }
Example #16
0
        /// <summary>
        /// 查询ArticleIndex是否存在此索引
        /// </summary>
        /// <param name="articleID">文章ID</param>
        /// <returns>存在索引返回true,否则为false</returns>
        public bool ExistData(string articleID)
        {
            Criteria c = new Criteria(CriteriaType.Equals, "ArticleID", articleID);

            if (Assistant.Count <ArticleIndex>(c) > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Example #17
0
        /// <summary>
        /// 获取某个办理人所对应的所有的反馈信息
        /// </summary>
        /// <param name="userID"></param>
        /// <returns></returns>
        public List <AdviceReply> GetAdviceByUserID(string userID)
        {
            Criteria c = new Criteria(CriteriaType.Equals, "UserID", userID);

            if (Assistant.Count <AdviceReply>(c) > 0)
            {
                List <AdviceReply> adviceReply = Assistant.List <AdviceReply>(c, null);
                return(adviceReply);
            }
            else
            {
                return(null);
            }
        }
        /// <summary>
        /// 获取一个部门信息
        /// </summary>
        /// <param name="departmentID">部门ID</param>
        /// <param name="fields">返回的字段集合</param>
        /// <returns>一个部门信息</returns>
        public Department GetDepartment(string departmentID, string[] fields)
        {
            Criteria c = new Criteria(CriteriaType.Equals, "ID", departmentID);

            if (Assistant.Count <Department>(c) > 0)
            {
                List <Department> departments = Assistant.List <Department>(c, null);
                return(departments[0]);
            }
            else
            {
                return(null);
            }
        }
Example #19
0
        /// <summary>
        /// 依据模型类别ID获取当前属性内容
        /// </summary>
        /// <param name="bindTypeID"></param>
        /// <returns>返回属性XML字串,未找到则返回string.Empty</returns>
        public string GetAdviceModel(string bindTypeID)
        {
            Criteria c = new Criteria(CriteriaType.Equals, "ID", bindTypeID);

            if (Assistant.Count <AdviceType>(c) > 0)
            {
                string xml = Assistant.List <AdviceType>(c, null)[0].ModelXml;
                if (xml != "")
                {
                    return(xml);
                }
            }
            return(string.Empty);
        }
        /// <summary>
        /// 根据部门名称查询部门ID
        /// </summary>
        /// <param name="name">部门名称</param>
        /// <returns></returns>
        public Department GetDepartmentByName(string name)
        {
            Criteria c = new Criteria(CriteriaType.Equals, "Title", name);

            if (Assistant.Count <Department>(c) > 0)
            {
                List <Department> departments = Assistant.List <Department>(c, null);
                return(departments[0]);
            }
            else
            {
                return(null);
            }
        }
Example #21
0
        /// <summary>
        /// 获取一个类型的角色数目
        /// </summary>
        /// <param name="type">角色的类型</param>
        /// <returns>角色数目</returns>
        public int GetRoleCount(string siteID, OwnerRank type)
        {
            Criteria c = new Criteria(CriteriaType.None);

            if (type != OwnerRank.All)
            {
                c.Add(CriteriaType.Equals, "RoleType", (int)type);
            }
            if (!string.IsNullOrEmpty(siteID))
            {
                c.Add(CriteriaType.Equals, "FromSiteID", siteID);
            }
            return(Assistant.Count <Role>(c));
        }
Example #22
0
        /// <summary>
        /// 取得统计信息
        /// </summary>
        /// <param name="id">统计ID</param>
        /// <returns></returns>
        public Statistics GetStatistics(string id)
        {
            Statistics s = new Statistics();

            s.ID = id;
            Criteria c = new Criteria(CriteriaType.Equals, "ID", id);
            int      i = Assistant.Count <Statistics>(c);

            if (i > 0)
            {
                Assistant.Select(s);
                return(s);
            }
            else
            {
                return(null);
            }
        }
Example #23
0
        /// <summary>
        /// Get Tags Count
        /// </summary>
        /// <param name="queryEntity"></param>
        /// <returns></returns>
        public int GetCount(QueryEntity queryEntity)
        {
            Criteria c = new Criteria();

            if (queryEntity != null)
            {
                List <QueryParam> queryPanamList = queryEntity.QueryParams;
                for (int i = 0; i < queryPanamList.Count; i++)
                {
                    QueryParam qp = queryPanamList[i];
                    if (qp.CriteriaType == CriteriaType.Like)
                    {
                        qp.ColumnValue = string.Format("%{0}%", qp.ColumnValue);
                    }
                    c.Add(qp.CriteriaType, qp.ColumnKey, qp.ColumnValue);
                }
            }
            return(Assistant.Count <Tags>(c));
        }
Example #24
0
 /// <summary>
 ///  根据查询条件查询数据总数
 /// </summary>
 /// <param name="selectName"></param>
 /// <param name="ids"></param>
 /// <param name="accountName"></param>
 /// <returns></returns>
 public int GetAdviceTypeCountByName(string selectName, List <string> ids, bool accountName)
 {
     if (selectName != "" || accountName == true)
     {
         Criteria c = new Criteria(CriteriaType.None);
         if (selectName != null && selectName != "")
         {
             c.Add(CriteriaType.Like, "Title", "%" + selectName + "%");
         }
         if (accountName == true)
         {
             if (ids != null && ids.Count > 0)
             {
                 Criteria keyCriteria = new Criteria(CriteriaType.None);
                 foreach (string id in ids)
                 {
                     keyCriteria.Mode = CriteriaMode.Or;
                     keyCriteria.AddOr(CriteriaType.Equals, "AccountID", id);
                     c.Criterias.Add(keyCriteria);
                 }
             }
         }
         if (c.Criterias.Count > 0)
         {
             return(Assistant.Count <AdviceType>(c));
         }
         else
         {
             return(0);
         }
     }
     else
     {
         return(Assistant.Count <AdviceType>(null));
     }
 }
Example #25
0
        /// <summary>
        /// 取得访问者数量
        /// </summary>
        /// <param name="key">关键字</param>
        /// <param name="begin"></param>
        /// <param name="end"></param>
        /// <returns></returns>
        public int GetPageVisitorCount(string key, DateTime begin, DateTime end)
        {
            Criteria c = new Criteria(CriteriaType.Equals, "TypeCode", StatisticsHelper.TypeCode_User);

            if (key.Trim() != "")
            {
                c.Add(CriteriaType.Equals, "Keyword", key.Trim());
            }
            if (begin <= end)
            {
                if (begin != DateTime.MinValue)
                {
                    Criteria s1 = new Criteria(CriteriaType.MoreThanEquals, "VisitDate", begin);
                    c.Criterias.Add(s1);
                }
                if (end != DateTime.MaxValue)
                {
                    Criteria s2 = new Criteria(CriteriaType.LessThanEquals, "VisitDate", end.AddDays(1));
                    c.Criterias.Add(s2);
                }
            }

            return(Assistant.Count <PageVisitorHistory>(c));
        }
Example #26
0
 /// <summary>
 /// 根据条件获取短信发送历史总数
 /// </summary>
 /// <param name="c">Criteria</param>
 /// <returns></returns>
 public int QueryMessageCount(Criteria c)
 {
     return(Assistant.Count <ShortMessage>(c));
 }
Example #27
0
        public int QueryMessageCount(MessageState state, string senderID, string receiverID)
        {
            Criteria c = CreateCriteriaFromState(state, senderID, receiverID);

            return(Assistant.Count <ShortMessage>(c));
        }
 /// <summary>
 /// 根据查询类获得文章数量
 /// </summary>
 /// <param name="query"></param>
 /// <returns></returns>
 public int QueryArtilcesByCriteria(Criteria c)
 {
     return Assistant.Count<Article>(c);
 }
Example #29
0
        /// <summary>
        /// 取得访问者的使用次数
        /// </summary>
        /// <param name="visitorId">访问者ID</param>
        /// <returns></returns>
        public int GetStatisticsCount(string visitorId)
        {
            Criteria c = new Criteria(CriteriaType.Equals, "VisitorID", visitorId);

            return(Assistant.Count <StatisticsHistory>(c));
        }
Example #30
0
        /// <summary>
        /// 获取总体统计数据
        /// </summary>
        /// <returns></returns>
        public VisiteCount GetCurrentVisiteCount()
        {
            VisiteCount vc = AppCtx.Cache.RetrieveObject <VisiteCount>(VisiteCountCacheKey);

            if (vc != null && vc.CreateDate.Day != DateTime.Now.Day) //如果是第二天了就把前一天的记录给清除掉
            {
                vc = null;
                AppCtx.Cache.RemoveObject(VisiteCountCacheKey);
            }
            if (vc == null)
            {
                DateTime oldest = GetOldestTime();
                if (oldest < DateTime.Today)
                {
                    //MigrateToHistory();
                    //FreshSumData(oldest);
                }
                vc = new VisiteCount();
                //在线人数
                HttpContext Context = HttpContext.Current;
                //vc.OnlineVisitors = (int)Context.Application[PageVisitorHelper.OnlinePeopleApplicationKey];
                Criteria c = new Criteria(CriteriaType.MoreThanEquals, "OnlineTime", DateTime.Now.AddMinutes(-15));
                vc.OnlineVisitors = Assistant.Count <PageVisitor>(c);

                //今天访问量
                vc.DayVisitors = Assistant.Count <PageVisitor>(null);
                vc.DayPageview = Assistant.Count <Statistics>(null);

                //总访问数
                vc.TotalVisitors = Assistant.Count <PageVisitorHistory>(null) + vc.DayVisitors;
                //总浏览量
                vc.TotalPageView = Assistant.Count <StatisticsHistory>(null) + vc.DayPageview;
                //今年访问量
                int      year     = DateTime.Now.Year;
                DateTime thisYear = Convert.ToDateTime(year.ToString() + "-01-01");
                c = new Criteria(CriteriaType.MoreThanEquals, "VisitDate", thisYear);
                vc.YearVisitors = Assistant.Count <PageVisitorHistory>(c) + vc.DayVisitors;
                vc.YearPageview = Assistant.Count <StatisticsHistory>(c) + vc.DayPageview;
                //本月访问量
                int      month     = DateTime.Now.Month;
                DateTime thisMonth = Convert.ToDateTime(year.ToString() + "-" + month.ToString() + "-01");
                c = new Criteria(CriteriaType.MoreThanEquals, "VisitDate", thisMonth);
                vc.MonthVisitors = Assistant.Count <PageVisitorHistory>(c) + vc.DayVisitors;
                vc.MonthPageview = Assistant.Count <StatisticsHistory>(c) + vc.DayPageview;

                //昨天访问量
                c = new Criteria(CriteriaType.LessThan, "VisitDate", DateTime.Today);
                Criteria subc = new Criteria(CriteriaType.MoreThanEquals, "VisitDate", DateTime.Today.AddDays(-1));
                c.Criterias.Add(subc);
                vc.YestodayVisitors = Assistant.Count <PageVisitorHistory>(c);
                vc.YestodayPageview = Assistant.Count <StatisticsHistory>(c);

                //平均每天访问量
                Order[] o = new Order[] { new Order("VisitDate", OrderMode.Asc) };
                List <PageVisitorHistory> list = Assistant.List <PageVisitorHistory>(null, o, 0, 1);
                DateTime firstDay = list.Count > 0?list[0].VisitDate:DateTime.Now;
                vc.StartDate = firstDay;
                int days = ((TimeSpan)(DateTime.Today - firstDay.Date)).Days + 1;

                if (days > 0)
                {
                    vc.AverageDayVisitors = vc.TotalVisitors / days;
                    vc.AverageDayPageview = vc.TotalPageView / days;
                }
                AppCtx.Cache.AddObject(VisiteCountCacheKey, vc, ((int)CacheTime.Short) * 1000);
            }
            return(vc);
        }