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 BlogContentWHERE 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();

  

转载于:https://www.cnblogs.com/Aamir-Ye/p/4680747.html

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

  1. ASP.NET MVC之从控制器传递数据到视图四种方式(一)

    前言 本系列开始着手讲述ASP.NET MVC,也算是自己对基础的回顾以及进一步深入学习,保证每天发表一篇该系列文章,关于基本知识则不再叙述,园子有关文章不胜枚举,这一系列若有叙述不当或错误之处,欢迎 ...

  2. 控制层远程调用业务层_如何应用数据访问服务层分离系统中的业务层和持久层之间耦合关系...

    软件项目实训及课程设计指导--如何应用数据访问服务层分离业务层和持久层之间耦合关系 作者已经在本系列文章<软件项目实训及课程设计指导--如何正确地设计J2EE应用系统持久层中的各个组件结构及关系 ...

  3. PHP:使用curl请求聚合支付的驾考宝典题库接口数据, 并渲染到页面上;composer 常用的指令;mvc pathinfo 路由映射实现

    PHP:使用curl请求聚合支付的驾考宝典题库接口数据, 并渲染到页面上;composer 常用的指令;mvc pathinfo 路由映射实现 一. API 基础知识 url 的相关知识 1.1 一切 ...

  4. 一步一步教你使用AgileEAS.NET基础类库进行应用开发-基础篇-基于接口驱动的数据层...

    系列回顾 在前面的文章中,我用了大量的篇幅对UDA及ORM的使用进行了讲解和演示,我们已经知道并熟悉的使用UDA和ORM构建简单的应用,AgileEAS.NET在应用的纵向结构上建议使用分层结构,提出 ...

  5. CAN 协议控制器和物理总线之间的接口芯片SIT1040T 高速 CAN 总线收发器

    CAN 协议控制器和物理总线之间的接口芯片SIT1040T 高速 CAN 总线收发器 CAN是最新进的现场总线,灵活性好,通讯可靠性高,抗干扰能力强,超长通信距离等优点,110个节点,兼带CAN-FD ...

  6. 使用jQuery.Ajax向ASP.NET MVC控制器Post数据

    jQuery自带了Ajax的函数,你可以使用它从远程服务器下载网页,但问题是,大部分Ajax都是通过GET这种方式与远程服务器交互的. 但如果你想通过Ajax向远程服务器传递数据呢?当然jQuery. ...

  7. ASP.NET MVC 5 学习教程:控制器传递数据给视图

    起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过控制器访问模型的数据 生成的代码详解 使用 SQL Se ...

  8. SIT1040 是一款应用于 CAN 协议控制器和物理总线之间的接口芯片

    SIT1040 是一款应用于 CAN 协议控制器和物理总线之间的接口芯片,可应用于卡车.公交. 小汽车.工业控制等领域,速率可达到 1Mbps,具有在总线与 CAN 协议控制器之间进行差分信 号传输的 ...

  9. mvc控制器接收数据的两种方法

    一.mvc控制器接收数据的两种方法 A方法: public ActionResult ProcessAdd() { string username=Request["UserName&quo ...

最新文章

  1. Redis设计于实现之字典
  2. Android Activity 提示[No Launcher activity found!]
  3. [引]生成加密和解密的密钥
  4. linux的系统移植——uboot常用命令
  5. bootstrap 导航菜单 折叠位置_python测试开发django44.xadmin自定义菜单项
  6. 参数估计_状态估计的基本概念(1)参数估计问题
  7. oracle 500,500 OOPS: cannot change directory问题
  8. 关于vue中next和Tick(nextTick)的一点理解
  9. Hibernate的双向N-N关联(六)
  10. 快速开发和设计的8个黄金法则
  11. 深入浅出Dubbo剖析出视频教程了!!!
  12. 图像处理之调整对比度
  13. bim软件32位计算机条件,哪些bim软件能在在win732位上运行?
  14. ubuntu 16.04 插入耳机没有声音
  15. 批处理版MPlayer播放器(甲兵时代原创批处理)(下)
  16. 说明书丨亲和纯化驴抗绵羊IgG(H+L)二抗
  17. 高考试题管理系统出题模块——C语言课程设计
  18. B站直播的自研P2P实践 | 助力S12英雄联盟总决赛
  19. python 中文分词工具
  20. gist feature

热门文章

  1. “Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supported“解决方法
  2. [react] 说说Context有哪些属性?
  3. 前端学习(2760):image基本使用
  4. 前端学习(2709):重读vue电商网站29之左侧菜单栏
  5. 工作184:自定义事件
  6. 前端学习(2345):uniapp学习
  7. 前端学习(2185):tabberitem的颜色动态
  8. 前端学习(169):无语义元素
  9. spring学习(32):使用junit4测试
  10. spring学习(3):获取bean对象