Exemple #1
0
 /// <summary>
 /// 根据过滤器删除
 /// </summary>
 /// <param name="filter"></param>
 public override void DeleteByFilter(InviteSerialFilter filter)
 {
     using (SqlQuery query = new SqlQuery())
     {
         string condition = BuildCondition(filter, query);
         query.CommandText = "DELETE FROM [bx_InviteSerials] " + (string.IsNullOrEmpty(condition) ? ";" : "WHERE " + condition);
         query.CommandType = CommandType.Text;
         query.ExecuteNonQuery();
     }
 }
Exemple #2
0
 public void DeleteByFilter(AuthUser operatorUser, InviteSerialFilter filter)
 {
     if (operatorUser == User.Guest)
     {
         ThrowError(new NotLoginError());
         return;
     }
     else
     {
         if (!CanManageSerial(operatorUser))
         {
             ThrowError(new NoPermissionManageInviteSerialError());
             return;
         }
     }
     InviteDao.Instance.DeleteByFilter(filter);
 }
Exemple #3
0
        public override InviteSerialCollection GetInviteSerials(int?ownerUserId, InviteSerialFilter filter, int pageNumber, out int totalCount)
        {
            using (SqlQuery query = new SqlQuery())
            {
                string Condition = BuildCondition(filter, query);
                if (ownerUserId != null)
                {
                    Condition += " AND UserID = @OwnerID";
                    query.CreateParameter <int>("@OwnerID", ownerUserId.Value, SqlDbType.Int);
                }



                if (filter.Pagesize < 1)
                {
                    filter.Pagesize = 20;
                }


                query.Pager.SortField   = filter.Order.Value.ToString();
                query.Pager.IsDesc      = filter.IsDesc.Value;
                query.Pager.TableName   = "[bx_InviteSerials]";
                query.Pager.SelectCount = true;
                query.Pager.PageSize    = filter.Pagesize;
                query.Pager.PageNumber  = pageNumber > 0 ? pageNumber : 1;
                query.Pager.Condition   = Condition;
                query.Pager.PrimaryKey  = "[ID]";

                totalCount = 0;
                using (XSqlDataReader reader = query.ExecuteReader())
                {
                    InviteSerialCollection Serials = new InviteSerialCollection(reader);

                    if (reader.NextResult())
                    {
                        if (reader.Read())
                        {
                            totalCount           = reader.GetInt32(0);
                            Serials.TotalRecords = totalCount;
                        }
                    }
                    return(Serials);
                }
            }
        }
        public void InviteSerialList(
            string filter
            , string mode
            , int pageNumber
            , InviteSerialManagerTemplate listItem
            , GlobalTemplateMembers.CommonHeadFootTemplate foot
            , GlobalTemplateMembers.CommonHeadFootTemplate head
            )
        {
            InviteSerialFilter     searchFilter = InviteSerialFilter.GetFromFilter(filter);
            InviteSerialCollection inviteSerials;

            int rowCount;

            if (searchFilter == null)
            {
                searchFilter = new InviteSerialFilter();
            }
            int?owner = null;

            if (string.IsNullOrEmpty(mode) || !mode.Equals("admin", StringComparison.OrdinalIgnoreCase))
            {
                if (searchFilter.Status == null)
                {
                    searchFilter.Status = InviteSerialStatus.Unused;
                }
                owner = User.CurrentID;
            }

            inviteSerials = InviteBO.Instance.GetInviteSerials(User.Current, owner, searchFilter, pageNumber, out rowCount);

            UserBO.Instance.FillSimpleUsers(inviteSerials, 0);

            head.Invoke(new GlobalTemplateMembers.CommonHeadFootTemplateParams(rowCount, searchFilter.Pagesize));
            foreach (InviteSerial s in inviteSerials)
            {
                listItem.Invoke(s);
            }
            foot.Invoke(new GlobalTemplateMembers.CommonHeadFootTemplateParams(rowCount, searchFilter.Pagesize));
        }
