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


    user_books_info 类

    namespace CiWong.LearningLevel.Mapping
    {
        public class user_books_info
        {
            /// <summary>
            /// 使用对象ID,个人版存放会员ID,班级版存放班级ID,校园版存放校园ID
            /// </summary>
            public long user_id { get; set; }
    
            /// <summary>
            /// 购买类型(1=个人版,2=班级版,3=学校版)
            /// </summary>
            public Int16 purchase_type { get; set; }
    
            /// <summary>
            /// 题册ID
            /// </summary>
            public long book_id { get; set; }
    
            /// <summary>
            /// 课本名称
            /// </summary>
            public string book_name { get; set; }
    
            /// <summary>
            /// 课本封面
            /// </summary>
            public string book_cover { get; set; }
    
            /// <summary>
            /// 使用对象名称
            /// </summary>
            public string user_name { get; set; }
    
            /// <summary>
            /// 使用类型(0=试用,1=已购买,2=赠送,3=校本课程)
            /// </summary>
            public int use_mode { get; set; }
    
            /// <summary>
            /// 添加时间
            /// </summary>
            public DateTime create_time { get; set; }
    
            /// <summary>
            /// 首次购买时间
            /// </summary>
            public DateTime bourght_time { get; set; }
    
            /// <summary>
            /// 最后一次续费时间
            /// </summary>
            public DateTime last_paid_time { get; set; }
    
            /// <summary>
            /// 过期时间
            /// </summary>
            public DateTime expire_date { get; set; }
    
        }
    }
    

      

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

    /// <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<>)

      

            /// <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,控制器

       

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

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

       

            /// <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<>)

        

            /// <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,控制器

         

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

      

  • 相关阅读:
    设置元素等待.py
    javaWeb服务详解(含源代码,测试通过,注释)
    com.sun.istack.SAXException2: 在对象图中检测到循环。这将产生无限深的 XML
    com.sun.istack.SAXException2: 在对象图中检测到循环。这将产生无限深的 XML
    No services have been found解决方案
    No services have been found解决方案
    JavaMail给QQ邮箱发邮件报错,没有SSL加密
    JavaMail给QQ邮箱发邮件报错,没有SSL加密
    JavaMail给QQ邮箱发邮件报错
    JavaMail给QQ邮箱发邮件报错
  • 原文地址:https://www.cnblogs.com/Aamir-Ye/p/4680747.html
Copyright © 2020-2023  润新知