/// <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); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <summary> /// 得到评论总条数 /// </summary> /// <returns></returns> public int QueryAllCommentsCount(bool OnlyInUser) { if (OnlyInUser) { Criteria c = new Criteria(CriteriaType.Equals, "State", 1); } return(Assistant.Count <Comments>(null)); }
/// <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); }
/// <summary> /// 页面加载 /// </summary> protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { InitCriteria(); //计算出总记录数 Pager.RecordCount = Assistant.Count <Article>(criteria); } }
/// <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); }
/// <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); }
/// <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); }
//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)); }
/// <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); }
/// <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(""); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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)); }
/// <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); } }
/// <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)); }
/// <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)); } }
/// <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)); }
/// <summary> /// 根据条件获取短信发送历史总数 /// </summary> /// <param name="c">Criteria</param> /// <returns></returns> public int QueryMessageCount(Criteria c) { return(Assistant.Count <ShortMessage>(c)); }
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); }
/// <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)); }
/// <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); }