Exemple #5
0
        private void DeleteAll()
        {
            InviteSerialFilter filter = InviteSerialFilter.GetFromFilter("filter");

            InviteBO.Instance.DeleteByFilter(My, filter);
        }
Exemple #6
0
        private void SearchInviteSerial()
        {
            InviteSerialFilter filter = InviteSerialFilter.GetFromForm();

            filter.Apply("filter", "page");
        }
Exemple #7
0
 public abstract void DeleteByFilter(InviteSerialFilter filter);
Exemple #8
0
 public abstract InviteSerialCollection GetInviteSerials(int?ownerUserId, InviteSerialFilter filter, int pageNumber, out int totalCount);
Exemple #9
0
        /// <summary>
        /// 过滤器到条件字符
        /// </summary>
        /// <param name="filter"></param>
        /// <param name="query"></param>
        /// <returns></returns>
        private string BuildCondition(InviteSerialFilter filter, SqlQuery query)
        {
            StringBuilder sb = new StringBuilder();

            if (filter.SearchField != null)
            {
                switch (filter.SearchField.Value)
                {
                case InviteSerialSearchField.Serial:
                    sb.Append(" AND Serial LIKE '%'+@Serial+'%'");
                    query.CreateParameter <string>("@Serial", filter.SearchKey, SqlDbType.VarChar, 50);
                    break;

                case InviteSerialSearchField.ToEmail:
                    if (!string.IsNullOrEmpty(filter.SearchKey))
                    {
                        sb.Append(" AND ToEmail LIKE '%'+@ToEmail+'%'");
                        query.CreateParameter <string>("@ToEmail", filter.SearchKey, SqlDbType.VarChar, 200);
                    }
                    break;

                case InviteSerialSearchField.UserID:
                    int userId = 0;
                    int.TryParse(filter.SearchKey, out userId);
                    sb.Append(" AND UserID = @UserID");
                    query.CreateParameter <int>("@UserID", userId, SqlDbType.Int);
                    break;

                case InviteSerialSearchField.Username:
                    if (!string.IsNullOrEmpty(filter.SearchKey))
                    {
                        sb.Append(" AND UserID = (SELECT [UserID] FROM bx_Users WHERE Username = @Username)");
                        query.CreateParameter <string>("@Username", filter.SearchKey, SqlDbType.NVarChar, 50);
                    }
                    break;

                case InviteSerialSearchField.ToUsername:
                    if (!string.IsNullOrEmpty(filter.SearchKey))
                    {
                        sb.Append(" AND ToUserID = (SELECT [UserID] FROM bx_Users WHERE Username = @Username)");
                        query.CreateParameter <string>("@Username", filter.SearchKey, SqlDbType.NVarChar, 50);
                    }
                    break;
                }
            }

            if (false == string.IsNullOrEmpty(filter.Username))
            {
                sb.Append(" AND UserID IN (SELECT UserID From bx_Users WHERE Username LIKE '%'+@Username+'%')");
                query.CreateParameter <string>("@Username", filter.Username, SqlDbType.NVarChar, 50);
            }

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

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

            if (filter.ExpiresDateBegin != null)
            {
                sb.Append(" AND ExpiresDate >= @ExpiresDate1");
                query.CreateParameter <DateTime>("@ExpiresDate1", filter.ExpiresDateBegin.Value, SqlDbType.DateTime);
            }

            if (filter.ExpiresDateEnd != null)
            {
                sb.Append(" AND ExpiresDate <= @ExpiresDate2");
                query.CreateParameter <DateTime>("@ExpiresDate2", filter.ExpiresDateEnd.Value, SqlDbType.DateTime);
            }

            if (filter.Status != null && filter.Status != InviteSerialStatus.All && filter.Status != InviteSerialStatus.Expires)
            {
                sb.Append(" AND [Status] = @Status");
                query.CreateParameter <byte>("@Status", (byte)filter.Status.Value, SqlDbType.TinyInt);
            }
            else if (filter.Status == InviteSerialStatus.Expires)
            {
                sb.Append(" AND Status <> 1 AND ExpiresDate <= GETDATE()");
            }

            if (sb.Length > 0)
            {
                sb.Remove(0, 5);
            }

            return(sb.ToString());
        }
