public static List <BSPost> GetPosts(PostTypes postType, PostVisibleTypes postVisibleType, FileTypes fileType, int postCount)
    {
        List <BSPost> posts = new List <BSPost>();

        using (DataProcess dp = new DataProcess())
        {
            dp.AddParameter("Type", (short)postType);

            if (postVisibleType != PostVisibleTypes.All)
            {
                if (fileType != FileTypes.All)
                {
                    dp.AddParameter("State", (short)postVisibleType);
                    dp.AddParameter("Show", (short)fileType);
                    dp.ExecuteReader(String.Format("SELECT {0} * FROM Posts WHERE [Type]=@Type AND [State]=@State AND [Show]=@Show ORDER By [CreateDate] DESC,[Title]"
                                                   , postCount == 0 ? String.Empty : "TOP " + postCount));
                }
                else
                {
                    dp.AddParameter("State", (short)postVisibleType);
                    dp.ExecuteReader(String.Format("SELECT {0} * FROM Posts WHERE [Type]=@Type AND [State]=@State ORDER By [CreateDate] DESC,[Title]"
                                                   , postCount == 0 ? String.Empty : "TOP " + postCount));
                }
            }
            else
            {
                if (fileType != FileTypes.All)
                {
                    dp.AddParameter("Show", (short)fileType);
                    dp.ExecuteReader(String.Format("SELECT {0} * FROM Posts WHERE [Type]=@Type AND [Show]=@Show ORDER By [CreateDate] DESC,[Title]"
                                                   , postCount == 0 ? String.Empty : "TOP " + postCount));
                }
                else
                {
                    dp.ExecuteReader(String.Format("SELECT {0} * FROM Posts WHERE [Type]=@Type ORDER By [CreateDate] DESC,[Title]"
                                                   , postCount == 0 ? String.Empty : "TOP " + postCount));
                }
            }


            if (dp.Return.Status == DataProcessState.Success)
            {
                using (IDataReader dr = dp.Return.Value as IDataReader)
                {
                    while (dr != null && dr.Read())
                    {
                        BSPost bsPost = new BSPost();
                        FillPost(dr, bsPost);
                        posts.Add(bsPost);
                    }
                }
            }
        }
        return(posts);
    }
Exemple #2
0
    public static List<BSPost> GetPosts(PostTypes postType, PostVisibleTypes postVisibleType, FileTypes fileType, int postCount)
    {
        List<BSPost> posts = new List<BSPost>();
        using (DataProcess dp = new DataProcess())
        {
            dp.AddParameter("Type", (short)postType);

            if (postVisibleType != PostVisibleTypes.All)
            {
                if (fileType != FileTypes.All)
                {
                    dp.AddParameter("State", (short)postVisibleType);
                    dp.AddParameter("Show", (short)fileType);
                    dp.ExecuteReader(String.Format("SELECT {0} * FROM Posts WHERE [Type]=@Type AND [State]=@State AND [Show]=@Show ORDER By [CreateDate] DESC,[Title]"
                        , postCount == 0 ? String.Empty : "TOP " + postCount));
                }
                else
                {
                    dp.AddParameter("State", (short)postVisibleType);
                    dp.ExecuteReader(String.Format("SELECT {0} * FROM Posts WHERE [Type]=@Type AND [State]=@State ORDER By [CreateDate] DESC,[Title]"
                        , postCount == 0 ? String.Empty : "TOP " + postCount));
                }
            }
            else
            {
                if (fileType != FileTypes.All)
                {
                    dp.AddParameter("Show", (short)fileType);
                    dp.ExecuteReader(String.Format("SELECT {0} * FROM Posts WHERE [Type]=@Type AND [Show]=@Show ORDER By [CreateDate] DESC,[Title]"
                    , postCount == 0 ? String.Empty : "TOP " + postCount));
                }
                else
                {
                    dp.ExecuteReader(String.Format("SELECT {0} * FROM Posts WHERE [Type]=@Type ORDER By [CreateDate] DESC,[Title]"
                    , postCount == 0 ? String.Empty : "TOP " + postCount));
                }
            }

            if (dp.Return.Status == DataProcessState.Success)
            {
                using (IDataReader dr = dp.Return.Value as IDataReader)
                {
                    while (dr != null && dr.Read())
                    {
                        BSPost bsPost = new BSPost();
                        FillPost(dr, bsPost);
                        posts.Add(bsPost);
                    }
                }
            }
        }
        return posts;
    }