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

  

MVC常见的控制器,接口,数据层之间的操作的更多相关文章

  1. 【ASP.NET MVC系列】浅谈ASP.NET MVC 视图与控制器传递数据

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

  2. ASP.NET MVC中的控制器激活与反射之间的联系(帮助理解)

    ASP.NET Mvc是ASP.NET的一个框架,同样也是基于管道的设计结构.HttpModule和HttpHandler是ASP.NET的两个重要组件,同样的在Mvc中也是非常重要的组件.在应用程序 ...

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

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

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

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

  5. ASP.NET MVC之从控制器传递数据到视图方式

    为了演示,先定义一个类 新建基本项目在Models文件夹下定义如下类: public class Person { public int Id { get; set; } public string ...

  6. 【开源】OSharp框架解说系列(5.1):EntityFramework数据层设计

    OSharp是什么? OSharp是个快速开发框架,但不是一个大而全的包罗万象的框架,严格的说,OSharp中什么都没有实现.与其他大而全的框架最大的不同点,就是OSharp只做抽象封装,不做实现.依 ...

  7. 【ASP.NET MVC系列】浅谈数据注解和验证

    [ASP.NET MVC系列]浅谈数据注解和验证   [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google C ...

  8. 使用Postman轻松实现接口数据关联

    Postman Postman是一款非常流行的HTTP(s)接口测试工具,入门简单,界面美观,功能强大.作为一个测试/开发工程师,这是一款必须要会用的工具.今天以一个实际的案例,来介绍下Postman ...

  9. 【ASP.NET MVC系列】浅谈Google Chrome浏览器(操作篇)(下)

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

随机推荐

  1. 使用Blend的一些问题

    原文:使用Blend的一些问题 WPF开发,界面处理首选Blend,如果你开发了两年WPF都没接触过blend(当然这种几率不高),或者你刚接触WPF,可以考虑使用Blend,这货也算得上一个神器,上 ...

  2. linux旁边flv注射MetaData工具

    1,yamdi 官方网站:http://yamdi.sourceforge.net/                   下载链接:http://sourceforge.net/projects/ya ...

  3. 浅谈 js 数字格式类型

    原文:浅谈 js 数字格式类型 很多人也许只知道 ,123.456,0xff 之类的数字格式.其实 js 格式还有很多数字格式类型,比如 1., .1 这样的,也有 .1e2 这样的. 可能有人说这是 ...

  4. JavaEE(1) - Weblogic 服务器管理的数据源

    JBoss下载: http://jbossas.jboss.org/downloads http://www.cnblogs.com/xw-cnblogs/articles/2439969.html ...

  5. java编程接口(5) ------ button和button组

    这篇文章是由自己的学习笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020 了解了布局管理器和Swing事件模型,那么剩下的就是Swing 的各个组件了 ...

  6. Swift # Apple Pay集成

    苹果正式开放了Apple Pay支付系统.Apple Pay是一个基于NFC的支付系统,不久将被数以万计的线下零售商店予以支持.即便这项科技并不是彻底的突破性进展,但它足以推动许多公司和零售商来支持这 ...

  7. cocos2d-x 移植android竖,横屏设置

    AndroidManifest.xml于android:screenOrientation现场控制屏幕方向,默认为横屏 android:screenOrientation="landscap ...

  8. HDU1342 Lotto 【深搜】

    Lotto Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  9. ORACLE经常使用的命令

    一个.ORACLE启动和关机 1.在独立环境中 要启用或禁用ORACLE该系统必须切换到ORACLE用户,例如以下 su-oracle a.启动ORACLE系统 oracle>svrmgrl S ...

  10. GIMP也疯狂之动态图的制作(二)

    首先看下效果: (素材丢失,无法提供) 所用工具:GIMP.GIMP-GAP(在源中直接搜索安装) 文后会添加一个从U2B上搬运过来的视频教程,效果不错,值得一看本想也制作个人物变换,但几次实验,相同 ...