Exemple #10
0
        public override InviteSerialCollection GetInviteSerials(int? ownerUserId, InviteSerialFilter filter, int pageNumber, out int totalCount)
        {
            using (SqlQuery query = new SqlQuery())
            {
                string Condition = BuildCondition(filter, query);
                if (ownerUserId != null)
                {
                    Condition += " AND UserID = @OwnerID";
                    query.CreateParameter<int>("@OwnerID", ownerUserId.Value, SqlDbType.Int);
                }

               


                if (filter.Pagesize < 1) filter.Pagesize = 20;


                query.Pager.SortField = filter.Order.Value.ToString();
                query.Pager.IsDesc = filter.IsDesc.Value;
                query.Pager.TableName = "[bx_InviteSerials]";
                query.Pager.SelectCount = true;
                query.Pager.PageSize = filter.Pagesize;
                query.Pager.PageNumber = pageNumber > 0 ? pageNumber : 1;
                query.Pager.Condition = Condition;
                query.Pager.PrimaryKey = "[ID]";

                totalCount = 0;
                using (XSqlDataReader reader = query.ExecuteReader())
                {
                    InviteSerialCollection Serials = new InviteSerialCollection(reader);

                    if (reader.NextResult())
                    {
                        if (reader.Read())
                        {
                            totalCount = reader.GetInt32(0);
                            Serials.TotalRecords = totalCount;
                        }
                    }
                    return Serials;
                }
            }
        }
Exemple #11
0
 /// <summary>
 /// 根据过滤器删除
 /// </summary>
 /// <param name="filter"></param>
 public override void DeleteByFilter(InviteSerialFilter filter)
 {
     using (SqlQuery query = new SqlQuery())
     {
         string condition = BuildCondition(filter, query);
         query.CommandText = "DELETE FROM [bx_InviteSerials] " + (string.IsNullOrEmpty(condition) ? ";" : "WHERE " + condition);
         query.CommandType = CommandType.Text;
         query.ExecuteNonQuery();
     }
 }
