MVC常见的控制器,接口,数据层之间的操作

user_books_info 类

  

 

1,数据操作层(List<>)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/// <summary>
        /// 获取我购买的书籍
        /// </summary>
        /// <param name="userID"></param>
        /// <param name="pageIndex">页码</param>
        /// <param name="pageSize">条数</param>
        /// <returns></returns>
        public List<user_books_info> UserBookInfoGetByUserID(int userID, int pageIndex, int pageSize)
        {
            List<user_books_info> bookList = new List<user_books_info>();
            string sql = @"CALL learn_user_books_info_getbyuserid(@UserID,@pageIndex,@pageSize);";
            MySqlParameter[] para = new MySqlParameter[]                                   
            
                 new MySqlParameter("@UserID", userID),
                 new MySqlParameter("@pageIndex", pageIndex),
                 new MySqlParameter("@pageSize", pageSize)
             };
            using (var dr = MySqlHelper.ExecuteReader(DatabaseManager.Retrieve("wc_learninglevel_read"), sql, para))
            {
                while (dr.Read())
                {
                    var bookInfo = new user_books_info();
                    bookInfo.user_id = dr.GetInt32("user_id");
                    bookInfo.purchase_type = dr.GetInt16("purchase_type");
                    bookInfo.book_id = dr.GetInt64("book_id");
                    bookInfo.book_name = dr.GetString("book_name");
                    bookInfo.book_cover = dr.GetString("book_cover");
                    bookInfo.user_name = dr.GetString("user_name");
                    bookInfo.use_mode = dr.GetInt32("use_mode");
                    bookInfo.create_time = dr.GetDateTime("create_time");
                    bookInfo.bourght_time = dr.GetDateTime("bourght_time");
                    //bookInfo.last_paid_time = dr.GetDateTime("last_paid_time");
                    bookInfo.expire_date = dr.GetDateTime("expire_date");
                    bookList.Add(bookInfo);
                }
                dr.Close();
            }
            return bookList;
        }

  

2,数据调用接口层(List<>)

  

1
2
3
4
5
6
7
8
/// <summary>
/// 获取我购买的书籍
/// </summary>
/// <param name="userID"></param>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">条数</param>
/// <returns></returns>
List<user_books_info> UserBookInfoGetByUserID(int userID, int pageIndex, int pageSize);   

  

3,控制器

   

1
ViewBag.UserLearns = this._Repository.UserBookInfoGetByUserID(userID, 1, 11);//购买的书籍

 

A, 数据操作层(IEnumerable<>)

   

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/// <summary>
/// 获取文章列表
/// </summary>
/// <param name="userID">用户ID</param>
/// <param name="totalItem">总数据量</param>
/// <param name="pageIndex">当前页</param>
/// <param name="pageSize">每页数量</param>
/// <param name="IsDelete">删除状态</param>
/// <returns></returns>
public IEnumerable<BlogContent> GetBlogContents(int userID, ref int totalItem, int pageIndex = 1, int pageSize = 20, bool IsFriend = false, bool IsManager = false)
{
    List<BlogContent> _list = new List<BlogContent>();
    MySqlConnection conn = new MySqlConnection(ConnectionString);
    MySqlDataReader dr = null;
    try
    {
        conn.Open();
        totalItem = Convert.ToInt32(MySqlHelper.ExecuteScalar(conn, string.Format("SELECT COUNT(0) FROM BlogContent WHERE uid=@uid AND IsDelete=0 AND IsPublished=1 {0}", IsManager ? string.Empty : IsFriend ? "AND IsPublic<=1" : "AND IsPublic=0"),
                                    new MySqlParameter("@uid", userID)));
        if (totalItem > 0)
        {
            string sql = @"SELECT Id,CateId,Title,Intro,Published,Created,
                           ViewNums,CopNums,IsPublic,IsTop,IsPublished,
                           Iscopied,OriginID,uid,OrignAccountId,OriginAccountName,Flowers FROM BlogContent
                           WHERE uid=@uid AND IsDelete=0 AND IsPublished=1 {0}
                           ORDER BY IsTop DESC,Id DESC LIMIT @Begin,@Size";
            dr = MySqlHelper.ExecuteReader(conn, string.Format(sql, IsManager ? string.Empty : IsFriend ? "AND IsPublic<=1" : "AND IsPublic=0"),
                        new MySqlParameter("@uid", userID),
                        new MySqlParameter("@Begin", (pageIndex - 1) * pageSize),
                        new MySqlParameter("@Size", pageSize));
            while (dr.Read())
            {
                _list.Add(new BlogContent()
                {
                    Id = dr.GetInt64(0),
                    CateId = dr.GetInt64(1),
                    Title = dr.GetString(2),
                    Intro = dr.GetString(3),
                    Published = dr.GetDateTime(4),
                    Created = dr.GetDateTime(5),
                    ViewNums = dr.GetInt32(6),
                    CopNums = dr.GetInt32(7),
                    IsPublic = dr.GetByte(8),
                    IsTop = dr.GetBoolean(9),
                    IsPublished = dr.GetBoolean(10),
                    Iscopied = dr.GetBoolean(11),
                    OriginID = dr.GetInt64(12),
                    uid = dr.GetInt32(13),
                    OrignAccountId = dr.GetInt32(14),
                    OriginAccountName = dr.GetString(15),
                    Flower = dr.GetInt32(16)
                });
            }
        }
    }
    catch (MySqlException e)
    {
        throw e;
    }
    finally
    {
        if (null != dr) dr.Close();
        conn.Close();
    }
    return _list;
}

 

B,数据操作接口层(IEnumerable<>)

    

1
2
3
4
5
6
7
8
9
10
/// <summary>
/// 获取文章列表
/// </summary>
/// <param name="userID">用户ID集合</param>
/// <param name="totalItem">总数据量</param>
/// <param name="pageIndex">当前页</param>
/// <param name="pageSize">每页数量</param>
/// <param name="IsDelete">删除状态</param>
/// <returns></returns>
IEnumerable<BlogContent> GetBlogContents(List<int> userIDs, ref int totalItem, int pageIndex = 1, int pageSize = 20, bool IsFriend = false, bool IsManager = false);

  

C,控制器

     

1
var blogs1 = _blogManager.GetBlogContents(zone.UserID, ref totalItem, page, 10).ToList();

  

posted @   逊老头  阅读(635)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示