Exemple #12
0
        /// <summary>
        /// 过滤器到条件字符
        /// </summary>
        /// <param name="filter"></param>
        /// <param name="query"></param>
        /// <returns></returns>
        private string BuildCondition(InviteSerialFilter filter, SqlQuery query)
        {
            StringBuilder sb = new StringBuilder();
            if (filter.SearchField != null)
            {
                switch (filter.SearchField.Value)
                {
                    case InviteSerialSearchField.Serial:
                        sb.Append(" AND Serial LIKE '%'+@Serial+'%'");
                        query.CreateParameter<string>("@Serial", filter.SearchKey, SqlDbType.VarChar, 50);
                        break;

                    case InviteSerialSearchField.ToEmail:
                        if (!string.IsNullOrEmpty(filter.SearchKey))
                        {
                            sb.Append(" AND ToEmail LIKE '%'+@ToEmail+'%'");
                            query.CreateParameter<string>("@ToEmail", filter.SearchKey, SqlDbType.VarChar, 200);
                        }
                        break;

                    case InviteSerialSearchField.UserID:
                        int userId = 0;
                        int.TryParse(filter.SearchKey, out userId);
                        sb.Append(" AND UserID = @UserID");
                        query.CreateParameter<int>("@UserID", userId, SqlDbType.Int);
                        break;
                    case InviteSerialSearchField.Username:
                        if (!string.IsNullOrEmpty(filter.SearchKey))
                        {
                            sb.Append(" AND UserID = (SELECT [UserID] FROM bx_Users WHERE Username = @Username)");
                            query.CreateParameter<string>("@Username", filter.SearchKey, SqlDbType.NVarChar, 50);
                        }
                        break;

                    case InviteSerialSearchField.ToUsername:
                        if (!string.IsNullOrEmpty(filter.SearchKey))
                        {
                            sb.Append(" AND ToUserID = (SELECT [UserID] FROM bx_Users WHERE Username = @Username)");
                            query.CreateParameter<string>("@Username", filter.SearchKey, SqlDbType.NVarChar, 50);
                        }
                        break;
                }
            }

            if (false == string.IsNullOrEmpty(filter.Username))
            {
                sb.Append(" AND UserID IN (SELECT UserID From bx_Users WHERE Username LIKE '%'+@Username+'%')");
                query.CreateParameter<string>("@Username", filter.Username, SqlDbType.NVarChar, 50);
            }

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

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

            if (filter.ExpiresDateBegin != null)
            {
                sb.Append(" AND ExpiresDate >= @ExpiresDate1");
                query.CreateParameter<DateTime>("@ExpiresDate1", filter.ExpiresDateBegin.Value, SqlDbType.DateTime);
            }

            if (filter.ExpiresDateEnd != null)
            {
                sb.Append(" AND ExpiresDate <= @ExpiresDate2");
                query.CreateParameter<DateTime>("@ExpiresDate2", filter.ExpiresDateEnd.Value, SqlDbType.DateTime);
            }

            if (filter.Status != null && filter.Status != InviteSerialStatus.All && filter.Status != InviteSerialStatus.Expires)
            {
                sb.Append(" AND [Status] = @Status");
                query.CreateParameter<byte>("@Status", (byte)filter.Status.Value, SqlDbType.TinyInt);
            }
            else if (filter.Status == InviteSerialStatus.Expires)
            {
                sb.Append(" AND Status <> 1 AND ExpiresDate <= GETDATE()");
            }

            if (sb.Length > 0)
                sb.Remove(0, 5);

            return sb.ToString();
        }
        public void InviteSerialList(
              string filter
            , string mode
            , int pageNumber
            , InviteSerialManagerTemplate listItem
            , GlobalTemplateMembers.CommonHeadFootTemplate foot
            , GlobalTemplateMembers.CommonHeadFootTemplate head
            )
        {
            InviteSerialFilter searchFilter = InviteSerialFilter.GetFromFilter(filter);
            InviteSerialCollection inviteSerials;

            int rowCount;
            if (searchFilter == null) searchFilter = new InviteSerialFilter();
            int? owner = null;
            if (string.IsNullOrEmpty(mode) || !mode.Equals("admin", StringComparison.OrdinalIgnoreCase))
            {
                if (searchFilter.Status == null)
                {
                    searchFilter.Status = InviteSerialStatus.Unused;
                }
                owner =User.CurrentID;
            }

            inviteSerials = InviteBO.Instance.GetInviteSerials(User.Current, owner,searchFilter, pageNumber, out rowCount);

            UserBO.Instance.FillSimpleUsers(inviteSerials, 0);

            head.Invoke(new GlobalTemplateMembers.CommonHeadFootTemplateParams(rowCount, searchFilter.Pagesize));
            foreach (InviteSerial s in inviteSerials)
            {
                listItem.Invoke(s);
            }
            foot.Invoke(new GlobalTemplateMembers.CommonHeadFootTemplateParams(rowCount, searchFilter.Pagesize));
        }
Exemple #14
0
 /// <summary>
 /// 获取邀请码列表
 /// </summary>
 public InviteSerialCollection GetInviteSerials(AuthUser operatorUser, int?ownerUserId, InviteSerialFilter filter, int pageNumber, out int totalCount)
 {
     totalCount = 0;
     if (operatorUser == User.Guest)
     {
         ThrowError(new NotLoginError());
         return(new InviteSerialCollection());
     }
     if (operatorUser.UserID != ownerUserId)
     {
         if (!CanManageSerial(operatorUser))
         {
             ThrowError(new NoPermissionManageInviteSerialError());
             return(new InviteSerialCollection());
         }
     }
     return(InviteDao.Instance.GetInviteSerials(ownerUserId, filter, pageNumber, out totalCount));
 }